mbox series

[00/15] arm64: dts: imx8m-evk: misc dts update

Message ID 20221020095934.1659449-1-peng.fan@oss.nxp.com
Headers show
Series arm64: dts: imx8m-evk: misc dts update | expand

Message

Peng Fan (OSS) Oct. 20, 2022, 9:59 a.m. UTC
From: Peng Fan <peng.fan@nxp.com>

This patchset includes several dts update for i.MX8M/N/P-EVK, with
only one dtsi patch to add mlmix power domain for i.MX8MP.

 i.MX8MP-EVK: Enable PWM, uart1/3, I2C2
              correct pcie pad
	      Fix pmic buck/ldo voltage
	      off-on-delay-us for SD
 i.MX8MN-EVK: Enable UART1, SDHC1, I2C recovery IOMUXC
	      Update vdd_soc dvs voltage
 i.MX8MM-EVK: add vcc supply for pca6416
              use off-on-delay-us for SD

A few patches are directly cherry-picked from NXP downstream which
already includes R-b tag

Adrian Alonso (1):
  arm64: dts: imx8mm-evk: add vcc supply for pca6416

Clark Wang (1):
  ARM64: dts: imx8mp-evk: add pwm support

Haibo Chen (1):
  arm64: dts: imx8m[m,p]-evk: change to use off-on-delay-us in regulator

Han Xu (1):
  arm64: dts: imx8mp-evk: enable fspi nor on imx8mp evk

Peng Fan (10):
  arm64: dts: imx8mp: add mlmix power domain
  arm64: dts: imx8mp-evk: correct pcie pad settings
  arm64: dts: imx8mp-evk: fix BUCK/LDO voltage
  arm64: dts: imx8mp-evk: enable uart1/3 ports
  arm64: dts: imx8mp-evk: enable I2C2 node
  arm64: dts: imx8mn-evk: update vdd_soc dvs voltage
  arm64: dts: imx8mn-evk: set off-on-delay-us in regulator
  arm64: dts: imx8mn-evk: add i2c gpio recovery settings
  arm64: dts: imx8mn-evk: enable uart1
  arm64: dts: imx8mn-evk: enable usdhc1

Sherry Sun (1):
  arm64: dts: imx8mm-evk: Enable usdhc1 to support wifi

 arch/arm64/boot/dts/freescale/imx8mm-evk.dts  |  23 +++
 arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi |  41 +++++
 arch/arm64/boot/dts/freescale/imx8mn-evk.dts  |   4 +-
 arch/arm64/boot/dts/freescale/imx8mn-evk.dtsi | 112 +++++++++++-
 arch/arm64/boot/dts/freescale/imx8mp-evk.dts  | 163 ++++++++++++++++--
 arch/arm64/boot/dts/freescale/imx8mp.dtsi     |   8 +
 arch/arm64/boot/dts/freescale/imx8mq-evk.dts  |   1 +
 7 files changed, 331 insertions(+), 21 deletions(-)

Comments

Jacky Bai Oct. 21, 2022, 9:44 a.m. UTC | #1
> Subject: Re: [PATCH 03/15] arm64: dts: imx8mp-evk: fix BUCK/LDO voltage
> 
> Hi Marco
> 
> On 10/20/2022 7:02 PM, Marco Felsch wrote:
> > Hi Peng,
> >
> > On 22-10-20, Peng Fan (OSS) wrote:
> >> From: Peng Fan <peng.fan@nxp.com>
> >>
> >> Per PCA9450C datasheet, the voltage range as below:
> >> BUCK1 0.6 - 2.1875
> >> BUCK2 0.6 - 2.1875
> >> BUCK4 0.6 - 3.4
> >> BUCK5 0.6 - 3.4
> >> BUCK6 0.6 - 3.4
> >>
> >> LDO1 1.6-1.9, 3.0-3.3
> >> LDO2 0.8 – 1.15
> >> LDO3 0.8 - 3.3
> >> LDO4 0.8 - 3.3
> >> LDO5 1.8 - 3.3
> >>
> >> So correct them, and also add LDO[2,4]
> >
> > In the DTS you specify voltage constraints for a specific hardware and
> > not the one supported by the PMIC. What the PMIC supports (min/max) is
> > specified within the driver.
> 

IMO, the dts properties regulator-min/max-microvolt in the regulator node should be properties
to list the ability of each regulator of PMIC. If these properties is not for PMIC itself,
how to define the board range using these properties? ^_^

And in the PMIC driver, no each PMIC's min/max range define.

BR
> Technically we could set board voltage to PMIC voltage range, it not damage
> the board from hardware level.
> but I am not sure whether Linux could work proper.
> Saying set VDD_SOC/DDR to pmic min voltage, system will crash, because it
> could not support higher freq.
> 
> I am not sure how to proceed on this, just update commit log to say that the
> board voltage range could be set to pmic voltage range?
> 
> Thanks,
> Peng.
> 
> >
> > Regards,
> >    Marco
> >
> >>
> >> Fixes: 5497bc2a2bff ("arm64: dts: imx8mp-evk: Add PMIC device")
> >> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> >> ---
> >>   arch/arm64/boot/dts/freescale/imx8mp-evk.dts | 44
> +++++++++++++-------
> >>   1 file changed, 30 insertions(+), 14 deletions(-)
> >>
> >> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
> >> b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
> >> index b4c1ef2559f2..a4cddc5a8620 100644
> >> --- a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
> >> +++ b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
> >> @@ -248,8 +248,8 @@ pmic@25 {
> >>   		regulators {
> >>   			BUCK1 {
> >>   				regulator-name = "BUCK1";
> >> -				regulator-min-microvolt = <720000>;
> >> -				regulator-max-microvolt = <1000000>;
> >> +				regulator-min-microvolt = <600000>;
> >> +				regulator-max-microvolt = <2187500>;
> >>   				regulator-boot-on;
> >>   				regulator-always-on;
> >>   				regulator-ramp-delay = <3125>;
> >> @@ -257,8 +257,8 @@ BUCK1 {
> >>
> >>   			reg_arm: BUCK2 {
> >>   				regulator-name = "BUCK2";
> >> -				regulator-min-microvolt = <720000>;
> >> -				regulator-max-microvolt = <1025000>;
> >> +				regulator-min-microvolt = <600000>;
> >> +				regulator-max-microvolt = <2187500>;
> >>   				regulator-boot-on;
> >>   				regulator-always-on;
> >>   				regulator-ramp-delay = <3125>;
> >> @@ -268,40 +268,56 @@ reg_arm: BUCK2 {
> >>
> >>   			BUCK4 {
> >>   				regulator-name = "BUCK4";
> >> -				regulator-min-microvolt = <3000000>;
> >> -				regulator-max-microvolt = <3600000>;
> >> +				regulator-min-microvolt = <600000>;
> >> +				regulator-max-microvolt = <3400000>;
> >>   				regulator-boot-on;
> >>   				regulator-always-on;
> >>   			};
> >>
> >>   			BUCK5 {
> >>   				regulator-name = "BUCK5";
> >> -				regulator-min-microvolt = <1650000>;
> >> -				regulator-max-microvolt = <1950000>;
> >> +				regulator-min-microvolt = <600000>;
> >> +				regulator-max-microvolt = <3400000>;
> >>   				regulator-boot-on;
> >>   				regulator-always-on;
> >>   			};
> >>
> >>   			BUCK6 {
> >>   				regulator-name = "BUCK6";
> >> -				regulator-min-microvolt = <1045000>;
> >> -				regulator-max-microvolt = <1155000>;
> >> +				regulator-min-microvolt = <600000>;
> >> +				regulator-max-microvolt = <3400000>;
> >>   				regulator-boot-on;
> >>   				regulator-always-on;
> >>   			};
> >>
> >>   			LDO1 {
> >>   				regulator-name = "LDO1";
> >> -				regulator-min-microvolt = <1650000>;
> >> -				regulator-max-microvolt = <1950000>;
> >> +				regulator-min-microvolt = <1600000>;
> >> +				regulator-max-microvolt = <3300000>;
> >> +				regulator-boot-on;
> >> +				regulator-always-on;
> >> +			};
> >> +
> >> +			LDO2 {
> >> +				regulator-name = "LDO2";
> >> +				regulator-min-microvolt = <800000>;
> >> +				regulator-max-microvolt = <1150000>;
> >>   				regulator-boot-on;
> >>   				regulator-always-on;
> >>   			};
> >>
> >>   			LDO3 {
> >>   				regulator-name = "LDO3";
> >> -				regulator-min-microvolt = <1710000>;
> >> -				regulator-max-microvolt = <1890000>;
> >> +				regulator-min-microvolt = <800000>;
> >> +				regulator-max-microvolt = <3300000>;
> >> +				regulator-boot-on;
> >> +				regulator-always-on;
> >> +			};
> >> +
> >> +			ldo4: LDO4 {
> >> +				regulator-name = "LDO4";
> >> +				regulator-min-microvolt = <800000>;
> >> +				regulator-max-microvolt = <3300000>;
> >>   				regulator-boot-on;
> >>   				regulator-always-on;
> >>   			};
> >> --
> >> 2.37.1
> >>
> >>
> >>