Hello Marco, On 19.01.23 10:51, Marco Felsch wrote: > Do we really need to move it into another dtsi file? I would either > suggest to move the pmic description into the .dts file since it is not > common anymore. This way we can avoid the imx8mm-evk-rohm-pmic.dtsi. The PMIC DTSIs were my suggestion. The Rohm PMIC is still common between old LPDDR4 EVK and DDR4 EVK. Cheers, Ahmad > > Regards, > Marco > >> / { >> model = "FSL i.MX8MM DDR4 EVK with CYW43455 WIFI/BT board"; >> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk-rohm-pmic.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-evk-rohm-pmic.dtsi >> new file mode 100644 >> index 000000000000..0b056996a27b >> --- /dev/null >> +++ b/arch/arm64/boot/dts/freescale/imx8mm-evk-rohm-pmic.dtsi >> @@ -0,0 +1,118 @@ >> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) >> +/* >> + * Copyright 2020 NXP >> + */ >> + >> +&i2c1 { >> + pmic@4b { >> + compatible = "rohm,bd71847"; >> + reg = <0x4b>; >> + pinctrl-names = "default"; >> + pinctrl-0 = <&pinctrl_pmic>; >> + interrupt-parent = <&gpio1>; >> + interrupts = <3 IRQ_TYPE_LEVEL_LOW>; >> + rohm,reset-snvs-powered; >> + >> + #clock-cells = <0>; >> + clocks = <&osc_32k 0>; >> + clock-output-names = "clk-32k-out"; >> + >> + regulators { >> + buck1_reg: BUCK1 { >> + regulator-name = "buck1"; >> + regulator-min-microvolt = <700000>; >> + regulator-max-microvolt = <1300000>; >> + regulator-boot-on; >> + regulator-always-on; >> + regulator-ramp-delay = <1250>; >> + }; >> + >> + buck2_reg: BUCK2 { >> + regulator-name = "buck2"; >> + regulator-min-microvolt = <700000>; >> + regulator-max-microvolt = <1300000>; >> + regulator-boot-on; >> + regulator-always-on; >> + regulator-ramp-delay = <1250>; >> + rohm,dvs-run-voltage = <1000000>; >> + rohm,dvs-idle-voltage = <900000>; >> + }; >> + >> + buck3_reg: BUCK3 { >> + // BUCK5 in datasheet >> + regulator-name = "buck3"; >> + regulator-min-microvolt = <700000>; >> + regulator-max-microvolt = <1350000>; >> + regulator-boot-on; >> + regulator-always-on; >> + }; >> + >> + buck4_reg: BUCK4 { >> + // BUCK6 in datasheet >> + regulator-name = "buck4"; >> + regulator-min-microvolt = <3000000>; >> + regulator-max-microvolt = <3300000>; >> + regulator-boot-on; >> + regulator-always-on; >> + }; >> + >> + buck5_reg: BUCK5 { >> + // BUCK7 in datasheet >> + regulator-name = "buck5"; >> + regulator-min-microvolt = <1605000>; >> + regulator-max-microvolt = <1995000>; >> + regulator-boot-on; >> + regulator-always-on; >> + }; >> + >> + buck6_reg: BUCK6 { >> + // BUCK8 in datasheet >> + regulator-name = "buck6"; >> + regulator-min-microvolt = <800000>; >> + regulator-max-microvolt = <1400000>; >> + 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 = <900000>; >> + regulator-boot-on; >> + regulator-always-on; >> + }; >> + >> + ldo3_reg: LDO3 { >> + regulator-name = "ldo3"; >> + regulator-min-microvolt = <1800000>; >> + regulator-max-microvolt = <3300000>; >> + regulator-boot-on; >> + regulator-always-on; >> + }; >> + >> + ldo4_reg: LDO4 { >> + regulator-name = "ldo4"; >> + regulator-min-microvolt = <900000>; >> + regulator-max-microvolt = <1800000>; >> + regulator-boot-on; >> + regulator-always-on; >> + }; >> + >> + ldo6_reg: LDO6 { >> + regulator-name = "ldo6"; >> + regulator-min-microvolt = <900000>; >> + regulator-max-microvolt = <1800000>; >> + regulator-boot-on; >> + regulator-always-on; >> + }; >> + }; >> + }; >> +}; >> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk.dts b/arch/arm64/boot/dts/freescale/imx8mm-evk.dts >> index a2b24d4d4e3e..d2b6d7de7e53 100644 >> --- a/arch/arm64/boot/dts/freescale/imx8mm-evk.dts >> +++ b/arch/arm64/boot/dts/freescale/imx8mm-evk.dts >> @@ -7,6 +7,7 @@ >> >> #include <dt-bindings/usb/pd.h> >> #include "imx8mm-evk.dtsi" >> +#include "imx8mm-evk-rohm-pmic.dtsi" >> >> / { >> model = "FSL i.MX8MM EVK board"; >> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi >> index 7d6317d95b13..21d0614af44c 100644 >> --- a/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi >> +++ b/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi >> @@ -182,118 +182,6 @@ &i2c1 { >> pinctrl-names = "default"; >> pinctrl-0 = <&pinctrl_i2c1>; >> status = "okay"; >> - >> - pmic@4b { >> - compatible = "rohm,bd71847"; >> - reg = <0x4b>; >> - pinctrl-names = "default"; >> - pinctrl-0 = <&pinctrl_pmic>; >> - interrupt-parent = <&gpio1>; >> - interrupts = <3 IRQ_TYPE_LEVEL_LOW>; >> - rohm,reset-snvs-powered; >> - >> - #clock-cells = <0>; >> - clocks = <&osc_32k 0>; >> - clock-output-names = "clk-32k-out"; >> - >> - regulators { >> - buck1_reg: BUCK1 { >> - regulator-name = "buck1"; >> - regulator-min-microvolt = <700000>; >> - regulator-max-microvolt = <1300000>; >> - regulator-boot-on; >> - regulator-always-on; >> - regulator-ramp-delay = <1250>; >> - }; >> - >> - buck2_reg: BUCK2 { >> - regulator-name = "buck2"; >> - regulator-min-microvolt = <700000>; >> - regulator-max-microvolt = <1300000>; >> - regulator-boot-on; >> - regulator-always-on; >> - regulator-ramp-delay = <1250>; >> - rohm,dvs-run-voltage = <1000000>; >> - rohm,dvs-idle-voltage = <900000>; >> - }; >> - >> - buck3_reg: BUCK3 { >> - // BUCK5 in datasheet >> - regulator-name = "buck3"; >> - regulator-min-microvolt = <700000>; >> - regulator-max-microvolt = <1350000>; >> - regulator-boot-on; >> - regulator-always-on; >> - }; >> - >> - buck4_reg: BUCK4 { >> - // BUCK6 in datasheet >> - regulator-name = "buck4"; >> - regulator-min-microvolt = <3000000>; >> - regulator-max-microvolt = <3300000>; >> - regulator-boot-on; >> - regulator-always-on; >> - }; >> - >> - buck5_reg: BUCK5 { >> - // BUCK7 in datasheet >> - regulator-name = "buck5"; >> - regulator-min-microvolt = <1605000>; >> - regulator-max-microvolt = <1995000>; >> - regulator-boot-on; >> - regulator-always-on; >> - }; >> - >> - buck6_reg: BUCK6 { >> - // BUCK8 in datasheet >> - regulator-name = "buck6"; >> - regulator-min-microvolt = <800000>; >> - regulator-max-microvolt = <1400000>; >> - 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 = <900000>; >> - regulator-boot-on; >> - regulator-always-on; >> - }; >> - >> - ldo3_reg: LDO3 { >> - regulator-name = "ldo3"; >> - regulator-min-microvolt = <1800000>; >> - regulator-max-microvolt = <3300000>; >> - regulator-boot-on; >> - regulator-always-on; >> - }; >> - >> - ldo4_reg: LDO4 { >> - regulator-name = "ldo4"; >> - regulator-min-microvolt = <900000>; >> - regulator-max-microvolt = <1800000>; >> - regulator-boot-on; >> - regulator-always-on; >> - }; >> - >> - ldo6_reg: LDO6 { >> - regulator-name = "ldo6"; >> - regulator-min-microvolt = <900000>; >> - regulator-max-microvolt = <1800000>; >> - regulator-boot-on; >> - regulator-always-on; >> - }; >> - }; >> - }; >> }; >> >> &i2c2 { >> -- >> 2.25.1 >> >> >> > > -- 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 |