GPIO hog (CONFIG_GPIO_HOG) | |
-------- | |
All the GPIO hog are initialized using DM_FLAG_PROBE_AFTER_BIND DM flag | |
after bind(). | |
Example, for the device tree: | |
tca6416@20 { | |
compatible = "ti,tca6416"; | |
reg = <0x20>; | |
#gpio-cells = <2>; | |
gpio-controller; | |
env_reset { | |
gpio-hog; | |
input; | |
gpios = <6 GPIO_ACTIVE_LOW>; | |
}; | |
boot_rescue { | |
gpio-hog; | |
input; | |
line-name = "foo-bar-gpio"; | |
gpios = <7 GPIO_ACTIVE_LOW>; | |
}; | |
}; | |
You can than access the gpio in your board code with: | |
struct gpio_desc *desc; | |
int ret; | |
ret = gpio_hog_lookup_name("boot_rescue", &desc); | |
if (ret) | |
return; | |
if (dm_gpio_get_value(desc) == 1) | |
printf("\nBooting into Rescue System\n"); | |
else if (dm_gpio_get_value(desc) == 0) | |
printf("\nBoot normal\n"); |