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

Shawn Guo
2024-08-13T01:56:47Z

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@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@1b {
> reg = <0x1b>;
> };
>
> + pca9451a: pmic@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@51 {
> compatible = "nxp,pcf85063a";
> reg = <0x51>;
> @@ -116,28 +187,28 @@ eeprom0: eeprom@53 {
> reg = <0x53>;
> pagesize = <16>;
> read-only;
> - vcc-supply = <&reg_v3v3>;
> + vcc-supply = <&buck4>;
> };
>
> eeprom1: eeprom@57 {
> compatible = "atmel,24c64";
> reg = <0x57>;
> pagesize = <32>;
> - vcc-supply = <&reg_v3v3>;
> + vcc-supply = <&buck4>;
> };
>
> /* protectable identification memory (part of M24C64-D @57) */
> eeprom@5f {
> compatible = "atmel,24c64d-wl";
> reg = <0x5f>;
> - vcc-supply = <&reg_v3v3>;
> + vcc-supply = <&buck4>;
> };
>
> imu@6a {
> compatible = "st,ism330dhcx";
> reg = <0x6a>;
> - vdd-supply = <&reg_v3v3>;
> - vddio-supply = <&reg_v3v3>;
> + vdd-supply = <&buck4>;
> + vddio-supply = <&buck4>;
> };
> };
>
> --
> 2.34.1
>