]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ARM: dts: imx: e60k02: add tps65185
authorAndreas Kemnade <andreas@kemnade.info>
Tue, 13 Jan 2026 15:31:36 +0000 (16:31 +0100)
committerShawn Guo <shawnguo@kernel.org>
Sun, 18 Jan 2026 02:11:38 +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/e60k02.dtsi
arch/arm/boot/dts/nxp/imx/imx6sl-tolino-shine3.dts
arch/arm/boot/dts/nxp/imx/imx6sll-kobo-clarahd.dts

index 0029c12f16c8e5285c5b0d528f63b3226919ca65..aac7b9ef7627535efc1663a1c6898a3f7ff0593c 100644 (file)
                stdout-path = &uart1;
        };
 
+       epd_pmic_supply: regulator-epd-pmic-in {
+               compatible = "regulator-fixed";
+               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";
 
                vdd-supply = <&ldo5_reg>;
        };
 
-       /* TODO: TPS65185 PMIC for E Ink at 0x68 */
+       tps65185: pmic@68 {
+               compatible = "ti,tps65185";
+               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 {
index 5ba6f15e9ed5aa80bfbb3c0ad6b962b71d50404f..58b9ccd9b605d428af25924518b546569f6ee61d 100644 (file)
        compatible = "kobo,tolino-shine3", "fsl,imx6sl";
 };
 
+&epd_pmic_supply {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_epd_pmic_supply>;
+};
+
 &gpio_keys {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_gpio_keys>;
                >;
        };
 
+       pinctrl_epd_pmic_supply: epdc-pmic-supplygrp {
+               fsl,pins = <
+                       MX6SL_PAD_EPDC_PWRWAKEUP__GPIO2_IO14 0x40010059
+               >;
+       };
+
        pinctrl_gpio_keys: gpio-keysgrp {
                fsl,pins = <
                        MX6SL_PAD_SD1_DAT1__GPIO5_IO08  0x17059 /* PWR_SW */
                >;
        };
 
+       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
        pinctrl-0 = <&pinctrl_ricoh_gpio>;
 };
 
+&tps65185 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_tps65185_gpio>;
+};
+
 &uart1 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_uart1>;
index 18c9ac8f7560ee144dad980f8beaf308fbca8c97..1000ee8b807aaeabd5cf5b45247c56418cada850 100644 (file)
        soc-supply = <&dcdc1_reg>;
 };
 
+&epd_pmic_supply {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_epd_pmic_supply>;
+};
+
 &gpio_keys {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_gpio_keys>;
                >;
        };
 
+       pinctrl_epd_pmic_supply: epdc-pmic-supplygrp {
+               fsl,pins = <
+                       MX6SLL_PAD_EPDC_PWR_WAKE__GPIO2_IO14 0x40010059
+               >;
+       };
+
        pinctrl_gpio_keys: gpio-keysgrp {
                fsl,pins = <
                        MX6SLL_PAD_SD1_DATA1__GPIO5_IO08        0x17059 /* PWR_SW */
                >;
        };
 
+       pinctrl_tps65185_gpio: tps65185-gpio-grp {
+               fsl,pins = <
+                       MX6SLL_PAD_EPDC_VCOM0__GPIO2_IO03       0x40010059 /* vcom_ctrl */
+                       MX6SLL_PAD_EPDC_PWR_CTRL0__GPIO2_IO07   0x40010059 /* wakeup */
+                       MX6SLL_PAD_EPDC_PWR_CTRL1__GPIO2_IO08   0x40010059 /* enable */
+                       MX6SLL_PAD_EPDC_PWR_CTRL2__GPIO2_IO09   0x17059 /* nINT */
+                       MX6SLL_PAD_EPDC_PWR_STAT__GPIO2_IO13    0x17059 /* pwr-good */
+               >;
+       };
+
        pinctrl_uart1: uart1grp {
                fsl,pins = <
                        MX6SLL_PAD_UART1_TXD__UART1_DCE_TX 0x1b0b1
        pinctrl-0 = <&pinctrl_ricoh_gpio>;
 };
 
+&tps65185 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_tps65185_gpio>;
+};
+
 &uart1 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_uart1>;