41 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
 | 
						|
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");
 |