2024-05-07 12:23:05

by Neha Malcom Francis

[permalink] [raw]
Subject: [PATCH 0/5] arm64: ti: Add TPS6287 nodes

Add nodes for TPS6287x present in AM68 SK, AM69 SK and J784S4 EVM. They
are a family of synchronous step-down DC/DC converters. These converters
are used to enable AVS (Adaptive Voltage Scaling) for these devices.

Also since AM68 SK lacks DT node of it's PMIC, LP8733; make use of this
series to add that in as well.

Data sheet: https://www.ti.com/lit/ds/slvsgc5a/slvsgc5a.pdf
Boot logs: https://gist.github.com/nehamalcom/1a288f534d730e8af43c48a175919b19

Neha Malcom Francis (5):
regulator: dt-bindings: Unify compatible
drivers: regulator: tps6287x: Unify compatible
arm64: boot: dts: ti: k3-am68-sk-base-board: Add LP8733 and TPS6287
nodes
arm64: boot: dts: ti: k3-am69-sk: Add TPS62873 node
arm64: boot: dts: ti: k3-j784s4-evm: Add TPS62873 node

.../bindings/regulator/ti,tps62870.yaml | 7 +-
.../boot/dts/ti/k3-am68-sk-base-board.dts | 78 +++++++++++++++++++
arch/arm64/boot/dts/ti/k3-am69-sk.dts | 22 ++++++
arch/arm64/boot/dts/ti/k3-j784s4-evm.dts | 22 ++++++
drivers/regulator/tps6287x-regulator.c | 10 +--
5 files changed, 126 insertions(+), 13 deletions(-)

--
2.34.1



2024-05-07 12:23:22

by Neha Malcom Francis

[permalink] [raw]
Subject: [PATCH 4/5] arm64: boot: dts: ti: k3-am69-sk: Add TPS62873 node

Add DTS node for two TPS6287x high current buck convertors.

The two TPS6287x supply power to the MAIN domain for AVS and other core
supplies.

Signed-off-by: Neha Malcom Francis <[email protected]>
---
arch/arm64/boot/dts/ti/k3-am69-sk.dts | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-am69-sk.dts b/arch/arm64/boot/dts/ti/k3-am69-sk.dts
index 50de2a448a3a..37257d616cd1 100644
--- a/arch/arm64/boot/dts/ti/k3-am69-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am69-sk.dts
@@ -814,6 +814,28 @@ ldoa4: ldo4 {
};
};
};
+
+ tps62873a: tps62873@40 {
+ compatible = "ti,tps6287x";
+ bootph-pre-ram;
+ reg = <0x40>;
+ regulator-name = "VDD_CPU_AVS";
+ regulator-min-microvolt = <600000>;
+ regulator-max-microvolt = <900000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ tps62873b: tps62873@43 {
+ compatible = "ti,tps6287x";
+ bootph-pre-ram;
+ reg = <0x43>;
+ regulator-name = "VDD_CORE_0V8";
+ regulator-min-microvolt = <760000>;
+ regulator-max-microvolt = <840000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
};

&wkup_gpio0 {
--
2.34.1


2024-05-07 12:23:41

by Neha Malcom Francis

[permalink] [raw]
Subject: [PATCH 5/5] arm64: boot: dts: ti: k3-j784s4-evm: Add TPS62873 node

Add Tulip TPS62873 nodes for J784S4 EVM. These are step-down regulators
that supply VDD_CPU_AVS and VDD_CORE_0V8 to the SoC.

Signed-off-by: Neha Malcom Francis <[email protected]>
---
arch/arm64/boot/dts/ti/k3-j784s4-evm.dts | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts b/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
index 81fd7afac8c5..ccd91f266840 100644
--- a/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
@@ -579,6 +579,28 @@ ldoa4: ldo4 {
};
};
};
+
+ tps62873a: tps62873@40 {
+ compatible = "ti,tps6287x";
+ bootph-pre-ram;
+ reg = <0x40>;
+ regulator-name = "VDD_CPU_AVS";
+ regulator-min-microvolt = <750000>;
+ regulator-max-microvolt = <1330000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ tps62873b: tps62873@43 {
+ compatible = "ti,tps6287x";
+ bootph-pre-ram;
+ reg = <0x43>;
+ regulator-name = "VDD_CORE_0V8";
+ regulator-min-microvolt = <760000>;
+ regulator-max-microvolt = <840000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
};

&mcu_uart0 {
--
2.34.1


2024-05-07 12:44:45

by Neha Malcom Francis

[permalink] [raw]
Subject: [PATCH 2/5] drivers: regulator: tps6287x: Unify compatible

TPS62870/1/2/3 devices have different output currents (6A/9A/12A/15A) of
the TPS6287x family. The I2C addresses are the same between them. Since
the dt-binding now only recognizes ti,tps6287x for the same reason;
modify the driver compatible to reflect the same.

Signed-off-by: Neha Malcom Francis <[email protected]>
---
drivers/regulator/tps6287x-regulator.c | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/drivers/regulator/tps6287x-regulator.c b/drivers/regulator/tps6287x-regulator.c
index 9b7c3d77789e..6dc8511bdd3e 100644
--- a/drivers/regulator/tps6287x-regulator.c
+++ b/drivers/regulator/tps6287x-regulator.c
@@ -154,20 +154,14 @@ static int tps6287x_i2c_probe(struct i2c_client *i2c)
}

static const struct of_device_id tps6287x_dt_ids[] = {
- { .compatible = "ti,tps62870", },
- { .compatible = "ti,tps62871", },
- { .compatible = "ti,tps62872", },
- { .compatible = "ti,tps62873", },
+ { .compatible = "ti,tps6287x", },
{ }
};

MODULE_DEVICE_TABLE(of, tps6287x_dt_ids);

static const struct i2c_device_id tps6287x_i2c_id[] = {
- { "tps62870", 0 },
- { "tps62871", 0 },
- { "tps62872", 0 },
- { "tps62873", 0 },
+ { "tps6287x", 0 },
{},
};

--
2.34.1


2024-05-07 12:46:02

by Neha Malcom Francis

[permalink] [raw]
Subject: [PATCH 3/5] arm64: boot: dts: ti: k3-am68-sk-base-board: Add LP8733 and TPS6287 nodes

Add DTS node for LP87334E PMIC and two TPS6287x high current buck
converters.

LP87334E is responsible for supplying power to the MCU and MAIN domains
as well as to LPDDR4. The two TPS6287x supply power to the MAIN
domain for AVS and other core supplies.

Signed-off-by: Neha Malcom Francis <[email protected]>
Link: https://www.ti.com/lit/pdf/slda060
---
.../boot/dts/ti/k3-am68-sk-base-board.dts | 78 +++++++++++++++++++
1 file changed, 78 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts b/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts
index d743f023cdd9..5cd8310ea1c3 100644
--- a/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts
+++ b/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts
@@ -414,6 +414,84 @@ &wkup_uart0 {
pinctrl-0 = <&wkup_uart0_pins_default>;
};

+&wkup_i2c0 {
+ bootph-all;
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&wkup_i2c0_pins_default>;
+ clock-frequency = <400000>;
+
+ lp8733: pmic@60 {
+ compatible = "ti,lp8733";
+ reg = <0x60>;
+
+ buck0-in-supply = <&vsys_3v3>;
+ buck1-in-supply = <&vsys_3v3>;
+ ldo0-in-supply = <&vsys_3v3>;
+ ldo1-in-supply = <&vsys_3v3>;
+
+ lp8733_regulators: regulators {
+ lp8733_buck0_reg: buck0 {
+ /* FB_B0 -> LP8733-BUCK1 - VDD_MCU_0V85 */
+ regulator-name = "lp8733-buck0";
+ regulator-min-microvolt = <850000>;
+ regulator-max-microvolt = <850000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ lp8733_buck1_reg: buck1 {
+ /* FB_B1 -> LP8733-BUCK2 - VDD_DDR_1V1 */
+ regulator-name = "lp8733-buck1";
+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ lp8733_ldo0_reg: ldo0 {
+ /* LDO0 -> LP8733-LDO1 - VDA_DLL_0V8 */
+ regulator-name = "lp8733-ldo0";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <800000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ lp8733_ldo1_reg: ldo1 {
+ /* LDO1 -> LP8733-LDO2 - VDA_LN_1V8 */
+ regulator-name = "lp8733-ldo1";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+ };
+ };
+
+ tps62873a: tps62873@40 {
+ compatible = "ti,tps6287x";
+ bootph-pre-ram;
+ reg = <0x40>;
+ regulator-name = "VDD_CPU_AVS";
+ regulator-min-microvolt = <600000>;
+ regulator-max-microvolt = <900000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ tps62873b: tps62873@43 {
+ compatible = "ti,tps6287x";
+ bootph-pre-ram;
+ reg = <0x43>;
+ regulator-name = "VDD_CORE_0V8";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <800000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+};
+
&mcu_uart0 {
status = "okay";
pinctrl-names = "default";
--
2.34.1


2024-05-08 04:56:29

by Kumar, Udit

[permalink] [raw]
Subject: Re: [PATCH 3/5] arm64: boot: dts: ti: k3-am68-sk-base-board: Add LP8733 and TPS6287 nodes

Hi Neha

On 5/7/2024 5:51 PM, Neha Malcom Francis wrote:
> Add DTS node for LP87334E PMIC and two TPS6287x high current buck
> converters.
>
> LP87334E is responsible for supplying power to the MCU and MAIN domains
> as well as to LPDDR4. The two TPS6287x supply power to the MAIN
> domain for AVS and other core supplies.
>
> Signed-off-by: Neha Malcom Francis <[email protected]>
> Link: https://www.ti.com/lit/pdf/slda060
> ---
> [..]
> + tps62873b: tps62873@43 {
> + compatible = "ti,tps6287x";
> + bootph-pre-ram;

I think,  we don;t need bootph-pre-ram for fixed regulator,

Please check once, if really bootph-pre-ram needed here


> + reg = <0x43>;
> + regulator-name = "VDD_CORE_0V8";
> + regulator-min-microvolt = <800000>;
> + regulator-max-microvolt = <800000>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +};
> +
> &mcu_uart0 {
> status = "okay";
> pinctrl-names = "default";

2024-05-08 06:49:44

by Neha Malcom Francis

[permalink] [raw]
Subject: Re: [PATCH 3/5] arm64: boot: dts: ti: k3-am68-sk-base-board: Add LP8733 and TPS6287 nodes

Hi Udit

On 08/05/24 10:25, Kumar, Udit wrote:
> Hi Neha
>
> On 5/7/2024 5:51 PM, Neha Malcom Francis wrote:
>> Add DTS node for LP87334E PMIC and two TPS6287x high current buck
>> converters.
>>
>> LP87334E is responsible for supplying power to the MCU and MAIN domains
>> as well as to LPDDR4. The two TPS6287x supply power to the MAIN
>> domain for AVS and other core supplies.
>>
>> Signed-off-by: Neha Malcom Francis <[email protected]>
>> Link: https://www.ti.com/lit/pdf/slda060
>> ---
>> [..]
>> +    tps62873b: tps62873@43 {
>> +        compatible = "ti,tps6287x";
>> +        bootph-pre-ram;
>
> I think,  we don;t need bootph-pre-ram for fixed regulator,
>
> Please check once, if really bootph-pre-ram needed here
>

Yeah, there's no need for the bootloader needing this regulator at present. Will
make the change, thanks!

>
>> +        reg = <0x43>;
>> +        regulator-name = "VDD_CORE_0V8";
>> +        regulator-min-microvolt = <800000>;
>> +        regulator-max-microvolt = <800000>;
>> +        regulator-boot-on;
>> +        regulator-always-on;
>> +    };
>> +};
>> +
>>   &mcu_uart0 {
>>       status = "okay";
>>       pinctrl-names = "default";

--
Thanking You
Neha Malcom Francis