]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ARM: dts: imx6: rdu2: Add node for UCS1002 USB charger chip
authorAndrey Smirnov <andrew.smirnov@gmail.com>
Mon, 9 Dec 2019 16:50:16 +0000 (08:50 -0800)
committerShawn Guo <shawnguo@kernel.org>
Thu, 12 Dec 2019 01:31:32 +0000 (09:31 +0800)
Add node for UCS1002 USB charger chip connected to front panel USB and
replace "regulator-fixed" previously used to control VBUS.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Chris Healy <cphealy@gmail.com>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi

index a2a4f33a3e3ef8710bccdfa2d7625230f9630cd7..176dbc16f4e7a6a904d743e908953730b1ce8256 100644 (file)
                regulator-always-on;
        };
 
-       reg_5p0v_user_usb: regulator-5p0v-user-usb {
-               compatible = "regulator-fixed";
-               pinctrl-names = "default";
-               pinctrl-0 = <&pinctrl_reg_user_usb>;
-               vin-supply = <&reg_5p0v_main>;
-               regulator-name = "5V_USER_USB";
-               regulator-min-microvolt = <5000000>;
-               regulator-max-microvolt = <5000000>;
-               gpio = <&gpio3 22 GPIO_ACTIVE_LOW>;
-               startup-delay-us = <1000>;
-       };
-
        reg_3p3v_pmic: regulator-3p3v-pmic {
                compatible = "regulator-fixed";
                vin-supply = <&reg_12p0v>;
        };
 };
 
+&gpio3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_gpio3_hog>;
+
+       usb-emulation {
+               gpio-hog;
+               gpios = <19 GPIO_ACTIVE_HIGH>;
+               output-low;
+               line-name = "usb-emulation";
+       };
+
+       usb-mode1 {
+               gpio-hog;
+               gpios = <20 GPIO_ACTIVE_HIGH>;
+               output-high;
+               line-name = "usb-mode1";
+       };
+
+       usb-pwr {
+               gpio-hog;
+               gpios = <22 GPIO_ACTIVE_LOW>;
+               output-high;
+               line-name = "usb-pwr-ctrl-en-n";
+       };
+
+       usb-mode2 {
+               gpio-hog;
+               gpios = <23 GPIO_ACTIVE_HIGH>;
+               output-high;
+               line-name = "usb-mode2";
+       };
+};
+
 &i2c1 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_i2c1>;
                status = "disabled";
        };
 
+       reg_5p0v_user_usb: charger@32 {
+               compatible = "microchip,ucs1002";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_ucs1002_pins>;
+               reg = <0x32>;
+               interrupts-extended = <&gpio5 2 IRQ_TYPE_EDGE_BOTH>,
+                                     <&gpio3 21 IRQ_TYPE_EDGE_BOTH>;
+               interrupt-names = "a_det", "alert";
+       };
+
        hpa1: amp@60 {
                compatible = "ti,tpa6130a2";
                pinctrl-names = "default";
                >;
        };
 
+       pinctrl_gpio3_hog: gpio3hoggrp {
+               fsl,pins = <
+                       MX6QDL_PAD_EIM_D19__GPIO3_IO19          0x1b0b0
+                       MX6QDL_PAD_EIM_D20__GPIO3_IO20          0x1b0b0
+                       MX6QDL_PAD_EIM_D22__GPIO3_IO22          0x1b0b0
+                       MX6QDL_PAD_EIM_D23__GPIO3_IO23          0x1b0b0
+               >;
+       };
+
        pinctrl_i2c1: i2c1grp {
                fsl,pins = <
                        MX6QDL_PAD_CSI0_DAT8__I2C1_SDA          0x4001b8b1
                >;
        };
 
-       pinctrl_reg_user_usb: usbotggrp {
-               fsl,pins = <
-                       MX6QDL_PAD_EIM_D22__GPIO3_IO22          0x40000038
-               >;
-       };
-
        pinctrl_rmii_phy_irq: phygrp {
                fsl,pins = <
                        MX6QDL_PAD_EIM_D30__GPIO3_IO30          0x40010000
                >;
        };
 
+       pinctrl_ucs1002_pins: ucs1002grp {
+               fsl,pins = <
+                       MX6QDL_PAD_EIM_A25__GPIO5_IO02          0x1b0b0
+                       MX6QDL_PAD_EIM_D21__GPIO3_IO21          0x1b0b0
+               >;
+       };
+
        pinctrl_usdhc2: usdhc2grp {
                fsl,pins = <
                        MX6QDL_PAD_SD2_CMD__SD2_CMD             0x10059