Re: [PATCH 3/4] ARM: dts: omap: omap4-epson-embt2ws: add unknown gpio outputs

From: Roger Quadros
Date: Fri Oct 04 2024 - 03:54:08 EST




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