Re: [PATCH v7 1/6] DONOTMERGE: arm64: dts: ti: Add TI TPS65219 PMIC support for AM642 SK board.

From: Wadim Egorov
Date: Thu Dec 15 2022 - 10:09:33 EST


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>;