diff mbox series

[v1] ARM: dts: twl6032: Add DTS file for TWL6032 PMIC

Message ID 20240611132134.31269-1-bavishimithil@gmail.com (mailing list archive)
State New
Headers show
Series [v1] ARM: dts: twl6032: Add DTS file for TWL6032 PMIC | expand

Commit Message

Mighty June 11, 2024, 1:21 p.m. UTC
From: Mithil Bavishi <bavishimithil@gmail.com>

Add a dedicated DTS file for the TWL6032 PMIC (Phoenix Lite). Already
has driver support with TWL6030 (Phoenix) since both of them are so
similar, some nodes can be reused from TWL6030 as well.

This can be included in the board files like twl6030.
Example:
...
&i2c1 {
    twl: twl@48 {
        reg = <0x48>;
        interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
        interrupt-controller;
        interrupt-parent = <&gic>;
    };
};

/include/ "twl6032.dtsi"
...

Used in devices like samsung-espresso, amazon-jem, epson-embt2ws etc.

Regulator values are found from downstream kernel for espresso.

Signed-off-by: Mithil Bavishi <bavishimithil@gmail.com>
---
 arch/arm/boot/dts/ti/omap/twl6032.dtsi | 94 ++++++++++++++++++++++++++
 1 file changed, 94 insertions(+)
 create mode 100644 arch/arm/boot/dts/ti/omap/twl6032.dtsi

Comments

Andreas Kemnade June 11, 2024, 2:49 p.m. UTC | #1
Hi,

On Tue, 11 Jun 2024 18:51:34 +0530
Mighty <bavishimithil@gmail.com> wrote:

> From: Mithil Bavishi <bavishimithil@gmail.com>
> 
> Add a dedicated DTS file for the TWL6032 PMIC (Phoenix Lite). Already
> has driver support with TWL6030 (Phoenix) since both of them are so
> similar, some nodes can be reused from TWL6030 as well.
> 
> This can be included in the board files like twl6030.
> Example:
> ...
> &i2c1 {
>     twl: twl@48 {
>         reg = <0x48>;
>         interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
>         interrupt-controller;
>         interrupt-parent = <&gic>;
>     };
> };
> 
> /include/ "twl6032.dtsi"
> ...
> 
> Used in devices like samsung-espresso, amazon-jem, epson-embt2ws etc.
> 
> Regulator values are found from downstream kernel for espresso.
> 
hmm, that might be board specific stuff, maybe keep them as they are in the
twl6030.dtsi and override them in board specific dts files if needed.
And is there any reason why you left out the pwm stuff?
I think the twl6030.dtsi and twl6032.dtsi should be as similar as possible.

Regards,
Andreas
Mighty June 11, 2024, 6:43 p.m. UTC | #2
On Tue, Jun 11, 2024 at 8:19 PM Andreas Kemnade <andreas@kemnade.info> wrote:
> hmm, that might be board specific stuff, maybe keep them as they are in the
> twl6030.dtsi and override them in board specific dts files if needed.
We could do that, since we have no datasheet publicly available for
6032, I thought it would be better to stick to values which are known
to be working hence using downstream values. Anything mentioned in the
BT200 kernel, we could update it with those values.

> And is there any reason why you left out the pwm stuff?
Didn't need it for espresso, but will add in v2.

> I think the twl6030.dtsi and twl6032.dtsi should be as similar as possible.
Agreed. But same min/max values as well?
Mighty June 13, 2024, 8:45 a.m. UTC | #3
On Tue, Jun 11, 2024 at 8:19 PM Andreas Kemnade <andreas@kemnade.info> wrote:
> I think the twl6030.dtsi and twl6032.dtsi should be as similar as possible.

Hey the values seem to be different for twl6030.dtsi,
omap4-epson-embt2ws.dts, and omap4-samsung-espresso-common.dtsi.
Should we just define the nodes in twl6032.dtsi and let them put
min/max volts and other properties in the board files?
Mighty June 13, 2024, 8:49 a.m. UTC | #4
https://github.com/MightyM17/android_kernel_ti_omap4/blob/3.4/common/arch/arm/mach-omap2/board-espresso-pmic.c#L446-L455
Should we map it accordingly? Like vaux1: regulator-vaux1 and
compatible has ldo1, or should we call the node ldo1 as well?
Mighty June 20, 2024, 1:05 p.m. UTC | #5
Hello, how should we go ahead with this?
Krzysztof Kozlowski June 20, 2024, 1:15 p.m. UTC | #6
On 20/06/2024 15:05, Mithil wrote:
> Hello, how should we go ahead with this?

It's impossible to figure out what you refer to. Please fix your email
client so you preserve relevant context and readers can understand to
whom and about what you are replying.

Best regards,
Krzysztof
Andreas Kemnade June 20, 2024, 2:18 p.m. UTC | #7
Hi Mithil,

Am Thu, 13 Jun 2024 14:15:19 +0530
schrieb Mithil <bavishimithil@gmail.com>:

> On Tue, Jun 11, 2024 at 8:19 PM Andreas Kemnade
> <andreas@kemnade.info> wrote:
> > I think the twl6030.dtsi and twl6032.dtsi should be as similar as
> > possible.  
> 
> Hey the values seem to be different for twl6030.dtsi,
> omap4-epson-embt2ws.dts, and omap4-samsung-espresso-common.dtsi.
> Should we just define the nodes in twl6032.dtsi and let them put
> min/max volts and other properties in the board files?
> 
IMHO either the full range there and override board specific stuff in
the *.dts files or no voltages.

Regards,
Andreas
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/ti/omap/twl6032.dtsi b/arch/arm/boot/dts/ti/omap/twl6032.dtsi
new file mode 100644
index 000000000..a48723a24
--- /dev/null
+++ b/arch/arm/boot/dts/ti/omap/twl6032.dtsi
@@ -0,0 +1,95 @@ 
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Integrated Power Management Chip
+ * https://www.ti.com/lit/ds/symlink/twl6032.pdf
+ */
+
+&twl {
+	compatible = "ti,twl6032";
+	interrupt-controller;
+	#interrupt-cells = <1>;
+
+	rtc {
+		compatible = "ti,twl4030-rtc";
+		interrupts = <11>;
+	};
+
+	vana: regulator-vana {
+		compatible = "ti,twl6030-vana";
+		regulator-min-microvolt = <2100000>;
+		regulator-max-microvolt = <2100000>;
+		regulator-always-on;
+		regulator-state-mem {
+			regulator-off-in-suspend;
+		};
+	};
+
+	ldo1: regulator-ldo1 {
+		compatible = "ti,twl6032-ldo1";
+		regulator-min-microvolt = <2800000>;
+		regulator-max-microvolt = <2800000>;
+		regulator-always-on;
+		regulator-state-mem {
+			regulator-off-in-suspend;
+		};
+	};
+
+	ldo3: regulator-ldo3 {
+		compatible = "ti,twl6032-ldo3";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-always-on;
+		regulator-state-mem {
+			regulator-off-in-suspend;
+		};
+	};
+
+	ldo4: regulator-ldo4 {
+		compatible = "ti,twl6032-ldo4";
+		regulator-min-microvolt = <2800000>;
+		regulator-max-microvolt = <2800000>;
+		regulator-always-on;
+	};
+
+	ldo5: regulator-ldo5 {
+		compatible = "ti,twl6032-ldo5";
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+		regulator-always-on;
+	};
+
+	ldo6: regulator-ldo6 {
+		compatible = "ti,twl6032-ldo6";
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+		regulator-always-on;
+		regulator-state-mem {
+			regulator-off-in-suspend;
+		};
+	};
+
+	smps4: regulator-smps4 {
+		compatible = "ti,twl6032-smps4";
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+		regulator-always-on;
+	};
+
+	ldousb: regulator-ldousb {
+		compatible = "ti,twl6032-ldousb";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-always-on;
+	};
+
+	gpadc: gpadc {
+		compatible = "ti,twl6032-gpadc";
+		interrupts = <3>;
+		#io-channel-cells = <1>;
+	};
+
+	twl_usb_comparator: usb-comparator {
+		compatible = "ti,twl6030-usb";
+		interrupts = <4>, <10>;
+	};
+};