]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ARM: dts: imx: e70k02: add sy7636
authorAndreas Kemnade <akemnade@kernel.org>
Tue, 28 Oct 2025 15:00:36 +0000 (16:00 +0100)
committerShawn Guo <shawnguo@kernel.org>
Sun, 16 Nov 2025 09:42:41 +0000 (17:42 +0800)
Add the EPD PMIC for the e70k02 based devices as a step towards full EPD
support.

Acked-by: Alistair Francis <alistair@alistair23.me>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Andreas Kemnade <akemnade@kernel.org>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm/boot/dts/nxp/imx/e70k02.dtsi
arch/arm/boot/dts/nxp/imx/imx6sl-tolino-vision5.dts
arch/arm/boot/dts/nxp/imx/imx6sll-kobo-librah2o.dts

index dcc3c9d488a8835303069c57855437bea1df5eb5..3bb11c5a63536dde149298ab228b97c36ede1ccd 100644 (file)
                reg = <0x80000000 0x20000000>;
        };
 
+       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>;
+       };
+
        reg_wifi: regulator-wifi {
                compatible = "regulator-fixed";
                regulator-name = "SD3_SPWR";
                vdd-supply = <&ldo5_reg>;
        };
 
-       /* TODO: SY7636 PMIC for E Ink at 0x62 */
+       sy7636: pmic@62 {
+               compatible = "silergy,sy7636a";
+               reg = <0x62>;
+               enable-gpios = <&gpio2 8 GPIO_ACTIVE_HIGH>;
+               vcom-en-gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
+               epd-pwr-good-gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>;
+               vin-supply = <&epd_pmic_supply>;
+
+               #thermal-sensor-cells = <0>;
+
+               regulators {
+                       reg_epdpmic: vcom {
+                               regulator-name = "vcom";
+                       };
+               };
+       };
 
 };
 
index a2534c422a52293fb36a9558cbeb568eb5c115dd..f8709a9524093ec2d1300fd0224c3ff2aca8df02 100644 (file)
        compatible = "kobo,tolino-vision5", "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: epd-pmic-supplygrp {
+               fsl,pins = <
+                       MX6SL_PAD_EPDC_PWRWAKEUP__GPIO2_IO14    0x40010059
+               >;
+       };
+
        pinctrl_gpio_keys: gpio-keysgrp {
                fsl,pins = <
                        MX6SL_PAD_FEC_CRS_DV__GPIO4_IO25        0x17059 /* PWR_SW */
                >;
        };
 
+       pinctrl_sy7636_gpio: sy7636-gpiogrp {
+               fsl,pins = <
+                       MX6SL_PAD_EPDC_VCOM0__GPIO2_IO03        0x40010059 /* VCOM_CTRL */
+                       MX6SL_PAD_EPDC_PWRCTRL1__GPIO2_IO08     0x40010059 /* EN */
+                       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>;
 };
 
+&sy7636 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_sy7636_gpio>;
+};
+
 &uart1 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_uart1>;
index 660620d226f717010951fcd44e953b0ae2855307..19bbe60331b36e538b0af664507a2f2fddab1734 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: epd-pmic-supplygrp {
+               fsl,pins = <
+                       MX6SLL_PAD_EPDC_PWR_WAKE__GPIO2_IO14    0x40010059
+               >;
+       };
+
        pinctrl_gpio_keys: gpio-keysgrp {
                fsl,pins = <
                        MX6SLL_PAD_GPIO4_IO25__GPIO4_IO25       0x17059 /* PWR_SW */
                >;
        };
 
+       pinctrl_sy7636_gpio: sy7636-gpiogrp {
+               fsl,pins = <
+                       MX6SLL_PAD_EPDC_VCOM0__GPIO2_IO03       0x40010059 /* VCOM_CTRL */
+                       MX6SLL_PAD_EPDC_PWR_CTRL1__GPIO2_IO08   0x40010059 /* EN */
+                       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>;
 };
 
+&sy7636 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_sy7636_gpio>;
+};
+
 &uart1 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_uart1>;