On Wed, May 29, 2019 at 12:18 AM Andrey Smirnov <[email protected]> wrote: > > 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 <[email protected]> > Signed-off-by: Andrey Smirnov <[email protected]> > Cc: Shawn Guo <[email protected]> > Cc: Chris Healy <[email protected]> > Cc: Fabio Estevam <[email protected]> > Cc: Lucas Stach <[email protected]> > Cc: [email protected] > Cc: [email protected]
Ugh, forgot to properly update reroll counter. This and the rest of the series is a v2. Sorry about that. Thanks, Andrey Smirnov > --- > > Changes since [v1]: > > - Added GPIO hog configuration to put UCS1002 into correct mode > even before its driver takes over. The code for that is taken > from similar patch from Lucas, so I added his Signed-off-by as > well. > > [v1] lore.kernel.org/r/[email protected] > > arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi | 77 +++++++++++++++++++------ > 1 file changed, 59 insertions(+), 18 deletions(-) > > diff --git a/arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi > b/arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi > index 93be00a60c88..07e21d1e5b4c 100644 > --- a/arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi > +++ b/arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi > @@ -60,18 +60,6 @@ > 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 = <®_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 = <®_12p0v>; > @@ -331,6 +319,39 @@ > }; > }; > > +&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>; > @@ -590,6 +611,16 @@ > 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"; > @@ -935,6 +966,15 @@ > >; > }; > > + 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 > @@ -982,12 +1022,6 @@ > >; > }; > > - 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 > @@ -1047,6 +1081,13 @@ > >; > }; > > + 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 > -- > 2.21.0 >

