Hi Jerome, is this setup working for you on the AM642 SK board? I am testing your PMIC patches on a AM62 based board with a similar setup and running into the following error VDDSHV5_SDIO: bypassed regulator has no supply! VDDSHV5_SDIO: will resolve supply early: ldo1 VDDSHV5_SDIO: supplied by regulator-dummy VDDSHV5_SDIO: failed to get the current voltage: -EINVAL Have you noticed problems with LDO1 and bypass mode? Regards, Wadim Am 04.11.22 um 16:23 schrieb Jerome Neanne: > From: Jerome NEANNE <jneanne@xxxxxxxxxxxx> > > Add support fot the TI Power Management IC TPS65219 > on the AM642 SKEVM board. > > Needed for driver testing but official board support pending. > TI commitment is required before board upstream kick-off. > > Signed-off-by: Jerome NEANNE <jneanne@xxxxxxxxxxxx> > Signed-off-by: Markus Schneider-Pargmann <msp@xxxxxxxxxxxx> > --- > arch/arm64/boot/dts/ti/k3-am642-sk.dts | 104 +++++++++++++++++++++++++ > 1 file changed, 104 insertions(+) > > diff --git a/arch/arm64/boot/dts/ti/k3-am642-sk.dts b/arch/arm64/boot/dts/ti/k3-am642-sk.dts > index 738d0cf6c40a..d0121976491a 100644 > --- a/arch/arm64/boot/dts/ti/k3-am642-sk.dts > +++ b/arch/arm64/boot/dts/ti/k3-am642-sk.dts > @@ -219,6 +219,20 @@ led-7 { > gpios = <&exp2 7 GPIO_ACTIVE_HIGH>; > }; > }; > + > + vsel_sd_nddr: gpio-regulator { > + compatible = "regulator-gpio"; > + pinctrl-names = "default"; > + pinctrl-0 = <&vsel_sd_nddr_pins_default>; > + regulator-name = "tps65219-LDO1-SEL-SD"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <3300000>; > + regulator-boot-on; > + vin-supply = <&ldo1_reg>; > + gpios = <&main_gpio0 45 GPIO_ACTIVE_HIGH>; > + states = <1800000 0x0>, > + <3300000 0x1>; > + }; > }; > > &main_pmx0 { > @@ -250,6 +264,13 @@ AM64X_IOPAD(0x02a8, PIN_OUTPUT, 0) /* (E19) USB0_DRVVBUS */ > >; > }; > > + main_i2c0_pins_default: main-i2c0-pins-default { > + pinctrl-single,pins = < > + AM64X_IOPAD(0x0260, PIN_INPUT_PULLUP, 0) /* (A18) I2C0_SCL */ > + AM64X_IOPAD(0x0264, PIN_INPUT_PULLUP, 0) /* (B18) I2C0_SDA */ > + >; > + }; > + > main_i2c1_pins_default: main-i2c1-pins-default { > pinctrl-single,pins = < > AM64X_IOPAD(0x0268, PIN_INPUT_PULLUP, 0) /* (C18) I2C1_SCL */ > @@ -336,6 +357,12 @@ main_wlan_pins_default: main-wlan-pins-default { > AM64X_IOPAD(0x00bc, PIN_INPUT, 7) /* (U8) GPIO0_46 */ > >; > }; > + > + vsel_sd_nddr_pins_default: vsel-sd-nddr-pins-default { > + pinctrl-single,pins = < > + AM64X_IOPAD(0x00b8, PIN_INPUT, 7) /* (Y7) PRG1_PRU0_GPO0.GPIO0_45 */ > + >; > + }; > }; > > &mcu_uart0 { > @@ -384,6 +411,83 @@ &mcu_i2c1 { > status = "disabled"; > }; > > +&main_i2c0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&main_i2c0_pins_default>; > + clock-frequency = <400000>; > + status = "okay"; > + > + tps65219: pmic@30 { > + compatible = "ti,tps65219"; > + reg = <0x30>; > + system-power-controller; > + > + buck1-supply = <&vcc_3v3_sys>; > + buck2-supply = <&vcc_3v3_sys>; > + buck3-supply = <&vcc_3v3_sys>; > + ldo1-supply = <&vcc_3v3_sys>; > + ldo2-supply = <&buck2_reg>; > + ldo3-supply = <&vcc_3v3_sys>; > + ldo4-supply = <&vcc_3v3_sys>; > + > + regulators { > + buck1_reg: buck1 { > + regulator-name = "VDD_CORE"; > + regulator-min-microvolt = <750000>; > + regulator-max-microvolt = <1000000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + buck2_reg: buck2 { > + regulator-name = "VCC1V8"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + buck3_reg: buck3 { > + regulator-name = "VDD_LPDDR4"; > + regulator-min-microvolt = <1100000>; > + regulator-max-microvolt = <1100000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + ldo1_reg: ldo1 { > + regulator-name = "VDDSHV_SD_IO_PMIC"; > + regulator-min-microvolt = <1000000>; > + regulator-max-microvolt = <3300000>; > + regulator-allow-bypass; > + }; > + > + ldo2_reg: ldo2 { > + regulator-name = "VDDAR_CORE"; > + regulator-min-microvolt = <850000>; > + regulator-max-microvolt = <850000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + ldo3_reg: ldo3 { > + regulator-name = "VDDA_1V8"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + ldo4_reg: ldo4 { > + regulator-name = "VDD_PHY_2V5"; > + regulator-min-microvolt = <2500000>; > + regulator-max-microvolt = <2500000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + }; > + }; > +}; > &main_i2c1 { > pinctrl-names = "default"; > pinctrl-0 = <&main_i2c1_pins_default>;