]> git.ipfire.org Git - thirdparty/u-boot.git/blob - doc/README.gpio
Merge tag 'dm-pull-30may20' of https://gitlab.denx.de/u-boot/custodians/u-boot-dm
[thirdparty/u-boot.git] / doc / README.gpio
1
2 GPIO hog (CONFIG_GPIO_HOG)
3 --------
4
5 All the GPIO hog are initialized in gpio_hog_probe_all() function called in
6 board_r.c just before board_late_init() but you can also acces directly to
7 the gpio with gpio_hog_lookup_name().
8
9
10 Example, 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
31 You 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");