On 01/10/2024 00:30, Andreas Kemnade wrote: > Set them to the state seen in a running system, initialized > by vendor u-boot or kernel. Add line names where they are defined in the > vendor kernel. > gpio15 resets something in the display, otherwise meaning of the > gpios is not known. > > Signed-off-by: Andreas Kemnade <andreas@xxxxxxxxxxxx> > --- > .../boot/dts/ti/omap/omap4-epson-embt2ws.dts | 84 +++++++++++++++++++ > 1 file changed, 84 insertions(+) > > diff --git a/arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts b/arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts > index cc1b6080bf95..c8205ae89840 100644 > --- a/arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts > +++ b/arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts > @@ -115,6 +115,65 @@ wl12xx_vmmc: wl12xx-vmmc { > }; > }; > > +&gpio1 { > + pinctrl-names = "default"; > + pinctrl-0 = <&gpio1_hog_pins &gpio1wk_hog_pins>; > + > + lb-reset-hog { > + gpio-hog; > + gpios = <9 GPIO_ACTIVE_HIGH>; > + output-low; > + line-name = "lb_reset"; > + }; Just curious, what does lb stand for. > + > + power-en-hog { > + gpio-hog; > + gpios = <10 GPIO_ACTIVE_HIGH>; > + output-high; > + line-name = "power_en"; > + }; > + > + panel-power-en-hog { > + gpio-hog; > + gpios = <14 GPIO_ACTIVE_HIGH>; > + output-low; > + line-name = "panel_power_en"; > + }; Is panel always enabled? I didn't see a panel driver else it could be hooked to panel regulator? > + > + blc-r-hog { > + gpio-hog; > + gpios = <17 GPIO_ACTIVE_HIGH>; > + output-low; > + line-name = "blc_r"; > + }; this should be modeled as a gpio regulator and paried to backlight left? > + > + blc-l-hog { > + gpio-hog; > + gpios = <16 GPIO_ACTIVE_HIGH>; > + output-low; > + line-name = "blc_l"; > + }; this should be modeled as a gpio regulator and paried to backlight right? > + > + high-hog { > + gpio-hog; > + gpios = <15 GPIO_ACTIVE_HIGH /* maybe dsi to dpi chip reset? */ > + 21 GPIO_ACTIVE_HIGH > + 26 GPIO_ACTIVE_HIGH>; > + output-high; > + line-name = "unknown-high"; > + }; > + > + low-hog { > + gpio-hog; > + gpios = <18 GPIO_ACTIVE_HIGH > + 19 GPIO_ACTIVE_HIGH > + 20 GPIO_ACTIVE_HIGH > + 22 GPIO_ACTIVE_HIGH>; > + output-low; > + line-name = "unknown-low"; > + }; These are probably OK as we don't know their actual function. > +}; > + > &i2c1 { > pinctrl-names = "default"; > pinctrl-0 = <&i2c1_pins>; > @@ -406,6 +465,22 @@ OMAP4_IOPAD(0x56, PIN_INPUT_PULLUP | MUX_MODE3) /* gpio35 */ > >; > }; > > + gpio1_hog_pins: pinmux-gpio1-hog-pins { > + pinctrl-single,pins = < > + OMAP4_IOPAD(0x1b4, PIN_OUTPUT | MUX_MODE3) /* gpio14 */ > + OMAP4_IOPAD(0x1b8, PIN_OUTPUT | MUX_MODE3) /* gpio16 */ > + OMAP4_IOPAD(0x1ba, PIN_OUTPUT | MUX_MODE3) /* gpio17 */ > + > + OMAP4_IOPAD(0x1b6, PIN_OUTPUT | MUX_MODE3) /* gpio15 */ > + OMAP4_IOPAD(0x1bc, PIN_OUTPUT | MUX_MODE3) /* gpio18 */ > + OMAP4_IOPAD(0x1be, PIN_OUTPUT | MUX_MODE3) /* gpio19 */ > + OMAP4_IOPAD(0x1c0, PIN_OUTPUT | MUX_MODE3) /* gpio20 */ > + OMAP4_IOPAD(0x1c2, PIN_OUTPUT | MUX_MODE3) /* gpio21 */ > + OMAP4_IOPAD(0x1c4, PIN_OUTPUT | MUX_MODE3) /* gpio22 */ > + OMAP4_IOPAD(0x1cc, PIN_OUTPUT | MUX_MODE3) /* gpio26 */ > + >; > + }; > + > i2c1_pins: pinmux-i2c1-pins { > pinctrl-single,pins = < > OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */ > @@ -527,6 +602,15 @@ OMAP4_IOPAD(0x1c8, PIN_OUTPUT | MUX_MODE3) /* gpio_24 / WLAN_EN */ > }; > }; > > +&omap4_pmx_wkup { > + gpio1wk_hog_pins: pinmux-gpio1wk-hog-pins { > + pinctrl-single,pins = < > + OMAP4_IOPAD(0x68, PIN_INPUT_PULLDOWN | MUX_MODE3) /* gpio9 */ > + OMAP4_IOPAD(0x6a, PIN_INPUT | MUX_MODE3) /* gpio10 */ > + >; > + }; > +}; > + > &uart2 { > pinctrl-names = "default"; > pinctrl-0 = <&uart2_pins &bt_pins>; -- cheers, -roger