blob: 548ff37b8cc719211b6a8e4732c22bff3b2fdbdf [file] [log] [blame]
Patrick Delaunayf64eb642020-01-13 11:35:10 +01001
2GPIO hog (CONFIG_GPIO_HOG)
3--------
4
5All the GPIO hog are initialized in gpio_hog_probe_all() function called in
6board_r.c just before board_late_init() but you can also acces directly to
7the gpio with gpio_hog_lookup_name().
8
9
10Example, for the device tree:
11
12 tca6416@20 {
13 compatible = "ti,tca6416";
14 reg = <0x20>;
15 #gpio-cells = <2>;
16 gpio-controller;
17
18 env_reset {
19 gpio-hog;
20 input;
21 gpios = <6 GPIO_ACTIVE_LOW>;
22 };
23 boot_rescue {
24 gpio-hog;
25 input;
26 line-name = "foo-bar-gpio";
27 gpios = <7 GPIO_ACTIVE_LOW>;
28 };
29 };
30
31You can than access the gpio in your board code with:
32
33 struct gpio_desc *desc;
34 int ret;
35
36 ret = gpio_hog_lookup_name("boot_rescue", &desc);
37 if (ret)
38 return;
39 if (dm_gpio_get_value(desc) == 1)
40 printf("\nBooting into Rescue System\n");
41 else if (dm_gpio_get_value(desc) == 0)
42 printf("\nBoot normal\n");