]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ARM: dts: imx: tolino-shine2: add tps65185
authorAndreas Kemnade <andreas@kemnade.info>
Tue, 13 Jan 2026 15:31:34 +0000 (16:31 +0100)
committerShawn Guo <shawnguo@kernel.org>
Sun, 18 Jan 2026 02:11:37 +0000 (10:11 +0800)
Wire up the TPS65185 regulator needed for the display.

Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm/boot/dts/nxp/imx/imx6sl-tolino-shine2hd.dts

index b6c336e3079e3c8da7736fb1638beda2027bc7fb..4c655579f43efbf1560098a6e5d418e66c614a62 100644 (file)
                stdout-path = &uart1;
        };
 
+       epd_pmic_supply: regulator-epd-pmic-in {
+               compatible = "regulator-fixed";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_epd_pmic_supply>;
+               regulator-name = "epd_pmic_supply";
+               gpio = <&gpio2 14 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+               startup-delay-us = <20000>;
+       };
+
        gpio_keys: gpio-keys {
                compatible = "gpio-keys";
                pinctrl-names = "default";
                touchscreen-inverted-x;
        };
 
-       /* TODO: TPS65185 PMIC for E Ink at 0x68 */
+       tps65185: pmic@68 {
+               compatible = "ti,tps65185";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_tps65185_gpio>;
+               reg = <0x68>;
+               interrupt-parent = <&gpio2>;
+               interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
+               vin-supply = <&epd_pmic_supply>;
+               pwr-good-gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>;
+               vcom-ctrl-gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
+               wakeup-gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
+               enable-gpios = <&gpio2 8 GPIO_ACTIVE_HIGH>;
+
+               regulators {
+                       vcom_reg: vcom {
+                               regulator-name = "vcom";
+                       };
+
+                       vposneg_reg: vposneg {
+                               regulator-name = "vposneg";
+                               regulator-min-microvolt = <15000000>;
+                               regulator-max-microvolt = <15000000>;
+                       };
 
+                       v3p3_reg: v3p3 {
+                               regulator-name = "v3p3";
+                       };
+               };
+       };
 };
 
 &i2c3 {
                >;
        };
 
+       pinctrl_epd_pmic_supply: epdc-pmic-supplygrp {
+               fsl,pins = <
+                       MX6SL_PAD_EPDC_PWRWAKEUP__GPIO2_IO14 0x40010059 /* pwrall */
+               >;
+       };
+
        pinctrl_gpio_keys: gpio-keysgrp {
                fsl,pins = <
                        MX6SL_PAD_SD1_DAT1__GPIO5_IO08  0x17059
                >;
        };
 
+       pinctrl_tps65185_gpio: tps65185-gpio-grp {
+               fsl,pins = <
+                       MX6SL_PAD_EPDC_VCOM0__GPIO2_IO03        0x40010059 /* vcom_ctrl */
+                       MX6SL_PAD_EPDC_PWRCTRL0__GPIO2_IO07     0x40010059 /* wakeup */
+                       MX6SL_PAD_EPDC_PWRCTRL1__GPIO2_IO08     0x40010059 /* enable */
+                       MX6SL_PAD_EPDC_PWRCTRL2__GPIO2_IO09     0x17059 /* nINT */
+                       MX6SL_PAD_EPDC_PWRSTAT__GPIO2_IO13      0x17059 /* pwr-good */
+               >;
+       };
+
        pinctrl_uart1: uart1grp {
                fsl,pins = <
                        MX6SL_PAD_UART1_TXD__UART1_TX_DATA 0x1b0b1