uboot - Device tree binding and dm_gpio_lookup_name("x",&desc)

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

uboot - Device tree binding and dm_gpio_lookup_name("x",&desc)

跳至解决方案
754 次查看
DavidFlir
Contributor III

For an imx91 based project I am stuck with defining my first GPIO as output.

I have read several posts where examples towards the device trees are explained but I am still getting the `-22` return value.

Defined in device tree:

	gpio_reset: gpio-reset {
		compatible = "gpio-reset";
		pinctrl-names = "default";
		reset-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
		status = "okay";
		label = "RSTO";
		gpio-name = "RSTO";
		line-name = "RSTO";
        };

Here I tried adding label,gpio-name and line-name. Not sure which one is needed.


Then in function

static void board_gpio_init(void){
	struct gpio_desc desc;
	int ret;

	/* De-assert RSTO */
	ret = dm_gpio_lookup_name("RSTO", &desc);
	if (ret) {
		printf("%s lookup 'RSTO' failed ret = %d\n", __func__, ret);
		return;
	}
...
}

This always returns -22 and it's the first pin to look up.



Then I thought let's try a proven example code based on leds,

	gpio-leds {
		compatible = "gpio-leds";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_gpio_led>;

		led-0 {
			gpios = <&gpio3 26 GPIO_ACTIVE_HIGH>;
			default-state = "on";
		};
		led-1 {
			gpios = <&gpio3 27 GPIO_ACTIVE_HIGH>;
			default-state = "on";
		};

	};

Then
	ret = dm_gpio_lookup_name("led-1", &desc);

also returns -22
标记 (2)
0 项奖励
回复
1 解答
710 次查看
danielchen
NXP TechSupport
NXP TechSupport

HI @DavidFlir 

I would suggest you refer to the function in gpio-uclass.c

danielchen_0-1754466845499.png

 

Regards

Daniel

在原帖中查看解决方案

5 回复数
740 次查看
DavidFlir
Contributor III

I did find a missing _defconfig setting called 

CONFIG_IMX_RGPIO2P=y
 
with this setting I am able to do a succesful
ret = dm_gpio_lookup_name("gpio1_8", &desc);

But I still did not figure out how I can use the names defined in the .dts file instead of this gpio1_8.
`
0 项奖励
回复
719 次查看
danielchen
NXP TechSupport
NXP TechSupport

Hi David:

The dm_gpio_lookup_name() function does not parse gpio-name, or line-name from the device tree. It only understands the format "gpioX_Y" where

X is the GPIO controller

Y is the pin number.

 

If you are working in the Linux Kernel (not U-BOOT), you can use

struct gpio_desc *rst_gpio;
rst_gpio = devm_gpiod_get(&pdev->dev, "reset", GPIOD_OUT_LOW);

 

And define in DTS

reset-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
gpio-names = "reset";

 

Regards

Daniel

0 项奖励
回复
713 次查看
DavidFlir
Contributor III

Thanks for reply!

I did notice this example:

https://github.com/nxp-imx/uboot-imx/blob/9383f8387dc76524524da69992db96c22195a57c/board/freescale/i...

ret = dm_gpio_lookup_name("adp5585-gpio4", &exp_sel_desc);
this seems to be another allowed format besides "gpioX_Y"
 
It's defined as
	adp5585: io-expander@34 {
		compatible = "adi,adp5585-00", "adi,adp5585";
		reg = <0x34>;
		#gpio-cells = <2>;
		gpio-controller;
		#pwm-cells = <3>;
		gpio-reserved-ranges = <5 1>;

		exp-sel-hog {
			gpio-hog;
			gpios = <4 GPIO_ACTIVE_HIGH>;
			output-low;
		};

So how can I check how the syntax should be? for instance: is it connecting with a ''_" or "-"... ?

0 项奖励
回复
711 次查看
danielchen
NXP TechSupport
NXP TechSupport

HI @DavidFlir 

I would suggest you refer to the function in gpio-uclass.c

danielchen_0-1754466845499.png

 

Regards

Daniel

708 次查看
DavidFlir
Contributor III

Ok so finding out which ports are actual available just requires a print like,

		len = uc_priv->bank_name ? strlen(uc_priv->bank_name) : 0;
		printf("%s: lookup %s\n", __func__,uc_priv->bank_name);
		if (!strncasecmp(name, uc_priv->bank_name, len)) {

And then I get to see the available&correct names on my console!

file location is `uboot/drivers/gpio/gpio-uclass.c`

%3CLINGO-SUB%20id%3D%22lingo-sub-2146091%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3Euboot-%E8%AE%BE%E5%A4%87%E6%A0%91%E7%BB%91%E5%AE%9A%E5%92%8C%20dm_gpio_lookup_name%20(%22%20x%20%22%2C%20%26amp%3B%20desc)%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2146091%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%9C%A8%E5%9F%BA%E4%BA%8E%20imx91%20%E7%9A%84%E9%A1%B9%E7%9B%AE%E4%B8%AD%EF%BC%8C%E6%88%91%E5%8F%AA%E8%83%BD%E5%B0%86%E7%AC%AC%E4%B8%80%E4%B8%AA%20GPIO%20%E5%AE%9A%E4%B9%89%E4%B8%BA%E8%BE%93%E5%87%BA%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E6%88%91%E5%B7%B2%E7%BB%8F%E9%98%85%E8%AF%BB%E4%BA%86%E5%87%A0%E7%AF%87%E6%96%87%E7%AB%A0%EF%BC%8C%E5%85%B6%E4%B8%AD%E8%A7%A3%E9%87%8A%E4%BA%86%E8%AE%BE%E5%A4%87%E6%A0%91%E7%9A%84%E7%A4%BA%E4%BE%8B%EF%BC%8C%E4%BD%86%E6%88%91%E4%BB%8D%E7%84%B6%E5%BE%97%E5%88%B0%E4%BA%86%20%60-22%60%20%E7%9A%84%E8%BF%94%E5%9B%9E%E5%80%BC%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E5%9C%A8%E8%AE%BE%E5%A4%87%E6%A0%91%E4%B8%AD%E5%AE%9A%E4%B9%89%EF%BC%9A%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-css%22%3E%3CCODE%20translate%3D%22no%22%3E%09gpio_reset%3A%20gpio-reset%20%7B%0A%09%09compatible%20%3D%20%22gpio-reset%22%3B%0A%09%09pinctrl-names%20%3D%20%22default%22%3B%0A%09%09reset-gpios%20%3D%20%26lt%3B%26amp%3Bgpio1%208%20GPIO_ACTIVE_LOW%26gt%3B%3B%0A%09%09status%20%3D%20%22okay%22%3B%0A%09%09label%20%3D%20%22RSTO%22%3B%0A%09%09gpio-name%20%3D%20%22RSTO%22%3B%0A%09%09line-name%20%3D%20%22RSTO%22%3B%0A%20%20%20%20%20%20%20%20%7D%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%E5%9C%A8%E8%BF%99%E9%87%8C%EF%BC%8C%E6%88%91%E5%B0%9D%E8%AF%95%E6%B7%BB%E5%8A%A0%E6%A0%87%E7%AD%BE%E3%80%81gpio%20%E5%90%8D%E7%A7%B0%E5%92%8C%E7%BA%BF%E8%B7%AF%E5%90%8D%E7%A7%B0%E3%80%82%E4%B8%8D%E7%9F%A5%E9%81%93%E9%9C%80%E8%A6%81%E5%93%AA%E4%B8%80%E4%B8%AA%E3%80%82%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E%E9%82%A3%E4%B9%88%E5%9C%A8%E5%87%BD%E6%95%B0%E4%B8%AD%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-cpp%22%3E%3CCODE%20translate%3D%22no%22%3Estatic%20void%20board_gpio_init(void)%7B%0A%09struct%20gpio_desc%20desc%3B%0A%09int%20ret%3B%0A%0A%09%2F*%20De-assert%20RSTO%20*%2F%0A%09ret%20%3D%20dm_gpio_lookup_name(%22RSTO%22%2C%20%26amp%3Bdesc)%3B%0A%09if%20(ret)%20%7B%0A%09%09printf(%22%25s%20lookup%20'RSTO'%20failed%20ret%20%3D%20%25d%5Cn%22%2C%20__func__%2C%20ret)%3B%0A%09%09return%3B%0A%09%7D%0A...%0A%7D%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%E8%BF%94%E5%9B%9E%E5%80%BC%E6%80%BB%E6%98%AF%20-22%EF%BC%8C%E8%BF%99%E6%98%AF%E7%AC%AC%E4%B8%80%E4%B8%AA%E8%A6%81%E6%9F%A5%E6%89%BE%E7%9A%84%E9%92%88%E8%84%9A%E3%80%82%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3CP%3E%E7%84%B6%E5%90%8E%E6%88%91%E6%83%B3%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E8%AF%95%E8%AF%95%E5%9F%BA%E4%BA%8E%20LED%20%E7%9A%84%E6%88%90%E7%86%9F%E7%A4%BA%E4%BE%8B%E4%BB%A3%E7%A0%81%E3%80%81%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-css%22%3E%3CCODE%20translate%3D%22no%22%3E%09gpio-leds%20%7B%0A%09%09compatible%20%3D%20%22gpio-leds%22%3B%0A%09%09pinctrl-names%20%3D%20%22default%22%3B%0A%09%09pinctrl-0%20%3D%20%26lt%3B%26amp%3Bpinctrl_gpio_led%26gt%3B%3B%0A%0A%09%09led-0%20%7B%0A%09%09%09gpios%20%3D%20%26lt%3B%26amp%3Bgpio3%2026%20GPIO_ACTIVE_HIGH%26gt%3B%3B%0A%09%09%09default-state%20%3D%20%22on%22%3B%0A%09%09%7D%3B%0A%09%09led-1%20%7B%0A%09%09%09gpios%20%3D%20%26lt%3B%26amp%3Bgpio3%2027%20GPIO_ACTIVE_HIGH%26gt%3B%3B%0A%09%09%09default-state%20%3D%20%22on%22%3B%0A%09%09%7D%3B%0A%0A%09%7D%3B%0A%0AThen%0A%09ret%20%3D%20dm_gpio_lookup_name(%22led-1%22%2C%20%26amp%3Bdesc)%3B%0A%0Aalso%20returns%20-22%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2147466%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20uboot%20-%20Device%20tree%20binding%20and%20dm_gpio_lookup_name(%22x%22%2C%26amp%3Bdesc)%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2147466%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%A5%BD%E4%BA%86%EF%BC%8C%E8%A6%81%E6%89%BE%E5%87%BA%E5%93%AA%E4%BA%9B%E7%AB%AF%E5%8F%A3%E6%98%AF%E5%AE%9E%E9%99%85%E5%8F%AF%E7%94%A8%E7%9A%84%EF%BC%8C%E5%8F%AA%E9%9C%80%E5%83%8F%E6%89%93%E5%8D%B0%E4%B8%80%E6%A0%B7%E6%89%93%E5%8D%B0%E5%8D%B3%E5%8F%AF%E3%80%81%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%20translate%3D%22no%22%3E%09%09len%20%3D%20uc_priv-%26gt%3Bbank_name%20%3F%20strlen(uc_priv-%26gt%3Bbank_name)%20%3A%200%3B%0A%09%09printf(%22%25s%3A%20lookup%20%25s%5Cn%22%2C%20__func__%2Cuc_priv-%26gt%3Bbank_name)%3B%0A%09%09if%20(!strncasecmp(name%2C%20uc_priv-%26gt%3Bbank_name%2C%20len))%20%7B%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%E7%84%B6%E5%90%8E%E6%88%91%E5%B0%B1%E8%83%BD%E5%9C%A8%E6%8E%A7%E5%88%B6%E5%8F%B0%E4%B8%8A%E7%9C%8B%E5%88%B0%26amp%3B%E5%8F%AF%E7%94%A8%E7%9A%84%E6%AD%A3%E7%A1%AE%E5%90%8D%E7%A7%B0%EF%BC%81%3C%2FP%3E%3CP%3E%E6%96%87%E4%BB%B6%E4%BD%8D%E7%BD%AE%E4%B8%BA%60uboot%2Fdrivers%2Fgpio%2Fgpio-uclass.c%60%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2147459%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20uboot%20-%20Device%20tree%20binding%20and%20dm_gpio_lookup_name(%22x%22%2C%26amp%3Bdesc)%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2147459%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F251255%22%20target%3D%22_blank%22%3E%40DavidFlir%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E6%88%91%E5%BB%BA%E8%AE%AE%E6%82%A8%E5%8F%82%E8%80%83%20gpio-uclass.c%20%E4%B8%AD%E7%9A%84%E5%87%BD%E6%95%B0%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22danielchen_0-1754466845499.png%22%20style%3D%22width%3A%20508px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22danielchen_0-1754466845499.png%22%20style%3D%22width%3A%20508px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F351147i085969AFCEEE1C56%2Fimage-dimensions%2F508x512%3Fv%3Dv2%22%20width%3D%22508%22%20height%3D%22512%22%20role%3D%22button%22%20title%3D%22danielchen_0-1754466845499.png%22%20alt%3D%22danielchen_0-1754466845499.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E6%AD%A4%E8%87%B4%3C%2FP%3E%0A%3CP%3E%E4%B8%B9%E5%B0%BC%E5%B0%94%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2147455%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20uboot%20-%20Device%20tree%20binding%20and%20dm_gpio_lookup_name(%22x%22%2C%26amp%3Bdesc)%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2147455%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%84%9F%E8%B0%A2%E6%82%A8%E7%9A%84%E5%9B%9E%E5%A4%8D%EF%BC%81%3CBR%20%2F%3E%3CBR%20%2F%3E%E6%88%91%E7%A1%AE%E5%AE%9E%E6%B3%A8%E6%84%8F%E5%88%B0%E4%BA%86%E8%BF%99%E4%B8%AA%E4%BE%8B%E5%AD%90%EF%BC%9A%3C%2FP%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-imx%2Fuboot-imx%2Fblob%2F9383f8387dc76524524da69992db96c22195a57c%2Fboard%2Ffreescale%2Fimx91_evk%2Fimx91_evk.c%23L305%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fnxp-imx%2Fuboot-imx%2Fblob%2F9383f8387dc76524524da69992db96c22195a57c%2Fboard%2Ffreescale%2Fimx91_evk%2Fimx91_evk.c%23L305%3C%2FA%3E%3C%2FP%3E%3CDIV%3E%3CBLOCKQUOTE%3E%3CDIV%3E%3CDIV%3E%3CDIV%3E%3CSPAN%3E%E4%BF%9D%E7%95%99%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3C%2FSPAN%3E%20%3CSPAN%3Edm_gpio_lookup_name%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3E%22adp5585-gpio4%22%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3E%26amp%3B%3C%2FSPAN%3E%3CSPAN%3Eexp_sel_desc%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FBLOCKQUOTE%3E%3CDIV%3E%3CDIV%3E%3CDIV%3E%3CSPAN%3E%E9%99%A4%E4%BA%86%22gpioX_Y%20%E4%B9%8B%E5%A4%96%EF%BC%8C%E8%BF%99%E4%BC%BC%E4%B9%8E%E6%98%AF%E5%8F%A6%E4%B8%80%E7%A7%8D%E5%85%81%E8%AE%B8%E7%9A%84%E6%A0%BC%E5%BC%8F%22%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%E5%85%B6%E5%AE%9A%E4%B9%89%E6%98%AF%3C%2FSPAN%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3E%09adp5585%3A%20io-expander%4034%20%7B%0A%09%09compatible%20%3D%20%22adi%2Cadp5585-00%22%2C%20%22adi%2Cadp5585%22%3B%0A%09%09reg%20%3D%20%26lt%3B0x34%26gt%3B%3B%0A%09%09%23gpio-cells%20%3D%20%26lt%3B2%26gt%3B%3B%0A%09%09gpio-controller%3B%0A%09%09%23pwm-cells%20%3D%20%26lt%3B3%26gt%3B%3B%0A%09%09gpio-reserved-ranges%20%3D%20%26lt%3B5%201%26gt%3B%3B%0A%0A%09%09exp-sel-hog%20%7B%0A%09%09%09gpio-hog%3B%0A%09%09%09gpios%20%3D%20%26lt%3B4%20GPIO_ACTIVE_HIGH%26gt%3B%3B%0A%09%09%09output-low%3B%0A%09%09%7D%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%E9%82%A3%E4%B9%88%EF%BC%8C%E5%A6%82%E4%BD%95%E6%A3%80%E6%9F%A5%E8%AF%AD%E6%B3%95%E6%98%AF%E5%90%A6%E6%AD%A3%E7%A1%AE%EF%BC%9F%E4%BE%8B%E5%A6%82%EF%BC%9A%E6%98%AF%E7%94%A8''_%22%20%E8%BF%98%E6%98%AF%22-%22...%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2147232%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20uboot%20-%20Device%20tree%20binding%20and%20dm_gpio_lookup_name(%22x%22%2C%26amp%3Bdesc)%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2147232%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%E6%88%B4%E7%BB%B4%EF%BC%9A%3C%2FP%3E%0A%3CP%3Edm_gpio_lookup_name%20()%20%E5%87%BD%E6%95%B0%E4%B8%8D%E8%A7%A3%E6%9E%90%E8%AE%BE%E5%A4%87%E6%A0%91%E4%B8%AD%E7%9A%84%20gpio-name%20%E6%88%96%E8%A1%8C%E5%90%8D%E3%80%82%E5%AE%83%E5%8F%AA%E8%83%BD%E7%90%86%E8%A7%A3%22gpioX_Y%22%20%E7%9A%84%E6%A0%BC%E5%BC%8F%EF%BC%8C%E5%85%B6%E4%B8%AD%3C%2FP%3E%0A%3CP%3EX%20%E6%98%AF%20GPIO%20%E6%8E%A7%E5%88%B6%E5%99%A8%3C%2FP%3E%0A%3CP%3EY%20%E6%98%AF%E9%92%88%E8%84%9A%E7%BC%96%E5%8F%B7%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E5%A6%82%E6%9E%9C%E4%BD%A0%E4%BD%BF%E7%94%A8%E7%9A%84%E6%98%AF%20Linux%20%E5%86%85%E6%A0%B8%EF%BC%88%E4%B8%8D%E6%98%AF%20U-%E5%90%AF%E5%8A%A8%EF%BC%89%EF%BC%8C%E4%BD%A0%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3C!--ScriptorStartFragment--%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CDIV%20class%3D%22scriptor-paragraph%22%3E%3CSPAN%3E%E7%BB%93%E6%9E%84%3C%2FSPAN%3E%20%3CSPAN%3E%E7%BB%93%E6%9E%84%3C%2FSPAN%3E%20%3CSPAN%3E*%3C%2FSPAN%3E%3CSPAN%3Erst_gpio%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%0A%3CDIV%20class%3D%22scriptor-paragraph%22%3E%3CSPAN%3Erst_gpio%3C%2FSPAN%3E%3CSPAN%3E%20%3D%3C%2FSPAN%3E%3CSPAN%3E%20devm_gp%20iod_get%3C%2FSPAN%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CSPAN%3E(%26amp%3B%3C%2FSPAN%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CSPAN%3Epdev-%26gt%3B%3C%2FSPAN%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CSPAN%3Edev%EF%BC%8C%22%20reset%20%22%EF%BC%8CG%3C%2FSPAN%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CSPAN%3EP%20IOD_OU%3C%2FSPAN%3E%3CSPAN%3E%20T_LOW)%3C%2FSPAN%3E%3CSPAN%3E%20%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%0A%3CP%3E%3CLI-WRAPPER%3E%3CSPAN%3E%3C!--ScriptorEndFragment--%3E%3C%2FSPAN%3E%3C%2FLI-WRAPPER%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E5%B9%B6%E5%9C%A8%20DTS%20%E4%B8%AD%E5%AE%9A%E4%B9%89%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3C!--ScriptorStartFragment--%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CDIV%20class%3D%22scriptor-paragraph%22%3E%3CSPAN%3ERESET%3C%2FSPAN%3E%3CSPAN%3E-%3C%2FSPAN%3E%3CSPAN%3Egpios%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3C%2FSPAN%3E%20%3CSPAN%3E%26lt%3B%3C%2FSPAN%3E%3CSPAN%3E%26amp%3B%3C%2FSPAN%3E%3CSPAN%3Egpio1%3C%2FSPAN%3E%20%3CSPAN%3E8%3C%2FSPAN%3E%20%3CSPAN%3EGPIO_ACTIVE_LOW%3C%2FSPAN%3E%3CSPAN%3E%26gt%3B%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%0A%3CDIV%20class%3D%22scriptor-paragraph%22%3E%3CSPAN%3Egpio%3C%2FSPAN%3E%3CSPAN%3E-%3C%2FSPAN%3E%3CSPAN%3E%E5%90%8D%E7%A7%B0%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3C%2FSPAN%3E%20%3CSPAN%3E%22RESET%22%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%0A%3CP%3E%3CLI-WRAPPER%3E%3CSPAN%3E%3C!--ScriptorEndFragment--%3E%3C%2FSPAN%3E%3C%2FLI-WRAPPER%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E6%AD%A4%E8%87%B4%3C%2FP%3E%0A%3CP%3E%E4%B8%B9%E5%B0%BC%E5%B0%94%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2146268%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20uboot%20-%20Device%20tree%20binding%20and%20dm_gpio_lookup_name(%22x%22%2C%26amp%3Bdesc)%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2146268%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%88%91%E6%89%BE%E5%88%B0%E4%BA%86%E4%B8%80%E4%B8%AA%E4%B8%A2%E5%A4%B1%E7%9A%84%3CSTRONG%3E_defconfig%3C%2FSTRONG%3E%E8%AE%BE%E7%BD%AE%EF%BC%8C%E5%90%8D%E4%B8%BA%20%3C%2FP%3E%3CDIV%3E%3CBLOCKQUOTE%3E%3CDIV%3E%3CSPAN%3ECONFIG_IMX_RGPIO2P%3Dy%3C%2FSPAN%3E%3C%2FDIV%3E%3C%2FBLOCKQUOTE%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%3CSPAN%3E%E6%9C%89%E4%BA%86%E8%BF%99%E4%B8%AA%E8%AE%BE%E7%BD%AE%EF%BC%8C%E6%88%91%E5%B0%B1%E8%83%BD%E6%88%90%E5%8A%9F%E5%9C%B0%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CDIV%3E%3CBLOCKQUOTE%3E%3CDIV%3E%3CSPAN%3E%E4%BF%9D%E7%95%99%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3C%2FSPAN%3E%20%3CSPAN%3Edm_gpio_lookup_name%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3E%22gpio1_8%22%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3E%26amp%3B%3C%2FSPAN%3E%3CSPAN%3Edesc%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3C%2FBLOCKQUOTE%3E%3CDIV%3E%3CSPAN%3E%3CBR%20%2F%3E%E4%BD%86%E6%88%91%E8%BF%98%E6%98%AF%E4%B8%8D%E7%9F%A5%E9%81%93%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20.dts%20%E4%B8%AD%E5%AE%9A%E4%B9%89%E7%9A%84%E5%90%8D%E7%A7%B0%E3%80%82%E6%96%87%E4%BB%B6%3CEM%3E%EF%BC%8C%3C%2FEM%3E%E8%80%8C%E4%B8%8D%E6%98%AF%E8%BF%99%E4%B8%AAgpio1_8%E6%96%87%E4%BB%B6%E3%80%82%3C%2FSPAN%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CSPAN%3E%60%3C%2FSPAN%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FLINGO-BODY%3E