devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v7 0/3] pmic on imx8mm
@ 2023-01-10 15:23 Johannes Schneider
  2023-01-10 15:23 ` [PATCH v7 1/3] arm64: dts: imx8mm-evk: move PMIC configuration Johannes Schneider
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Johannes Schneider @ 2023-01-10 15:23 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Shawn Guo, Sascha Hauer,
	Fabio Estevam, Li Yang, Shengjiu Wang, Richard Zhu
  Cc: Pengutronix Kernel Team, NXP Linux Team, devicetree,
	linux-arm-kernel, 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?

changes with V7:
	add missing "acked-by" tag
	(finally) add missing makefile entry for imx8mm-evbk.dtb

changes with V6:
	move A53 cpu-supply nodes back into imx8mm-evk.dtsi
	rewording of commit messages
	fix syntax error during compile

changes with V5:
	split of bindings into separate commit
	rewording of commit messages

changes with V4:
	deduplicate rohm-pmic into one dtsi 

changes with V3:
	split changes into multiple commits
	removed unused header

changes with V2:
	reshuffle common nodes into the imx8mm-evk.dtsi, and only keeping the pmic related parts separate

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] 10+ messages in thread

* [PATCH v7 1/3] arm64: dts: imx8mm-evk: move PMIC configuration
  2023-01-10 15:23 [PATCH v7 0/3] pmic on imx8mm Johannes Schneider
@ 2023-01-10 15:23 ` Johannes Schneider
  2023-01-19  9:51   ` Marco Felsch
  2023-01-10 15:23 ` [PATCH v7 2/3] arm64: dts: imx8mm-evk: add revision-B EVK Johannes Schneider
  2023-01-10 15:23 ` [PATCH v7 3/3] dt-bindings: arm: fsl: Add i.MX8MM-EVK rev-b Johannes Schneider
  2 siblings, 1 reply; 10+ messages in thread
From: Johannes Schneider @ 2023-01-10 15:23 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Shawn Guo, Sascha Hauer,
	Fabio Estevam, Li Yang, Shengjiu Wang, Richard Zhu
  Cc: Pengutronix Kernel Team, NXP Linux Team, devicetree,
	linux-arm-kernel, Johannes Schneider

Move the PMIC configuration out of imx8mm-evk.dtsi into a separate
file; to accommodate devicetrees for the rev-b EVK, which comes with a
different PMIC.

Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
---
 .../boot/dts/freescale/imx8mm-ddr4-evk.dts    |   1 +
 .../dts/freescale/imx8mm-evk-rohm-pmic.dtsi   | 118 ++++++++++++++++++
 arch/arm64/boot/dts/freescale/imx8mm-evk.dts  |   1 +
 arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi | 112 -----------------
 4 files changed, 120 insertions(+), 112 deletions(-)
 create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-evk-rohm-pmic.dtsi

diff --git a/arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dts b/arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dts
index 6c079c0a3a48..f39182ce65b4 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dts
@@ -6,6 +6,7 @@
 /dts-v1/;
 
 #include "imx8mm-evk.dtsi"
+#include "imx8mm-evk-rohm-pmic.dtsi"
 
 / {
 	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


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

* [PATCH v7 2/3] arm64: dts: imx8mm-evk: add revision-B EVK
  2023-01-10 15:23 [PATCH v7 0/3] pmic on imx8mm Johannes Schneider
  2023-01-10 15:23 ` [PATCH v7 1/3] arm64: dts: imx8mm-evk: move PMIC configuration Johannes Schneider
@ 2023-01-10 15:23 ` Johannes Schneider
  2023-01-20 19:53   ` Marco Felsch
  2023-01-10 15:23 ` [PATCH v7 3/3] dt-bindings: arm: fsl: Add i.MX8MM-EVK rev-b Johannes Schneider
  2 siblings, 1 reply; 10+ messages in thread
From: Johannes Schneider @ 2023-01-10 15:23 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Shawn Guo, Sascha Hauer,
	Fabio Estevam, Li Yang, Shengjiu Wang, Richard Zhu
  Cc: Pengutronix Kernel Team, NXP Linux Team, devicetree,
	linux-arm-kernel, Johannes Schneider

Add devicetree for the EVKB, which comes with LPDDR4 and a different
PMIC.

Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
---
 arch/arm64/boot/dts/freescale/Makefile        |   1 +
 arch/arm64/boot/dts/freescale/imx8mm-evkb.dts | 116 ++++++++++++++++++
 2 files changed, 117 insertions(+)
 create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-evkb.dts

diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index 3ea9edc87909..3bccc4d10928 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -55,6 +55,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mm-data-modul-edm-sbc.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-ddr4-evk.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-emcon-avari.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-evk.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx8mm-evkb.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-icore-mx8mm-ctouch2.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-icore-mx8mm-edimm2.2.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-kontron-bl.dtb
diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evkb.dts b/arch/arm64/boot/dts/freescale/imx8mm-evkb.dts
new file mode 100644
index 000000000000..b2d724ad43b2
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx8mm-evkb.dts
@@ -0,0 +1,116 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2019-2020 NXP
+ */
+
+/dts-v1/;
+
+#include "imx8mm-evk.dtsi"
+
+/ {
+	model = "FSL i.MX8MM EVKB"; // with LPDDR4 and PCA9450 PMIC
+	compatible = "fsl,imx8mm-evkb", "fsl,imx8mm";
+};
+
+&i2c1 {
+	pmic: 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>;
+			};
+		};
+	};
+};
-- 
2.25.1


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

* [PATCH v7 3/3] dt-bindings: arm: fsl: Add i.MX8MM-EVK rev-b
  2023-01-10 15:23 [PATCH v7 0/3] pmic on imx8mm Johannes Schneider
  2023-01-10 15:23 ` [PATCH v7 1/3] arm64: dts: imx8mm-evk: move PMIC configuration Johannes Schneider
  2023-01-10 15:23 ` [PATCH v7 2/3] arm64: dts: imx8mm-evk: add revision-B EVK Johannes Schneider
@ 2023-01-10 15:23 ` Johannes Schneider
  2023-01-20 19:50   ` Marco Felsch
  2 siblings, 1 reply; 10+ messages in thread
From: Johannes Schneider @ 2023-01-10 15:23 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Shawn Guo, Sascha Hauer,
	Fabio Estevam, Li Yang, Shengjiu Wang, Richard Zhu
  Cc: Pengutronix Kernel Team, NXP Linux Team, devicetree,
	linux-arm-kernel, Johannes Schneider, Krzysztof Kozlowski

Add DT compatible strings for a rev-b imx8mm-EVK which come with a
different PMIC than rev-a.

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
---
 Documentation/devicetree/bindings/arm/fsl.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml
index fbfc4f99c01e..9c3a02c19847 100644
--- a/Documentation/devicetree/bindings/arm/fsl.yaml
+++ b/Documentation/devicetree/bindings/arm/fsl.yaml
@@ -818,6 +818,7 @@ properties:
               - emtrion,emcon-mx8mm-avari # emCON-MX8MM SoM on Avari Base
               - fsl,imx8mm-ddr4-evk       # i.MX8MM DDR4 EVK Board
               - fsl,imx8mm-evk            # i.MX8MM EVK Board
+              - fsl,imx8mm-evkb           # i.MX8MM EVK Board, rev-B
               - gateworks,imx8mm-gw7904
               - gw,imx8mm-gw71xx-0x       # i.MX8MM Gateworks Development Kit
               - gw,imx8mm-gw72xx-0x       # i.MX8MM Gateworks Development Kit
-- 
2.25.1


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

* Re: [PATCH v7 1/3] arm64: dts: imx8mm-evk: move PMIC configuration
  2023-01-10 15:23 ` [PATCH v7 1/3] arm64: dts: imx8mm-evk: move PMIC configuration Johannes Schneider
@ 2023-01-19  9:51   ` Marco Felsch
  2023-01-19 10:02     ` Ahmad Fatoum
  0 siblings, 1 reply; 10+ messages in thread
From: Marco Felsch @ 2023-01-19  9:51 UTC (permalink / raw)
  To: Johannes Schneider
  Cc: Rob Herring, Krzysztof Kozlowski, Shawn Guo, Sascha Hauer,
	Fabio Estevam, Li Yang, Shengjiu Wang, Richard Zhu,
	linux-arm-kernel, devicetree, NXP Linux Team,
	Pengutronix Kernel Team

Hi Johannes,

thanks for your patch.

On 23-01-10, Johannes Schneider wrote:
> Move the PMIC configuration out of imx8mm-evk.dtsi into a separate
> file; to accommodate devicetrees for the rev-b EVK, which comes with a

I'm not sure if we should call it rev-b since this is quite confusing.
The whole EVK bundle (cpu-board + baseboard) is called EVKB. The most
recent cpu board revision is A4 and the the cpu board itself is called
8MMINILPD4-CPU2 whereas the older cpu board is called 8MMINILPD4-CPU.

So dts file name imx8mm-evkb is correct, but mention it as rev-b in your
commit message is wrong in my opinion.

> different PMIC.


> 
> Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
> ---
>  .../boot/dts/freescale/imx8mm-ddr4-evk.dts    |   1 +
>  .../dts/freescale/imx8mm-evk-rohm-pmic.dtsi   | 118 ++++++++++++++++++
>  arch/arm64/boot/dts/freescale/imx8mm-evk.dts  |   1 +
>  arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi | 112 -----------------
>  4 files changed, 120 insertions(+), 112 deletions(-)
>  create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-evk-rohm-pmic.dtsi
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dts b/arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dts
> index 6c079c0a3a48..f39182ce65b4 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dts
> @@ -6,6 +6,7 @@
>  /dts-v1/;
>  
>  #include "imx8mm-evk.dtsi"
> +#include "imx8mm-evk-rohm-pmic.dtsi"

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.

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
> 
> 
> 

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

* Re: [PATCH v7 1/3] arm64: dts: imx8mm-evk: move PMIC configuration
  2023-01-19  9:51   ` Marco Felsch
@ 2023-01-19 10:02     ` Ahmad Fatoum
  2023-01-19 10:45       ` Marco Felsch
  0 siblings, 1 reply; 10+ messages in thread
From: Ahmad Fatoum @ 2023-01-19 10:02 UTC (permalink / raw)
  To: Marco Felsch, Johannes Schneider
  Cc: devicetree, Richard Zhu, Pengutronix Kernel Team, Shawn Guo,
	Sascha Hauer, Li Yang, Rob Herring, NXP Linux Team,
	Krzysztof Kozlowski, Fabio Estevam, Shengjiu Wang,
	linux-arm-kernel

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 |


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

* Re: [PATCH v7 1/3] arm64: dts: imx8mm-evk: move PMIC configuration
  2023-01-19 10:02     ` Ahmad Fatoum
@ 2023-01-19 10:45       ` Marco Felsch
  0 siblings, 0 replies; 10+ messages in thread
From: Marco Felsch @ 2023-01-19 10:45 UTC (permalink / raw)
  To: Ahmad Fatoum
  Cc: Johannes Schneider, devicetree, Richard Zhu,
	Pengutronix Kernel Team, Shawn Guo, Sascha Hauer, Li Yang,
	Rob Herring, NXP Linux Team, Krzysztof Kozlowski, Fabio Estevam,
	Shengjiu Wang, linux-arm-kernel

Hi Ahamd,

On 23-01-19, Ahmad Fatoum wrote:
> 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.

Ah okay but still it is one indirection more while reading the dts file.
Therefore I would prefer to put it into the dts file or keep it in the
dtsi file and delete the node within the imx8mm-evkb.dts file. But this
is just my opinion.

Regards,
  Marco


> 
> 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 |
> 
> 

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

* Re: [PATCH v7 3/3] dt-bindings: arm: fsl: Add i.MX8MM-EVK rev-b
  2023-01-10 15:23 ` [PATCH v7 3/3] dt-bindings: arm: fsl: Add i.MX8MM-EVK rev-b Johannes Schneider
@ 2023-01-20 19:50   ` Marco Felsch
  0 siblings, 0 replies; 10+ messages in thread
From: Marco Felsch @ 2023-01-20 19:50 UTC (permalink / raw)
  To: Johannes Schneider
  Cc: Rob Herring, Krzysztof Kozlowski, Shawn Guo, Sascha Hauer,
	Fabio Estevam, Li Yang, Shengjiu Wang, Richard Zhu, devicetree,
	Krzysztof Kozlowski, NXP Linux Team, Pengutronix Kernel Team,
	linux-arm-kernel

Hi Johannes,

On 23-01-10, Johannes Schneider wrote:
> Add DT compatible strings for a rev-b imx8mm-EVK which come with a
> different PMIC than rev-a.

Please correct the commit message it is not rev-b it is EVKB. The most
recent revision of the 'original' EVK CPU module is C2 and the most
recent revision of EVKB CPU2 module is A4.

> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
> ---
>  Documentation/devicetree/bindings/arm/fsl.yaml | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml
> index fbfc4f99c01e..9c3a02c19847 100644
> --- a/Documentation/devicetree/bindings/arm/fsl.yaml
> +++ b/Documentation/devicetree/bindings/arm/fsl.yaml
> @@ -818,6 +818,7 @@ properties:
>                - emtrion,emcon-mx8mm-avari # emCON-MX8MM SoM on Avari Base
>                - fsl,imx8mm-ddr4-evk       # i.MX8MM DDR4 EVK Board
>                - fsl,imx8mm-evk            # i.MX8MM EVK Board
> +              - fsl,imx8mm-evkb           # i.MX8MM EVK Board, rev-B
								   ^
			Please drop this rev-B and instead just write:
			# i.MX8MM EVKB board

Regards,
  Marco

>                - gateworks,imx8mm-gw7904
>                - gw,imx8mm-gw71xx-0x       # i.MX8MM Gateworks Development Kit
>                - gw,imx8mm-gw72xx-0x       # i.MX8MM Gateworks Development Kit
> -- 
> 2.25.1
> 
> 
> 

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

* Re: [PATCH v7 2/3] arm64: dts: imx8mm-evk: add revision-B EVK
  2023-01-10 15:23 ` [PATCH v7 2/3] arm64: dts: imx8mm-evk: add revision-B EVK Johannes Schneider
@ 2023-01-20 19:53   ` Marco Felsch
  2023-01-21 19:51     ` Krzysztof Kozlowski
  0 siblings, 1 reply; 10+ messages in thread
From: Marco Felsch @ 2023-01-20 19:53 UTC (permalink / raw)
  To: Johannes Schneider
  Cc: Rob Herring, Krzysztof Kozlowski, Shawn Guo, Sascha Hauer,
	Fabio Estevam, Li Yang, Shengjiu Wang, Richard Zhu,
	linux-arm-kernel, devicetree, NXP Linux Team,
	Pengutronix Kernel Team

Hi Johannes,

please adapt the subject to:

arm64: dts: add support for i.MX8MM-EVKB

to avoid confusion with the revisions written in the schematics.

Regards,
  Marco

On 23-01-10, Johannes Schneider wrote:
> Add devicetree for the EVKB, which comes with LPDDR4 and a different
> PMIC.
> 
> Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
> ---
>  arch/arm64/boot/dts/freescale/Makefile        |   1 +
>  arch/arm64/boot/dts/freescale/imx8mm-evkb.dts | 116 ++++++++++++++++++
>  2 files changed, 117 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-evkb.dts
> 
> diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
> index 3ea9edc87909..3bccc4d10928 100644
> --- a/arch/arm64/boot/dts/freescale/Makefile
> +++ b/arch/arm64/boot/dts/freescale/Makefile
> @@ -55,6 +55,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mm-data-modul-edm-sbc.dtb
>  dtb-$(CONFIG_ARCH_MXC) += imx8mm-ddr4-evk.dtb
>  dtb-$(CONFIG_ARCH_MXC) += imx8mm-emcon-avari.dtb
>  dtb-$(CONFIG_ARCH_MXC) += imx8mm-evk.dtb
> +dtb-$(CONFIG_ARCH_MXC) += imx8mm-evkb.dtb
>  dtb-$(CONFIG_ARCH_MXC) += imx8mm-icore-mx8mm-ctouch2.dtb
>  dtb-$(CONFIG_ARCH_MXC) += imx8mm-icore-mx8mm-edimm2.2.dtb
>  dtb-$(CONFIG_ARCH_MXC) += imx8mm-kontron-bl.dtb
> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evkb.dts b/arch/arm64/boot/dts/freescale/imx8mm-evkb.dts
> new file mode 100644
> index 000000000000..b2d724ad43b2
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/imx8mm-evkb.dts
> @@ -0,0 +1,116 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright 2019-2020 NXP
> + */
> +
> +/dts-v1/;
> +
> +#include "imx8mm-evk.dtsi"
> +
> +/ {
> +	model = "FSL i.MX8MM EVKB"; // with LPDDR4 and PCA9450 PMIC
> +	compatible = "fsl,imx8mm-evkb", "fsl,imx8mm";
> +};
> +
> +&i2c1 {
> +	pmic: 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>;
> +			};
> +		};
> +	};
> +};
> -- 
> 2.25.1
> 
> 
> 

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

* Re: [PATCH v7 2/3] arm64: dts: imx8mm-evk: add revision-B EVK
  2023-01-20 19:53   ` Marco Felsch
@ 2023-01-21 19:51     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 10+ messages in thread
From: Krzysztof Kozlowski @ 2023-01-21 19:51 UTC (permalink / raw)
  To: Marco Felsch, Johannes Schneider
  Cc: Rob Herring, Krzysztof Kozlowski, Shawn Guo, Sascha Hauer,
	Fabio Estevam, Li Yang, Shengjiu Wang, Richard Zhu,
	linux-arm-kernel, devicetree, NXP Linux Team,
	Pengutronix Kernel Team

On 20/01/2023 20:53, Marco Felsch wrote:
> Hi Johannes,
> 
> please adapt the subject to:
> 
> arm64: dts: add support for i.MX8MM-EVKB
> 
> to avoid confusion with the revisions written in the schematics.
> 

Except that this misses sub-arch prefix, so arm64: dts: imx8mm-evkb: ...

Best regards,
Krzysztof


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

end of thread, other threads:[~2023-01-21 19:52 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-10 15:23 [PATCH v7 0/3] pmic on imx8mm Johannes Schneider
2023-01-10 15:23 ` [PATCH v7 1/3] arm64: dts: imx8mm-evk: move PMIC configuration Johannes Schneider
2023-01-19  9:51   ` Marco Felsch
2023-01-19 10:02     ` Ahmad Fatoum
2023-01-19 10:45       ` Marco Felsch
2023-01-10 15:23 ` [PATCH v7 2/3] arm64: dts: imx8mm-evk: add revision-B EVK Johannes Schneider
2023-01-20 19:53   ` Marco Felsch
2023-01-21 19:51     ` Krzysztof Kozlowski
2023-01-10 15:23 ` [PATCH v7 3/3] dt-bindings: arm: fsl: Add i.MX8MM-EVK rev-b Johannes Schneider
2023-01-20 19:50   ` Marco Felsch

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).