devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/1] pmic on imx8mm
@ 2023-01-04  5:23 Johannes Schneider
  2023-01-04  5:23 ` [PATCH 1/1] arm64: dts: imx8mm: set PCA9450a as PMIC Johannes Schneider
  2023-01-04  6:04 ` [PATCH 0/1] pmic on imx8mm Ahmad Fatoum
  0 siblings, 2 replies; 5+ messages in thread
From: Johannes Schneider @ 2023-01-04  5:23 UTC (permalink / raw)
  To: Pengutronix Kernel Team, NXP Linux Team, devicetree; +Cc: Johannes Schneider

current(?) imx8mm EVKs come with a different PMIC: used to be "rohm,bd71847", which is now replaced by "nxp,pca9450a" on the LPDDR4 variant at least
the register settings etc where "backported" from current u-boot sources for the EVK

Note: not sure if the changes should go in the ddr4-evk.dts or elsewhere;
what about backwards compatibility? = users/holders of the EVKs with the bd71847 IC?


Johannes Schneider (1):
  arm64: dts: imx8mm: set PCA9450a as PMIC

 .../boot/dts/freescale/imx8mm-ddr4-evk.dts    | 124 ++++++++++++++++++
 1 file changed, 124 insertions(+)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/1] arm64: dts: imx8mm: set PCA9450a as PMIC
  2023-01-04  5:23 [PATCH 0/1] pmic on imx8mm Johannes Schneider
@ 2023-01-04  5:23 ` Johannes Schneider
  2023-01-04  6:09   ` Ahmad Fatoum
  2023-01-04  6:04 ` [PATCH 0/1] pmic on imx8mm Ahmad Fatoum
  1 sibling, 1 reply; 5+ messages in thread
From: Johannes Schneider @ 2023-01-04  5:23 UTC (permalink / raw)
  To: Pengutronix Kernel Team, NXP Linux Team, devicetree; +Cc: Johannes Schneider

new/current EVKs come with a different PMIC: old(er) ones used to use
"rohm,bd71847", which is now replaced "nxp,pca9450a" on the LPDDR4
EVKs

Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
---
 .../boot/dts/freescale/imx8mm-ddr4-evk.dts    | 124 ++++++++++++++++++
 1 file changed, 124 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dts b/arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dts
index 6c079c0a3a48..3d986aa3e0e8 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dts
@@ -55,3 +55,127 @@ MX8MM_IOMUXC_NAND_CE3_B_GPIO3_IO4	0x19
 		>;
 	};
 };
+
+&A53_0 {
+	cpu-supply = <&buck2_reg>;
+};
+
+&A53_1 {
+	cpu-supply = <&buck2_reg>;
+};
+
+&A53_2 {
+	cpu-supply = <&buck2_reg>;
+};
+
+&A53_3 {
+	cpu-supply = <&buck2_reg>;
+};
+
+&i2c1 {
+	clock-frequency = <384000>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_i2c1>;
+	status = "okay";
+
+	pmic_nxp: pca9450@25 {
+		compatible = "nxp,pca9450a";
+		reg = <0x25>;
+		pinctrl-0 = <&pinctrl_pmic>;
+		pinctrl-names = "default";
+		interrupt-parent = <&gpio1>;
+		interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
+
+		regulators {
+			buck1_reg: BUCK1 {
+				regulator-name = "BUCK1";
+				regulator-min-microvolt = <600000>;
+				regulator-max-microvolt = <2187500>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-ramp-delay = <3125>;
+				nxp,dvs-run-voltage = <820000>;
+				nxp,dvs-standby-voltage = <800000>;
+			};
+
+			buck2_reg: BUCK2 {
+				regulator-name = "BUCK2";
+				regulator-min-microvolt = <600000>;
+				regulator-max-microvolt = <2187500>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-ramp-delay = <3125>;
+			};
+
+			buck3_reg: BUCK3 {
+				regulator-name = "BUCK3";
+				regulator-min-microvolt = <600000>;
+				regulator-max-microvolt = <2187500>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			buck4_reg: BUCK4 {
+				regulator-name = "BUCK4";
+				regulator-min-microvolt = <600000>;
+				regulator-max-microvolt = <3400000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			buck5_reg: BUCK5 {
+				regulator-name = "BUCK5";
+				regulator-min-microvolt = <600000>;
+				regulator-max-microvolt = <3400000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			buck6_reg: BUCK6 {
+				regulator-name = "BUCK6";
+				regulator-min-microvolt = <600000>;
+				regulator-max-microvolt = <3400000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			ldo1_reg: LDO1 {
+				regulator-name = "LDO1";
+				regulator-min-microvolt = <1600000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			ldo2_reg: LDO2 {
+				regulator-name = "LDO2";
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <1150000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			ldo3_reg: LDO3 {
+				regulator-name = "LDO3";
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			ldo4_reg: LDO4 {
+				regulator-name = "LDO4";
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			ldo5_reg: LDO5 {
+				regulator-name = "LDO5";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+			};
+		};
+	};
+};
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 0/1] pmic on imx8mm
  2023-01-04  5:23 [PATCH 0/1] pmic on imx8mm Johannes Schneider
  2023-01-04  5:23 ` [PATCH 1/1] arm64: dts: imx8mm: set PCA9450a as PMIC Johannes Schneider
@ 2023-01-04  6:04 ` Ahmad Fatoum
  2023-01-04  6:10   ` Ahmad Fatoum
  1 sibling, 1 reply; 5+ messages in thread
From: Ahmad Fatoum @ 2023-01-04  6:04 UTC (permalink / raw)
  To: Johannes Schneider, Pengutronix Kernel Team, NXP Linux Team,
	devicetree

Hi,

On 04.01.23 06:23, Johannes Schneider wrote:
> current(?) imx8mm EVKs come with a different PMIC: used to be "rohm,bd71847", which is now replaced by "nxp,pca9450a" on the LPDDR4 variant at least

So you have a LPDDR4 EVK.

> the register settings etc where "backported" from current u-boot sources for the EVK
> 
> Note: not sure if the changes should go in the ddr4-evk.dts or elsewhere;

Why change the DDR4 EVK's device tree?

> what about backwards compatibility? = users/holders of the EVKs with the bd71847 IC?

It's a new device, so give it a new device tree and a new DT compatible.

Thanks,
Ahmad

> 
> 
> Johannes Schneider (1):
>   arm64: dts: imx8mm: set PCA9450a as PMIC
> 
>  .../boot/dts/freescale/imx8mm-ddr4-evk.dts    | 124 ++++++++++++++++++
>  1 file changed, 124 insertions(+)
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/1] arm64: dts: imx8mm: set PCA9450a as PMIC
  2023-01-04  5:23 ` [PATCH 1/1] arm64: dts: imx8mm: set PCA9450a as PMIC Johannes Schneider
@ 2023-01-04  6:09   ` Ahmad Fatoum
  0 siblings, 0 replies; 5+ messages in thread
From: Ahmad Fatoum @ 2023-01-04  6:09 UTC (permalink / raw)
  To: Johannes Schneider, Pengutronix Kernel Team, NXP Linux Team,
	devicetree

On 04.01.23 06:23, Johannes Schneider wrote:
> new/current EVKs come with a different PMIC: old(er) ones used to use
> "rohm,bd71847", which is now replaced "nxp,pca9450a" on the LPDDR4
> EVKs
> 
> Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
> ---
>  .../boot/dts/freescale/imx8mm-ddr4-evk.dts    | 124 ++++++++++++++++++
>  1 file changed, 124 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dts b/arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dts
> index 6c079c0a3a48..3d986aa3e0e8 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dts
> @@ -55,3 +55,127 @@ MX8MM_IOMUXC_NAND_CE3_B_GPIO3_IO4	0x19
>  		>;
>  	};
>  };
> +
> +&A53_0 {
> +	cpu-supply = <&buck2_reg>;
> +};
> +
> +&A53_1 {
> +	cpu-supply = <&buck2_reg>;
> +};
> +
> +&A53_2 {
> +	cpu-supply = <&buck2_reg>;
> +};
> +
> +&A53_3 {
> +	cpu-supply = <&buck2_reg>;
> +};
> +
> +&i2c1 {

This bus already has a Rohm PMIC at 0x4b. You need to move that out of
imx8mm-evk.dtsi and into the older DTS. See the imx8mn-evk.dtsi for details.

> +	clock-frequency = <384000>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_i2c1>;

Pinmux already done in DTSI.

> +	status = "okay";
> +
> +	pmic_nxp: pca9450@25 {

pmic@25.

> +		compatible = "nxp,pca9450a";
> +		reg = <0x25>;
> +		pinctrl-0 = <&pinctrl_pmic>;
> +		pinctrl-names = "default";
> +		interrupt-parent = <&gpio1>;
> +		interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
> +
> +		regulators {
> +			buck1_reg: BUCK1 {
> +				regulator-name = "BUCK1";
> +				regulator-min-microvolt = <600000>;
> +				regulator-max-microvolt = <2187500>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +				regulator-ramp-delay = <3125>;
> +				nxp,dvs-run-voltage = <820000>;
> +				nxp,dvs-standby-voltage = <800000>;
> +			};
> +
> +			buck2_reg: BUCK2 {
> +				regulator-name = "BUCK2";
> +				regulator-min-microvolt = <600000>;
> +				regulator-max-microvolt = <2187500>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +				regulator-ramp-delay = <3125>;
> +			};
> +
> +			buck3_reg: BUCK3 {
> +				regulator-name = "BUCK3";
> +				regulator-min-microvolt = <600000>;
> +				regulator-max-microvolt = <2187500>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			buck4_reg: BUCK4 {
> +				regulator-name = "BUCK4";
> +				regulator-min-microvolt = <600000>;
> +				regulator-max-microvolt = <3400000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			buck5_reg: BUCK5 {
> +				regulator-name = "BUCK5";
> +				regulator-min-microvolt = <600000>;
> +				regulator-max-microvolt = <3400000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			buck6_reg: BUCK6 {
> +				regulator-name = "BUCK6";
> +				regulator-min-microvolt = <600000>;
> +				regulator-max-microvolt = <3400000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			ldo1_reg: LDO1 {
> +				regulator-name = "LDO1";
> +				regulator-min-microvolt = <1600000>;
> +				regulator-max-microvolt = <3300000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			ldo2_reg: LDO2 {
> +				regulator-name = "LDO2";
> +				regulator-min-microvolt = <800000>;
> +				regulator-max-microvolt = <1150000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			ldo3_reg: LDO3 {
> +				regulator-name = "LDO3";
> +				regulator-min-microvolt = <800000>;
> +				regulator-max-microvolt = <3300000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			ldo4_reg: LDO4 {
> +				regulator-name = "LDO4";
> +				regulator-min-microvolt = <800000>;
> +				regulator-max-microvolt = <3300000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			ldo5_reg: LDO5 {
> +				regulator-name = "LDO5";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <3300000>;
> +			};
> +		};
> +	};
> +};

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 0/1] pmic on imx8mm
  2023-01-04  6:04 ` [PATCH 0/1] pmic on imx8mm Ahmad Fatoum
@ 2023-01-04  6:10   ` Ahmad Fatoum
  0 siblings, 0 replies; 5+ messages in thread
From: Ahmad Fatoum @ 2023-01-04  6:10 UTC (permalink / raw)
  To: Johannes Schneider, Pengutronix Kernel Team, NXP Linux Team,
	devicetree

On 04.01.23 07:04, Ahmad Fatoum wrote:
> Hi,
> 
> On 04.01.23 06:23, Johannes Schneider wrote:
>> current(?) imx8mm EVKs come with a different PMIC: used to be "rohm,bd71847", which is now replaced by "nxp,pca9450a" on the LPDDR4 variant at least
> 
> So you have a LPDDR4 EVK.
> 
>> the register settings etc where "backported" from current u-boot sources for the EVK
>>
>> Note: not sure if the changes should go in the ddr4-evk.dts or elsewhere;
> 
> Why change the DDR4 EVK's device tree?
> 
>> what about backwards compatibility? = users/holders of the EVKs with the bd71847 IC?
> 
> It's a new device, so give it a new device tree and a new DT compatible.

Also, you didn't include the maintainers in the recipient list. 

> 
> Thanks,
> Ahmad
> 
>>
>>
>> Johannes Schneider (1):
>>   arm64: dts: imx8mm: set PCA9450a as PMIC
>>
>>  .../boot/dts/freescale/imx8mm-ddr4-evk.dts    | 124 ++++++++++++++++++
>>  1 file changed, 124 insertions(+)
>>
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-01-04  6:11 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-04  5:23 [PATCH 0/1] pmic on imx8mm Johannes Schneider
2023-01-04  5:23 ` [PATCH 1/1] arm64: dts: imx8mm: set PCA9450a as PMIC Johannes Schneider
2023-01-04  6:09   ` Ahmad Fatoum
2023-01-04  6:04 ` [PATCH 0/1] pmic on imx8mm Ahmad Fatoum
2023-01-04  6:10   ` Ahmad Fatoum

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).