[PATCH 03/14] arm64: dts: freescale: imx93-tqma9352: Add PMIC node

Shawn Guo shawnguo2 at yeah.net
Mon Aug 12 18:55:37 PDT 2024


On Wed, Jul 24, 2024 at 02:58:50PM +0200, Alexander Stein wrote:
> With driver support in place add the PMIC node and remove the
> fixed-regulators for rails provided by PMIC.
> 
> Signed-off-by: Alexander Stein <alexander.stein at ew.tq-group.com>
> ---
>  .../boot/dts/freescale/imx93-tqma9352.dtsi    | 113 ++++++++++++++----
>  1 file changed, 92 insertions(+), 21 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx93-tqma9352.dtsi b/arch/arm64/boot/dts/freescale/imx93-tqma9352.dtsi
> index d07eca6526db..ddb4f452ba2d 100644
> --- a/arch/arm64/boot/dts/freescale/imx93-tqma9352.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx93-tqma9352.dtsi
> @@ -25,20 +25,6 @@ linux,cma {
>  		};
>  	};
>  
> -	reg_v1v8: regulator-v1v8 {
> -		compatible = "regulator-fixed";
> -		regulator-name = "V_1V8";
> -		regulator-min-microvolt = <1800000>;
> -		regulator-max-microvolt = <1800000>;
> -	};
> -
> -	reg_v3v3: regulator-v3v3 {
> -		compatible = "regulator-fixed";
> -		regulator-name = "V_3V3";
> -		regulator-min-microvolt = <3300000>;
> -		regulator-max-microvolt = <3300000>;
> -	};
> -
>  	/* SD2 RST# via PMIC SW_EN */
>  	reg_usdhc2_vmmc: regulator-usdhc2 {
>  		compatible = "regulator-fixed";
> @@ -47,14 +33,14 @@ reg_usdhc2_vmmc: regulator-usdhc2 {
>  		regulator-name = "VSD_3V3";
>  		regulator-min-microvolt = <3300000>;
>  		regulator-max-microvolt = <3300000>;
> -		vin-supply = <&reg_v3v3>;
> +		vin-supply = <&buck4>;
>  		gpio = <&gpio3 7 GPIO_ACTIVE_HIGH>;
>  		enable-active-high;
>  	};
>  };
>  
>  &adc1 {
> -	vref-supply = <&reg_v1v8>;
> +	vref-supply = <&buck5>;
>  };
>  
>  &flexspi1 {
> @@ -105,6 +91,91 @@ se97_som: temperature-sensor at 1b {
>  		reg = <0x1b>;
>  	};
>  
> +	pca9451a: pmic at 25 {
> +		compatible = "nxp,pca9451a";
> +		reg = <0x25>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_pca9451>;
> +		interrupt-parent = <&gpio1>;
> +		interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
> +
> +		regulators {
> +			/* V_0V8_SOC - hw developer guide: 0.75 .. 0.9 */
> +			buck1: BUCK1 {
> +				regulator-name = "BUCK1";
> +				regulator-min-microvolt = <750000>;
> +				regulator-max-microvolt = <900000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +				regulator-ramp-delay = <3125>;
> +			};
> +
> +			/* V_DDRQ - 1.1 LPDDR4 or 0.6 LPDDR4X */
> +			buck2: BUCK2 {
> +				regulator-name = "BUCK2";
> +				regulator-min-microvolt = <600000>;
> +				regulator-max-microvolt = <1100000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +				regulator-ramp-delay = <3125>;
> +			};
> +
> +			/* V_3V3 - EEPROM, RTC, ... */
> +			buck4: BUCK4{

Missing space before braces.

> +				regulator-name = "BUCK4";
> +				regulator-min-microvolt = <3300000>;
> +				regulator-max-microvolt = <3300000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			/* V_1V8 - SPI NOR, eMMC, RAM VDD1... */
> +			buck5: BUCK5{

Ditto

Shawn

> +				regulator-name = "BUCK5";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <1800000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			/* V_1V1 - RAM VDD2*/
> +			buck6: BUCK6 {
> +				regulator-name = "BUCK6";
> +				regulator-min-microvolt = <1100000>;
> +				regulator-max-microvolt = <1100000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			/* V_1V8_BBSM, fix 1.8 */
> +			ldo1: LDO1 {
> +				regulator-name = "LDO1";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <1800000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			/* V_0V8_ANA */
> +			ldo4: LDO4 {
> +				regulator-name = "LDO4";
> +				regulator-min-microvolt = <800000>;
> +				regulator-max-microvolt = <800000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			/* V_SD2 - 3.3/1.8V USDHC2 io Voltage */
> +			ldo5: LDO5 {
> +				regulator-name = "LDO5";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <3300000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +		};
> +	};
> +
>  	pcf85063: rtc at 51 {
>  		compatible = "nxp,pcf85063a";
>  		reg = <0x51>;
> @@ -116,28 +187,28 @@ eeprom0: eeprom at 53 {
>  		reg = <0x53>;
>  		pagesize = <16>;
>  		read-only;
> -		vcc-supply = <&reg_v3v3>;
> +		vcc-supply = <&buck4>;
>  	};
>  
>  	eeprom1: eeprom at 57 {
>  		compatible = "atmel,24c64";
>  		reg = <0x57>;
>  		pagesize = <32>;
> -		vcc-supply = <&reg_v3v3>;
> +		vcc-supply = <&buck4>;
>  	};
>  
>  	/* protectable identification memory (part of M24C64-D @57) */
>  	eeprom at 5f {
>  		compatible = "atmel,24c64d-wl";
>  		reg = <0x5f>;
> -		vcc-supply = <&reg_v3v3>;
> +		vcc-supply = <&buck4>;
>  	};
>  
>  	imu at 6a {
>  		compatible = "st,ism330dhcx";
>  		reg = <0x6a>;
> -		vdd-supply = <&reg_v3v3>;
> -		vddio-supply = <&reg_v3v3>;
> +		vdd-supply = <&buck4>;
> +		vddio-supply = <&buck4>;
>  	};
>  };
>  
> -- 
> 2.34.1
> 




More information about the linux-arm-kernel mailing list