All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v8 0/3] pmic on imx8mm
@ 2023-01-30 17:25 ` Johannes Schneider
  0 siblings, 0 replies; 16+ messages in thread
From: Johannes Schneider @ 2023-01-30 17:25 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 V11:
	correct (?) regulator min/max from:
	8MMINILPD4-CPU  SPF-31399_C2.pdf

changes with V10:
	- keep rhom-pic node untouched, for the "old" evks, and
	  delete+replace the node in the newer evks = EVKB
	- migrate voltage levels set for the rhom to the nxp pmic

changes with V9:
	drop 'rev b' references

changes with V8:
	rewording of commit messages, to reference "EVKB" instead of "rev-b"

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

* [PATCH v8 0/3] pmic on imx8mm
@ 2023-01-30 17:25 ` Johannes Schneider
  0 siblings, 0 replies; 16+ messages in thread
From: Johannes Schneider @ 2023-01-30 17:25 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 V11:
	correct (?) regulator min/max from:
	8MMINILPD4-CPU  SPF-31399_C2.pdf

changes with V10:
	- keep rhom-pic node untouched, for the "old" evks, and
	  delete+replace the node in the newer evks = EVKB
	- migrate voltage levels set for the rhom to the nxp pmic

changes with V9:
	drop 'rev b' references

changes with V8:
	rewording of commit messages, to reference "EVKB" instead of "rev-b"

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


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v11 1/2] arm64: dts: imx8mm-evkb: add support for i.MX8MM-EVKB
  2023-01-30 17:25 ` Johannes Schneider
@ 2023-01-30 17:25   ` Johannes Schneider
  -1 siblings, 0 replies; 16+ messages in thread
From: Johannes Schneider @ 2023-01-30 17:25 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.

The regulator min/max values are taken from the evk's schematic:
8MMINILPD4-CPU  SPF-31399_C2.pdf

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 | 134 ++++++++++++++++++
 2 files changed, 135 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..2c3947d68982
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx8mm-evkb.dts
@@ -0,0 +1,134 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2019-2022 NXP
+ */
+
+/dts-v1/;
+
+#include "imx8mm-evk.dtsi"
+
+/ {
+	model = "FSL i.MX8MM EVKB"; // with LPDDR4 and PCA9450 PMIC
+	compatible = "fsl,imx8mm-evkb", "fsl,imx8mm";
+};
+
+&i2c1 {
+	/*
+	 * replace "rohm,bd71847" pmic found on previous evks
+	 * with "nxp,pca9450a"
+	 */
+	/delete-node/ pmic@4b
+
+	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 {
+			// VDD_SOC_0V8
+			buck1_reg: BUCK1 {
+				regulator-name = "BUCK1";
+				regulator-min-microvolt = <780000>;
+				regulator-max-microvolt = <900000>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-ramp-delay = <1250>;
+			};
+
+			// VDD_ARM_0V9
+			buck2_reg: BUCK2 {
+				regulator-name = "BUCK2";
+				regulator-min-microvolt = <805000>;
+				regulator-max-microvolt = <1050000>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-ramp-delay = <1250>;
+				nxp,dvs-standby-voltage = <850000>;
+			};
+
+			// VDD_DRAM&PU_0V9 (BUCK5 in datasheet)
+			buck3_reg: BUCK3 {
+				regulator-name = "BUCK3";
+				regulator-min-microvolt = <805000>;
+				regulator-max-microvolt = <1000000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			// VDD_3V3/NVCC_3V3 (BUCK6 in datasheet)
+			buck4_reg: BUCK4 {
+				regulator-name = "BUCK4";
+				regulator-min-microvolt = <3000000>;
+				regulator-max-microvolt = <3600000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			// VDD_1V8/NVCC_1V8 (BUCK7 in datasheet)
+			buck5_reg: BUCK5 {
+				regulator-name = "BUCK5";
+				regulator-min-microvolt = <1650000>;
+				regulator-max-microvolt = <1950000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			// NVCC_DRAM_1V1 (BUCK8 in datasheet)
+			buck6_reg: BUCK6 {
+				regulator-name = "BUCK6";
+				regulator-min-microvolt = <1060000>;
+				regulator-max-microvolt = <1140000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			// NVCC_SNVS_1V8
+			ldo1_reg: LDO1 {
+				regulator-name = "LDO1";
+				regulator-min-microvolt = <1620000>;
+				regulator-max-microvolt = <19800000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			// VDD_SNVS_0V8
+			ldo2_reg: LDO2 {
+				regulator-name = "LDO2";
+				regulator-min-microvolt = <760000>;
+				regulator-max-microvolt = <900000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			// VDDA_1V8
+			ldo3_reg: LDO3 {
+				regulator-name = "LDO3";
+				regulator-min-microvolt = <1710000>;
+				regulator-max-microvolt = <1890000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			// VDD_PHY_0V9
+			ldo4_reg: LDO4 {
+				regulator-name = "LDO4";
+				regulator-min-microvolt = <855000>;
+				regulator-max-microvolt = <1000000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			// VDD_PHY_1V2 (LDO6 in datasheet)
+			ldo5_reg: LDO5 {
+				regulator-name = "LDO5";
+				regulator-min-microvolt = <1140000>;
+				regulator-max-microvolt = <1260000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+		};
+	};
+};
-- 
2.25.1


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

* [PATCH v11 1/2] arm64: dts: imx8mm-evkb: add support for i.MX8MM-EVKB
@ 2023-01-30 17:25   ` Johannes Schneider
  0 siblings, 0 replies; 16+ messages in thread
From: Johannes Schneider @ 2023-01-30 17:25 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.

The regulator min/max values are taken from the evk's schematic:
8MMINILPD4-CPU  SPF-31399_C2.pdf

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 | 134 ++++++++++++++++++
 2 files changed, 135 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..2c3947d68982
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx8mm-evkb.dts
@@ -0,0 +1,134 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2019-2022 NXP
+ */
+
+/dts-v1/;
+
+#include "imx8mm-evk.dtsi"
+
+/ {
+	model = "FSL i.MX8MM EVKB"; // with LPDDR4 and PCA9450 PMIC
+	compatible = "fsl,imx8mm-evkb", "fsl,imx8mm";
+};
+
+&i2c1 {
+	/*
+	 * replace "rohm,bd71847" pmic found on previous evks
+	 * with "nxp,pca9450a"
+	 */
+	/delete-node/ pmic@4b
+
+	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 {
+			// VDD_SOC_0V8
+			buck1_reg: BUCK1 {
+				regulator-name = "BUCK1";
+				regulator-min-microvolt = <780000>;
+				regulator-max-microvolt = <900000>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-ramp-delay = <1250>;
+			};
+
+			// VDD_ARM_0V9
+			buck2_reg: BUCK2 {
+				regulator-name = "BUCK2";
+				regulator-min-microvolt = <805000>;
+				regulator-max-microvolt = <1050000>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-ramp-delay = <1250>;
+				nxp,dvs-standby-voltage = <850000>;
+			};
+
+			// VDD_DRAM&PU_0V9 (BUCK5 in datasheet)
+			buck3_reg: BUCK3 {
+				regulator-name = "BUCK3";
+				regulator-min-microvolt = <805000>;
+				regulator-max-microvolt = <1000000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			// VDD_3V3/NVCC_3V3 (BUCK6 in datasheet)
+			buck4_reg: BUCK4 {
+				regulator-name = "BUCK4";
+				regulator-min-microvolt = <3000000>;
+				regulator-max-microvolt = <3600000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			// VDD_1V8/NVCC_1V8 (BUCK7 in datasheet)
+			buck5_reg: BUCK5 {
+				regulator-name = "BUCK5";
+				regulator-min-microvolt = <1650000>;
+				regulator-max-microvolt = <1950000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			// NVCC_DRAM_1V1 (BUCK8 in datasheet)
+			buck6_reg: BUCK6 {
+				regulator-name = "BUCK6";
+				regulator-min-microvolt = <1060000>;
+				regulator-max-microvolt = <1140000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			// NVCC_SNVS_1V8
+			ldo1_reg: LDO1 {
+				regulator-name = "LDO1";
+				regulator-min-microvolt = <1620000>;
+				regulator-max-microvolt = <19800000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			// VDD_SNVS_0V8
+			ldo2_reg: LDO2 {
+				regulator-name = "LDO2";
+				regulator-min-microvolt = <760000>;
+				regulator-max-microvolt = <900000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			// VDDA_1V8
+			ldo3_reg: LDO3 {
+				regulator-name = "LDO3";
+				regulator-min-microvolt = <1710000>;
+				regulator-max-microvolt = <1890000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			// VDD_PHY_0V9
+			ldo4_reg: LDO4 {
+				regulator-name = "LDO4";
+				regulator-min-microvolt = <855000>;
+				regulator-max-microvolt = <1000000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			// VDD_PHY_1V2 (LDO6 in datasheet)
+			ldo5_reg: LDO5 {
+				regulator-name = "LDO5";
+				regulator-min-microvolt = <1140000>;
+				regulator-max-microvolt = <1260000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+		};
+	};
+};
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v11 2/2] dt-bindings: arm: fsl: Add i.MX8MM-EVKB
  2023-01-30 17:25 ` Johannes Schneider
@ 2023-01-30 17:25   ` Johannes Schneider
  -1 siblings, 0 replies; 16+ messages in thread
From: Johannes Schneider @ 2023-01-30 17:25 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,
	Marco Felsch

Add DT compatible strings for recent EVKs, that come with a different PMIC.

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>
Reviewed-by: Marco Felsch <m.felsch@pengutronix.de>
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..bae1040afc14 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 EVKB Board
               - 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] 16+ messages in thread

* [PATCH v11 2/2] dt-bindings: arm: fsl: Add i.MX8MM-EVKB
@ 2023-01-30 17:25   ` Johannes Schneider
  0 siblings, 0 replies; 16+ messages in thread
From: Johannes Schneider @ 2023-01-30 17:25 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,
	Marco Felsch

Add DT compatible strings for recent EVKs, that come with a different PMIC.

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>
Reviewed-by: Marco Felsch <m.felsch@pengutronix.de>
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..bae1040afc14 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 EVKB Board
               - gateworks,imx8mm-gw7904
               - gw,imx8mm-gw71xx-0x       # i.MX8MM Gateworks Development Kit
               - gw,imx8mm-gw72xx-0x       # i.MX8MM Gateworks Development Kit
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v11 1/2] arm64: dts: imx8mm-evkb: add support for i.MX8MM-EVKB
  2023-01-30 17:25   ` Johannes Schneider
@ 2023-03-06  1:55     ` Shawn Guo
  -1 siblings, 0 replies; 16+ messages in thread
From: Shawn Guo @ 2023-03-06  1:55 UTC (permalink / raw)
  To: Johannes Schneider
  Cc: Rob Herring, Krzysztof Kozlowski, Sascha Hauer, Fabio Estevam,
	Li Yang, Shengjiu Wang, Richard Zhu, Pengutronix Kernel Team,
	NXP Linux Team, devicetree, linux-arm-kernel

On Mon, Jan 30, 2023 at 06:25:52PM +0100, Johannes Schneider wrote:
> Add devicetree for the EVKB, which comes with LPDDR4 and a different
> PMIC.
> 
> The regulator min/max values are taken from the evk's schematic:
> 8MMINILPD4-CPU  SPF-31399_C2.pdf
> 
> Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>

Applied both, thanks!

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

* Re: [PATCH v11 1/2] arm64: dts: imx8mm-evkb: add support for i.MX8MM-EVKB
@ 2023-03-06  1:55     ` Shawn Guo
  0 siblings, 0 replies; 16+ messages in thread
From: Shawn Guo @ 2023-03-06  1:55 UTC (permalink / raw)
  To: Johannes Schneider
  Cc: Rob Herring, Krzysztof Kozlowski, Sascha Hauer, Fabio Estevam,
	Li Yang, Shengjiu Wang, Richard Zhu, Pengutronix Kernel Team,
	NXP Linux Team, devicetree, linux-arm-kernel

On Mon, Jan 30, 2023 at 06:25:52PM +0100, Johannes Schneider wrote:
> Add devicetree for the EVKB, which comes with LPDDR4 and a different
> PMIC.
> 
> The regulator min/max values are taken from the evk's schematic:
> 8MMINILPD4-CPU  SPF-31399_C2.pdf
> 
> Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>

Applied both, thanks!

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v11 1/2] arm64: dts: imx8mm-evkb: add support for i.MX8MM-EVKB
  2023-01-30 17:25   ` Johannes Schneider
@ 2023-03-07  3:14     ` Shawn Guo
  -1 siblings, 0 replies; 16+ messages in thread
From: Shawn Guo @ 2023-03-07  3:14 UTC (permalink / raw)
  To: Johannes Schneider
  Cc: Rob Herring, Krzysztof Kozlowski, Sascha Hauer, Fabio Estevam,
	Li Yang, Shengjiu Wang, Richard Zhu, Pengutronix Kernel Team,
	NXP Linux Team, devicetree, linux-arm-kernel

On Mon, Jan 30, 2023 at 06:25:52PM +0100, Johannes Schneider wrote:
> Add devicetree for the EVKB, which comes with LPDDR4 and a different
> PMIC.
> 
> The regulator min/max values are taken from the evk's schematic:
> 8MMINILPD4-CPU  SPF-31399_C2.pdf
> 
> Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>

The patch doesn't compile at all (see below), so I took a closer look
and decided to drop the series.

> ---
>  arch/arm64/boot/dts/freescale/Makefile        |   1 +
>  arch/arm64/boot/dts/freescale/imx8mm-evkb.dts | 134 ++++++++++++++++++
>  2 files changed, 135 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

I prefer to name it imx8mm-evk-revb.dtb or imx8mm-evk-b.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..2c3947d68982
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/imx8mm-evkb.dts
> @@ -0,0 +1,134 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright 2019-2022 NXP
> + */
> +
> +/dts-v1/;
> +
> +#include "imx8mm-evk.dtsi"
> +
> +/ {
> +	model = "FSL i.MX8MM EVKB"; // with LPDDR4 and PCA9450 PMIC

"FSL i.MX8MM EVK Revision B"

imx8mm-evk board has LPDDR4 too, so LPDDR4 is not a difference.  It
seems PMIC is the only difference between imx8mm-evk and imx8mm-evk-b.
In that case, we may want to include "imx8mm-evk.dts" rather than
"imx8mm-evk.dtsi".  Otherwise, things like flexspi and usdhc3 get lost.

Also /* ... */ style of comment is recommended.

> +	compatible = "fsl,imx8mm-evkb", "fsl,imx8mm";

"fsl,imx8mm-evk-revb" or "fsl,imx8mm-evk-b"

> +};
> +
> +&i2c1 {
> +	/*
> +	 * replace "rohm,bd71847" pmic found on previous evks
> +	 * with "nxp,pca9450a"
> +	 */
> +	/delete-node/ pmic@4b

Missing semicolon causes DTC error.

	/delete-node/ pmic@4b;

Shawn

> +
> +	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 {
> +			// VDD_SOC_0V8
> +			buck1_reg: BUCK1 {
> +				regulator-name = "BUCK1";
> +				regulator-min-microvolt = <780000>;
> +				regulator-max-microvolt = <900000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +				regulator-ramp-delay = <1250>;
> +			};
> +
> +			// VDD_ARM_0V9
> +			buck2_reg: BUCK2 {
> +				regulator-name = "BUCK2";
> +				regulator-min-microvolt = <805000>;
> +				regulator-max-microvolt = <1050000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +				regulator-ramp-delay = <1250>;
> +				nxp,dvs-standby-voltage = <850000>;
> +			};
> +
> +			// VDD_DRAM&PU_0V9 (BUCK5 in datasheet)
> +			buck3_reg: BUCK3 {
> +				regulator-name = "BUCK3";
> +				regulator-min-microvolt = <805000>;
> +				regulator-max-microvolt = <1000000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			// VDD_3V3/NVCC_3V3 (BUCK6 in datasheet)
> +			buck4_reg: BUCK4 {
> +				regulator-name = "BUCK4";
> +				regulator-min-microvolt = <3000000>;
> +				regulator-max-microvolt = <3600000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			// VDD_1V8/NVCC_1V8 (BUCK7 in datasheet)
> +			buck5_reg: BUCK5 {
> +				regulator-name = "BUCK5";
> +				regulator-min-microvolt = <1650000>;
> +				regulator-max-microvolt = <1950000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			// NVCC_DRAM_1V1 (BUCK8 in datasheet)
> +			buck6_reg: BUCK6 {
> +				regulator-name = "BUCK6";
> +				regulator-min-microvolt = <1060000>;
> +				regulator-max-microvolt = <1140000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			// NVCC_SNVS_1V8
> +			ldo1_reg: LDO1 {
> +				regulator-name = "LDO1";
> +				regulator-min-microvolt = <1620000>;
> +				regulator-max-microvolt = <19800000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			// VDD_SNVS_0V8
> +			ldo2_reg: LDO2 {
> +				regulator-name = "LDO2";
> +				regulator-min-microvolt = <760000>;
> +				regulator-max-microvolt = <900000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			// VDDA_1V8
> +			ldo3_reg: LDO3 {
> +				regulator-name = "LDO3";
> +				regulator-min-microvolt = <1710000>;
> +				regulator-max-microvolt = <1890000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			// VDD_PHY_0V9
> +			ldo4_reg: LDO4 {
> +				regulator-name = "LDO4";
> +				regulator-min-microvolt = <855000>;
> +				regulator-max-microvolt = <1000000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			// VDD_PHY_1V2 (LDO6 in datasheet)
> +			ldo5_reg: LDO5 {
> +				regulator-name = "LDO5";
> +				regulator-min-microvolt = <1140000>;
> +				regulator-max-microvolt = <1260000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +		};
> +	};
> +};
> -- 
> 2.25.1
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v11 1/2] arm64: dts: imx8mm-evkb: add support for i.MX8MM-EVKB
@ 2023-03-07  3:14     ` Shawn Guo
  0 siblings, 0 replies; 16+ messages in thread
From: Shawn Guo @ 2023-03-07  3:14 UTC (permalink / raw)
  To: Johannes Schneider
  Cc: Rob Herring, Krzysztof Kozlowski, Sascha Hauer, Fabio Estevam,
	Li Yang, Shengjiu Wang, Richard Zhu, Pengutronix Kernel Team,
	NXP Linux Team, devicetree, linux-arm-kernel

On Mon, Jan 30, 2023 at 06:25:52PM +0100, Johannes Schneider wrote:
> Add devicetree for the EVKB, which comes with LPDDR4 and a different
> PMIC.
> 
> The regulator min/max values are taken from the evk's schematic:
> 8MMINILPD4-CPU  SPF-31399_C2.pdf
> 
> Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>

The patch doesn't compile at all (see below), so I took a closer look
and decided to drop the series.

> ---
>  arch/arm64/boot/dts/freescale/Makefile        |   1 +
>  arch/arm64/boot/dts/freescale/imx8mm-evkb.dts | 134 ++++++++++++++++++
>  2 files changed, 135 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

I prefer to name it imx8mm-evk-revb.dtb or imx8mm-evk-b.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..2c3947d68982
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/imx8mm-evkb.dts
> @@ -0,0 +1,134 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright 2019-2022 NXP
> + */
> +
> +/dts-v1/;
> +
> +#include "imx8mm-evk.dtsi"
> +
> +/ {
> +	model = "FSL i.MX8MM EVKB"; // with LPDDR4 and PCA9450 PMIC

"FSL i.MX8MM EVK Revision B"

imx8mm-evk board has LPDDR4 too, so LPDDR4 is not a difference.  It
seems PMIC is the only difference between imx8mm-evk and imx8mm-evk-b.
In that case, we may want to include "imx8mm-evk.dts" rather than
"imx8mm-evk.dtsi".  Otherwise, things like flexspi and usdhc3 get lost.

Also /* ... */ style of comment is recommended.

> +	compatible = "fsl,imx8mm-evkb", "fsl,imx8mm";

"fsl,imx8mm-evk-revb" or "fsl,imx8mm-evk-b"

> +};
> +
> +&i2c1 {
> +	/*
> +	 * replace "rohm,bd71847" pmic found on previous evks
> +	 * with "nxp,pca9450a"
> +	 */
> +	/delete-node/ pmic@4b

Missing semicolon causes DTC error.

	/delete-node/ pmic@4b;

Shawn

> +
> +	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 {
> +			// VDD_SOC_0V8
> +			buck1_reg: BUCK1 {
> +				regulator-name = "BUCK1";
> +				regulator-min-microvolt = <780000>;
> +				regulator-max-microvolt = <900000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +				regulator-ramp-delay = <1250>;
> +			};
> +
> +			// VDD_ARM_0V9
> +			buck2_reg: BUCK2 {
> +				regulator-name = "BUCK2";
> +				regulator-min-microvolt = <805000>;
> +				regulator-max-microvolt = <1050000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +				regulator-ramp-delay = <1250>;
> +				nxp,dvs-standby-voltage = <850000>;
> +			};
> +
> +			// VDD_DRAM&PU_0V9 (BUCK5 in datasheet)
> +			buck3_reg: BUCK3 {
> +				regulator-name = "BUCK3";
> +				regulator-min-microvolt = <805000>;
> +				regulator-max-microvolt = <1000000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			// VDD_3V3/NVCC_3V3 (BUCK6 in datasheet)
> +			buck4_reg: BUCK4 {
> +				regulator-name = "BUCK4";
> +				regulator-min-microvolt = <3000000>;
> +				regulator-max-microvolt = <3600000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			// VDD_1V8/NVCC_1V8 (BUCK7 in datasheet)
> +			buck5_reg: BUCK5 {
> +				regulator-name = "BUCK5";
> +				regulator-min-microvolt = <1650000>;
> +				regulator-max-microvolt = <1950000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			// NVCC_DRAM_1V1 (BUCK8 in datasheet)
> +			buck6_reg: BUCK6 {
> +				regulator-name = "BUCK6";
> +				regulator-min-microvolt = <1060000>;
> +				regulator-max-microvolt = <1140000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			// NVCC_SNVS_1V8
> +			ldo1_reg: LDO1 {
> +				regulator-name = "LDO1";
> +				regulator-min-microvolt = <1620000>;
> +				regulator-max-microvolt = <19800000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			// VDD_SNVS_0V8
> +			ldo2_reg: LDO2 {
> +				regulator-name = "LDO2";
> +				regulator-min-microvolt = <760000>;
> +				regulator-max-microvolt = <900000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			// VDDA_1V8
> +			ldo3_reg: LDO3 {
> +				regulator-name = "LDO3";
> +				regulator-min-microvolt = <1710000>;
> +				regulator-max-microvolt = <1890000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			// VDD_PHY_0V9
> +			ldo4_reg: LDO4 {
> +				regulator-name = "LDO4";
> +				regulator-min-microvolt = <855000>;
> +				regulator-max-microvolt = <1000000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			// VDD_PHY_1V2 (LDO6 in datasheet)
> +			ldo5_reg: LDO5 {
> +				regulator-name = "LDO5";
> +				regulator-min-microvolt = <1140000>;
> +				regulator-max-microvolt = <1260000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +		};
> +	};
> +};
> -- 
> 2.25.1
> 

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

* Re: [PATCH v11 1/2] arm64: dts: imx8mm-evkb: add support for i.MX8MM-EVKB
  2023-03-07  3:14     ` Shawn Guo
@ 2023-03-07  8:57       ` Marco Felsch
  -1 siblings, 0 replies; 16+ messages in thread
From: Marco Felsch @ 2023-03-07  8:57 UTC (permalink / raw)
  To: Shawn Guo
  Cc: Johannes Schneider, devicetree, Richard Zhu,
	Pengutronix Kernel Team, Sascha Hauer, Li Yang, Rob Herring,
	NXP Linux Team, Krzysztof Kozlowski, Fabio Estevam,
	Shengjiu Wang, linux-arm-kernel

Hi Shawn,

On 23-03-07, Shawn Guo wrote:
> On Mon, Jan 30, 2023 at 06:25:52PM +0100, Johannes Schneider wrote:
> > Add devicetree for the EVKB, which comes with LPDDR4 and a different
> > PMIC.
> > 
> > The regulator min/max values are taken from the evk's schematic:
> > 8MMINILPD4-CPU  SPF-31399_C2.pdf
> > 
> > Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
> 
> The patch doesn't compile at all (see below), so I took a closer look
> and decided to drop the series.
> 
> > ---
> >  arch/arm64/boot/dts/freescale/Makefile        |   1 +
> >  arch/arm64/boot/dts/freescale/imx8mm-evkb.dts | 134 ++++++++++++++++++
> >  2 files changed, 135 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
> 
> I prefer to name it imx8mm-evk-revb.dtb or imx8mm-evk-b.dtb.

Unfortunately it's not revision B, it is evkb. The 'first' evk has
plenty revisions. I think the most recent for the imx8mm-evk is C5. For
the imx8mm-evkb the most recent revision is A4. Even this is not 100
percent correct since the EVK consist of a SoM and a baseboard. The
baseboard isn't changed for the EVKB but the SoM. The new SoM schematics
name the new SoM 8MMINILPD4-CPU2. But in the end you can't buy it
separately:
- https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/evaluation-kit-for-the-i-mx-8m-mini-applications-processor:8MMINILPD4-EVK

> >  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..2c3947d68982
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/freescale/imx8mm-evkb.dts
> > @@ -0,0 +1,134 @@
> > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > +/*
> > + * Copyright 2019-2022 NXP
> > + */
> > +
> > +/dts-v1/;
> > +
> > +#include "imx8mm-evk.dtsi"
> > +
> > +/ {
> > +	model = "FSL i.MX8MM EVKB"; // with LPDDR4 and PCA9450 PMIC
> 
> "FSL i.MX8MM EVK Revision B"

Please see my above explanation, it's not revision b.
> 
> imx8mm-evk board has LPDDR4 too, so LPDDR4 is not a difference.  It
> seems PMIC is the only difference between imx8mm-evk and imx8mm-evk-b.
> In that case, we may want to include "imx8mm-evk.dts" rather than
> "imx8mm-evk.dtsi".  Otherwise, things like flexspi and usdhc3 get lost.

Your're right.

Regards,
  Marco

> Also /* ... */ style of comment is recommended.
> 
> > +	compatible = "fsl,imx8mm-evkb", "fsl,imx8mm";
> 
> "fsl,imx8mm-evk-revb" or "fsl,imx8mm-evk-b"
> 
> > +};
> > +
> > +&i2c1 {
> > +	/*
> > +	 * replace "rohm,bd71847" pmic found on previous evks
> > +	 * with "nxp,pca9450a"
> > +	 */
> > +	/delete-node/ pmic@4b
> 
> Missing semicolon causes DTC error.
> 
> 	/delete-node/ pmic@4b;
> 
> Shawn
> 
> > +
> > +	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 {
> > +			// VDD_SOC_0V8
> > +			buck1_reg: BUCK1 {
> > +				regulator-name = "BUCK1";
> > +				regulator-min-microvolt = <780000>;
> > +				regulator-max-microvolt = <900000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +				regulator-ramp-delay = <1250>;
> > +			};
> > +
> > +			// VDD_ARM_0V9
> > +			buck2_reg: BUCK2 {
> > +				regulator-name = "BUCK2";
> > +				regulator-min-microvolt = <805000>;
> > +				regulator-max-microvolt = <1050000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +				regulator-ramp-delay = <1250>;
> > +				nxp,dvs-standby-voltage = <850000>;
> > +			};
> > +
> > +			// VDD_DRAM&PU_0V9 (BUCK5 in datasheet)
> > +			buck3_reg: BUCK3 {
> > +				regulator-name = "BUCK3";
> > +				regulator-min-microvolt = <805000>;
> > +				regulator-max-microvolt = <1000000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +			};
> > +
> > +			// VDD_3V3/NVCC_3V3 (BUCK6 in datasheet)
> > +			buck4_reg: BUCK4 {
> > +				regulator-name = "BUCK4";
> > +				regulator-min-microvolt = <3000000>;
> > +				regulator-max-microvolt = <3600000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +			};
> > +
> > +			// VDD_1V8/NVCC_1V8 (BUCK7 in datasheet)
> > +			buck5_reg: BUCK5 {
> > +				regulator-name = "BUCK5";
> > +				regulator-min-microvolt = <1650000>;
> > +				regulator-max-microvolt = <1950000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +			};
> > +
> > +			// NVCC_DRAM_1V1 (BUCK8 in datasheet)
> > +			buck6_reg: BUCK6 {
> > +				regulator-name = "BUCK6";
> > +				regulator-min-microvolt = <1060000>;
> > +				regulator-max-microvolt = <1140000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +			};
> > +
> > +			// NVCC_SNVS_1V8
> > +			ldo1_reg: LDO1 {
> > +				regulator-name = "LDO1";
> > +				regulator-min-microvolt = <1620000>;
> > +				regulator-max-microvolt = <19800000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +			};
> > +
> > +			// VDD_SNVS_0V8
> > +			ldo2_reg: LDO2 {
> > +				regulator-name = "LDO2";
> > +				regulator-min-microvolt = <760000>;
> > +				regulator-max-microvolt = <900000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +			};
> > +
> > +			// VDDA_1V8
> > +			ldo3_reg: LDO3 {
> > +				regulator-name = "LDO3";
> > +				regulator-min-microvolt = <1710000>;
> > +				regulator-max-microvolt = <1890000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +			};
> > +
> > +			// VDD_PHY_0V9
> > +			ldo4_reg: LDO4 {
> > +				regulator-name = "LDO4";
> > +				regulator-min-microvolt = <855000>;
> > +				regulator-max-microvolt = <1000000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +			};
> > +
> > +			// VDD_PHY_1V2 (LDO6 in datasheet)
> > +			ldo5_reg: LDO5 {
> > +				regulator-name = "LDO5";
> > +				regulator-min-microvolt = <1140000>;
> > +				regulator-max-microvolt = <1260000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +			};
> > +		};
> > +	};
> > +};
> > -- 
> > 2.25.1
> > 
> 
> 

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

* Re: [PATCH v11 1/2] arm64: dts: imx8mm-evkb: add support for i.MX8MM-EVKB
@ 2023-03-07  8:57       ` Marco Felsch
  0 siblings, 0 replies; 16+ messages in thread
From: Marco Felsch @ 2023-03-07  8:57 UTC (permalink / raw)
  To: Shawn Guo
  Cc: Johannes Schneider, devicetree, Richard Zhu,
	Pengutronix Kernel Team, Sascha Hauer, Li Yang, Rob Herring,
	NXP Linux Team, Krzysztof Kozlowski, Fabio Estevam,
	Shengjiu Wang, linux-arm-kernel

Hi Shawn,

On 23-03-07, Shawn Guo wrote:
> On Mon, Jan 30, 2023 at 06:25:52PM +0100, Johannes Schneider wrote:
> > Add devicetree for the EVKB, which comes with LPDDR4 and a different
> > PMIC.
> > 
> > The regulator min/max values are taken from the evk's schematic:
> > 8MMINILPD4-CPU  SPF-31399_C2.pdf
> > 
> > Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
> 
> The patch doesn't compile at all (see below), so I took a closer look
> and decided to drop the series.
> 
> > ---
> >  arch/arm64/boot/dts/freescale/Makefile        |   1 +
> >  arch/arm64/boot/dts/freescale/imx8mm-evkb.dts | 134 ++++++++++++++++++
> >  2 files changed, 135 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
> 
> I prefer to name it imx8mm-evk-revb.dtb or imx8mm-evk-b.dtb.

Unfortunately it's not revision B, it is evkb. The 'first' evk has
plenty revisions. I think the most recent for the imx8mm-evk is C5. For
the imx8mm-evkb the most recent revision is A4. Even this is not 100
percent correct since the EVK consist of a SoM and a baseboard. The
baseboard isn't changed for the EVKB but the SoM. The new SoM schematics
name the new SoM 8MMINILPD4-CPU2. But in the end you can't buy it
separately:
- https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/evaluation-kit-for-the-i-mx-8m-mini-applications-processor:8MMINILPD4-EVK

> >  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..2c3947d68982
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/freescale/imx8mm-evkb.dts
> > @@ -0,0 +1,134 @@
> > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > +/*
> > + * Copyright 2019-2022 NXP
> > + */
> > +
> > +/dts-v1/;
> > +
> > +#include "imx8mm-evk.dtsi"
> > +
> > +/ {
> > +	model = "FSL i.MX8MM EVKB"; // with LPDDR4 and PCA9450 PMIC
> 
> "FSL i.MX8MM EVK Revision B"

Please see my above explanation, it's not revision b.
> 
> imx8mm-evk board has LPDDR4 too, so LPDDR4 is not a difference.  It
> seems PMIC is the only difference between imx8mm-evk and imx8mm-evk-b.
> In that case, we may want to include "imx8mm-evk.dts" rather than
> "imx8mm-evk.dtsi".  Otherwise, things like flexspi and usdhc3 get lost.

Your're right.

Regards,
  Marco

> Also /* ... */ style of comment is recommended.
> 
> > +	compatible = "fsl,imx8mm-evkb", "fsl,imx8mm";
> 
> "fsl,imx8mm-evk-revb" or "fsl,imx8mm-evk-b"
> 
> > +};
> > +
> > +&i2c1 {
> > +	/*
> > +	 * replace "rohm,bd71847" pmic found on previous evks
> > +	 * with "nxp,pca9450a"
> > +	 */
> > +	/delete-node/ pmic@4b
> 
> Missing semicolon causes DTC error.
> 
> 	/delete-node/ pmic@4b;
> 
> Shawn
> 
> > +
> > +	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 {
> > +			// VDD_SOC_0V8
> > +			buck1_reg: BUCK1 {
> > +				regulator-name = "BUCK1";
> > +				regulator-min-microvolt = <780000>;
> > +				regulator-max-microvolt = <900000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +				regulator-ramp-delay = <1250>;
> > +			};
> > +
> > +			// VDD_ARM_0V9
> > +			buck2_reg: BUCK2 {
> > +				regulator-name = "BUCK2";
> > +				regulator-min-microvolt = <805000>;
> > +				regulator-max-microvolt = <1050000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +				regulator-ramp-delay = <1250>;
> > +				nxp,dvs-standby-voltage = <850000>;
> > +			};
> > +
> > +			// VDD_DRAM&PU_0V9 (BUCK5 in datasheet)
> > +			buck3_reg: BUCK3 {
> > +				regulator-name = "BUCK3";
> > +				regulator-min-microvolt = <805000>;
> > +				regulator-max-microvolt = <1000000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +			};
> > +
> > +			// VDD_3V3/NVCC_3V3 (BUCK6 in datasheet)
> > +			buck4_reg: BUCK4 {
> > +				regulator-name = "BUCK4";
> > +				regulator-min-microvolt = <3000000>;
> > +				regulator-max-microvolt = <3600000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +			};
> > +
> > +			// VDD_1V8/NVCC_1V8 (BUCK7 in datasheet)
> > +			buck5_reg: BUCK5 {
> > +				regulator-name = "BUCK5";
> > +				regulator-min-microvolt = <1650000>;
> > +				regulator-max-microvolt = <1950000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +			};
> > +
> > +			// NVCC_DRAM_1V1 (BUCK8 in datasheet)
> > +			buck6_reg: BUCK6 {
> > +				regulator-name = "BUCK6";
> > +				regulator-min-microvolt = <1060000>;
> > +				regulator-max-microvolt = <1140000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +			};
> > +
> > +			// NVCC_SNVS_1V8
> > +			ldo1_reg: LDO1 {
> > +				regulator-name = "LDO1";
> > +				regulator-min-microvolt = <1620000>;
> > +				regulator-max-microvolt = <19800000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +			};
> > +
> > +			// VDD_SNVS_0V8
> > +			ldo2_reg: LDO2 {
> > +				regulator-name = "LDO2";
> > +				regulator-min-microvolt = <760000>;
> > +				regulator-max-microvolt = <900000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +			};
> > +
> > +			// VDDA_1V8
> > +			ldo3_reg: LDO3 {
> > +				regulator-name = "LDO3";
> > +				regulator-min-microvolt = <1710000>;
> > +				regulator-max-microvolt = <1890000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +			};
> > +
> > +			// VDD_PHY_0V9
> > +			ldo4_reg: LDO4 {
> > +				regulator-name = "LDO4";
> > +				regulator-min-microvolt = <855000>;
> > +				regulator-max-microvolt = <1000000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +			};
> > +
> > +			// VDD_PHY_1V2 (LDO6 in datasheet)
> > +			ldo5_reg: LDO5 {
> > +				regulator-name = "LDO5";
> > +				regulator-min-microvolt = <1140000>;
> > +				regulator-max-microvolt = <1260000>;
> > +				regulator-boot-on;
> > +				regulator-always-on;
> > +			};
> > +		};
> > +	};
> > +};
> > -- 
> > 2.25.1
> > 
> 
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v11 1/2] arm64: dts: imx8mm-evkb: add support for i.MX8MM-EVKB
  2023-03-07  8:57       ` Marco Felsch
@ 2023-03-08  5:00         ` SCHNEIDER Johannes
  -1 siblings, 0 replies; 16+ messages in thread
From: SCHNEIDER Johannes @ 2023-03-08  5:00 UTC (permalink / raw)
  To: Marco Felsch, Shawn Guo, haibo.chen, ping.bai, peter.chen,
	yibin.gong, Anson.Huang
  Cc: devicetree, Richard Zhu, Pengutronix Kernel Team, Sascha Hauer,
	Li Yang, Rob Herring, NXP Linux Team, Krzysztof Kozlowski,
	Fabio Estevam, Shengjiu Wang, linux-arm-kernel

Hi @nxp

> On 23-03-07, Shawn Guo wrote:
> > On Mon, Jan 30, 2023 at 06:25:52PM +0100, Johannes Schneider wrote:
> > > Add devicetree for the EVKB, which comes with LPDDR4 and a different
> > > PMIC.
> > >
> > > The regulator min/max values are taken from the evk's schematic:
> > > 8MMINILPD4-CPU  SPF-31399_C2.pdf
> > >
> > > Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
> >
> > The patch doesn't compile at all (see below), so I took a closer look
> > and decided to drop the series.
> >
> > > ---
> > >  arch/arm64/boot/dts/freescale/Makefile        |   1 +
> > >  arch/arm64/boot/dts/freescale/imx8mm-evkb.dts | 134 ++++++++++++++++++
> > >  2 files changed, 135 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
> >
> > I prefer to name it imx8mm-evk-revb.dtb or imx8mm-evk-b.dtb.
> 
> Unfortunately it's not revision B, it is evkb. The 'first' evk has
> plenty revisions. I think the most recent for the imx8mm-evk is C5. For
> the imx8mm-evkb the most recent revision is A4. Even this is not 100
> percent correct since the EVK consist of a SoM and a baseboard. The
> baseboard isn't changed for the EVKB but the SoM. The new SoM schematics
> name the new SoM 8MMINILPD4-CPU2. But in the end you can't buy it
> separately:
> - https://eur02.safelinks.protection.outlook.com/?url=https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/evaluation-kit-for-the-i-mx-8m-mini-applications-processor:8MMINILPD4-EVK&data=05|01||6a71dc88704d425a3a5708db1ef34ef5|1b16ab3eb8f64fe39f3e2db7fe549f6a|0|0|638137802577253621|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0=|3000|||&sdata=SmuEFl4RTEshtHKz/ZMhPF8kfdjqobRuJB/X66OYgNQ=&reserved=0


looking at authors in the git-log of arch/arm64/boot/dts/freescale/imx8mm-evk.dts -> +=email.to
@NXP: how are you telling the different EVK versions apart internally?

by a year/timestamp, revision, name, features, ...?

maybe we could apply that "naming convention" for the devictree files and compatible strings here as well?

since we only know of the obvious change: the different pmic compared to the previous version
this difference is/was the sole motivation for this new devicetree, since bootloaders (like barebox) depend on the correct one beeing used during board initialization

> > >  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..2c3947d68982
> > > --- /dev/null
> > > +++ b/arch/arm64/boot/dts/freescale/imx8mm-evkb.dts
> > > @@ -0,0 +1,134 @@
> > > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > > +/*
> > > + * Copyright 2019-2022 NXP
> > > + */
> > > +
> > > +/dts-v1/;
> > > +
> > > +#include "imx8mm-evk.dtsi"
> > > +
> > > +/ {
> > > +   model = "FSL i.MX8MM EVKB"; // with LPDDR4 and PCA9450 PMIC
> >
> > "FSL i.MX8MM EVK Revision B"
> 
> Please see my above explanation, it's not revision b.
> >
> > imx8mm-evk board has LPDDR4 too, so LPDDR4 is not a difference.  It
> > seems PMIC is the only difference between imx8mm-evk and imx8mm-evk-b.
> > In that case, we may want to include "imx8mm-evk.dts" rather than
> > "imx8mm-evk.dtsi".  Otherwise, things like flexspi and usdhc3 get lost.
> 
> Your're right.
> 
> Regards,
>   Marco
> 
> > Also /* ... */ style of comment is recommended.
> >
> > > +   compatible = "fsl,imx8mm-evkb", "fsl,imx8mm";
> >
> > "fsl,imx8mm-evk-revb" or "fsl,imx8mm-evk-b"
> >
> > > +};
> > > +
> > > +&i2c1 {
> > > +   /*
> > > +    * replace "rohm,bd71847" pmic found on previous evks
> > > +    * with "nxp,pca9450a"
> > > +    */
> > > +   /delete-node/ pmic@4b
> >
> > Missing semicolon causes DTC error.
> >
> >       /delete-node/ pmic@4b;
> >
> > Shawn
> >
> > > +
> > > +   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 {
> > > +                   // VDD_SOC_0V8
> > > +                   buck1_reg: BUCK1 {
> > > +                           regulator-name = "BUCK1";
> > > +                           regulator-min-microvolt = <780000>;
> > > +                           regulator-max-microvolt = <900000>;
> > > +                           regulator-boot-on;
> > > +                           regulator-always-on;
> > > +                           regulator-ramp-delay = <1250>;
> > > +                   };
> > > +
> > > +                   // VDD_ARM_0V9
> > > +                   buck2_reg: BUCK2 {
> > > +                           regulator-name = "BUCK2";
> > > +                           regulator-min-microvolt = <805000>;
> > > +                           regulator-max-microvolt = <1050000>;
> > > +                           regulator-boot-on;
> > > +                           regulator-always-on;
> > > +                           regulator-ramp-delay = <1250>;
> > > +                           nxp,dvs-standby-voltage = <850000>;
> > > +                   };
> > > +
> > > +                   // VDD_DRAM&PU_0V9 (BUCK5 in datasheet)
> > > +                   buck3_reg: BUCK3 {
> > > +                           regulator-name = "BUCK3";
> > > +                           regulator-min-microvolt = <805000>;
> > > +                           regulator-max-microvolt = <1000000>;
> > > +                           regulator-boot-on;
> > > +                           regulator-always-on;
> > > +                   };
> > > +
> > > +                   // VDD_3V3/NVCC_3V3 (BUCK6 in datasheet)
> > > +                   buck4_reg: BUCK4 {
> > > +                           regulator-name = "BUCK4";
> > > +                           regulator-min-microvolt = <3000000>;
> > > +                           regulator-max-microvolt = <3600000>;
> > > +                           regulator-boot-on;
> > > +                           regulator-always-on;
> > > +                   };
> > > +
> > > +                   // VDD_1V8/NVCC_1V8 (BUCK7 in datasheet)
> > > +                   buck5_reg: BUCK5 {
> > > +                           regulator-name = "BUCK5";
> > > +                           regulator-min-microvolt = <1650000>;
> > > +                           regulator-max-microvolt = <1950000>;
> > > +                           regulator-boot-on;
> > > +                           regulator-always-on;
> > > +                   };
> > > +
> > > +                   // NVCC_DRAM_1V1 (BUCK8 in datasheet)
> > > +                   buck6_reg: BUCK6 {
> > > +                           regulator-name = "BUCK6";
> > > +                           regulator-min-microvolt = <1060000>;
> > > +                           regulator-max-microvolt = <1140000>;
> > > +                           regulator-boot-on;
> > > +                           regulator-always-on;
> > > +                   };
> > > +
> > > +                   // NVCC_SNVS_1V8
> > > +                   ldo1_reg: LDO1 {
> > > +                           regulator-name = "LDO1";
> > > +                           regulator-min-microvolt = <1620000>;
> > > +                           regulator-max-microvolt = <19800000>;
> > > +                           regulator-boot-on;
> > > +                           regulator-always-on;
> > > +                   };
> > > +
> > > +                   // VDD_SNVS_0V8
> > > +                   ldo2_reg: LDO2 {
> > > +                           regulator-name = "LDO2";
> > > +                           regulator-min-microvolt = <760000>;
> > > +                           regulator-max-microvolt = <900000>;
> > > +                           regulator-boot-on;
> > > +                           regulator-always-on;
> > > +                   };
> > > +
> > > +                   // VDDA_1V8
> > > +                   ldo3_reg: LDO3 {
> > > +                           regulator-name = "LDO3";
> > > +                           regulator-min-microvolt = <1710000>;
> > > +                           regulator-max-microvolt = <1890000>;
> > > +                           regulator-boot-on;
> > > +                           regulator-always-on;
> > > +                   };
> > > +
> > > +                   // VDD_PHY_0V9
> > > +                   ldo4_reg: LDO4 {
> > > +                           regulator-name = "LDO4";
> > > +                           regulator-min-microvolt = <855000>;
> > > +                           regulator-max-microvolt = <1000000>;
> > > +                           regulator-boot-on;
> > > +                           regulator-always-on;
> > > +                   };
> > > +
> > > +                   // VDD_PHY_1V2 (LDO6 in datasheet)
> > > +                   ldo5_reg: LDO5 {
> > > +                           regulator-name = "LDO5";
> > > +                           regulator-min-microvolt = <1140000>;
> > > +                           regulator-max-microvolt = <1260000>;
> > > +                           regulator-boot-on;
> > > +                           regulator-always-on;
> > > +                   };
> > > +           };
> > > +   };
> > > +};
> > > --
> > > 2.25.1
> > >
> >
> >
> 

gruß
Johannes

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

* Re: [PATCH v11 1/2] arm64: dts: imx8mm-evkb: add support for i.MX8MM-EVKB
@ 2023-03-08  5:00         ` SCHNEIDER Johannes
  0 siblings, 0 replies; 16+ messages in thread
From: SCHNEIDER Johannes @ 2023-03-08  5:00 UTC (permalink / raw)
  To: Marco Felsch, Shawn Guo, haibo.chen, ping.bai, peter.chen,
	yibin.gong, Anson.Huang
  Cc: devicetree, Richard Zhu, Pengutronix Kernel Team, Sascha Hauer,
	Li Yang, Rob Herring, NXP Linux Team, Krzysztof Kozlowski,
	Fabio Estevam, Shengjiu Wang, linux-arm-kernel

Hi @nxp

> On 23-03-07, Shawn Guo wrote:
> > On Mon, Jan 30, 2023 at 06:25:52PM +0100, Johannes Schneider wrote:
> > > Add devicetree for the EVKB, which comes with LPDDR4 and a different
> > > PMIC.
> > >
> > > The regulator min/max values are taken from the evk's schematic:
> > > 8MMINILPD4-CPU  SPF-31399_C2.pdf
> > >
> > > Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
> >
> > The patch doesn't compile at all (see below), so I took a closer look
> > and decided to drop the series.
> >
> > > ---
> > >  arch/arm64/boot/dts/freescale/Makefile        |   1 +
> > >  arch/arm64/boot/dts/freescale/imx8mm-evkb.dts | 134 ++++++++++++++++++
> > >  2 files changed, 135 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
> >
> > I prefer to name it imx8mm-evk-revb.dtb or imx8mm-evk-b.dtb.
> 
> Unfortunately it's not revision B, it is evkb. The 'first' evk has
> plenty revisions. I think the most recent for the imx8mm-evk is C5. For
> the imx8mm-evkb the most recent revision is A4. Even this is not 100
> percent correct since the EVK consist of a SoM and a baseboard. The
> baseboard isn't changed for the EVKB but the SoM. The new SoM schematics
> name the new SoM 8MMINILPD4-CPU2. But in the end you can't buy it
> separately:
> - https://eur02.safelinks.protection.outlook.com/?url=https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/evaluation-kit-for-the-i-mx-8m-mini-applications-processor:8MMINILPD4-EVK&data=05|01||6a71dc88704d425a3a5708db1ef34ef5|1b16ab3eb8f64fe39f3e2db7fe549f6a|0|0|638137802577253621|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0=|3000|||&sdata=SmuEFl4RTEshtHKz/ZMhPF8kfdjqobRuJB/X66OYgNQ=&reserved=0


looking at authors in the git-log of arch/arm64/boot/dts/freescale/imx8mm-evk.dts -> +=email.to
@NXP: how are you telling the different EVK versions apart internally?

by a year/timestamp, revision, name, features, ...?

maybe we could apply that "naming convention" for the devictree files and compatible strings here as well?

since we only know of the obvious change: the different pmic compared to the previous version
this difference is/was the sole motivation for this new devicetree, since bootloaders (like barebox) depend on the correct one beeing used during board initialization

> > >  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..2c3947d68982
> > > --- /dev/null
> > > +++ b/arch/arm64/boot/dts/freescale/imx8mm-evkb.dts
> > > @@ -0,0 +1,134 @@
> > > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > > +/*
> > > + * Copyright 2019-2022 NXP
> > > + */
> > > +
> > > +/dts-v1/;
> > > +
> > > +#include "imx8mm-evk.dtsi"
> > > +
> > > +/ {
> > > +   model = "FSL i.MX8MM EVKB"; // with LPDDR4 and PCA9450 PMIC
> >
> > "FSL i.MX8MM EVK Revision B"
> 
> Please see my above explanation, it's not revision b.
> >
> > imx8mm-evk board has LPDDR4 too, so LPDDR4 is not a difference.  It
> > seems PMIC is the only difference between imx8mm-evk and imx8mm-evk-b.
> > In that case, we may want to include "imx8mm-evk.dts" rather than
> > "imx8mm-evk.dtsi".  Otherwise, things like flexspi and usdhc3 get lost.
> 
> Your're right.
> 
> Regards,
>   Marco
> 
> > Also /* ... */ style of comment is recommended.
> >
> > > +   compatible = "fsl,imx8mm-evkb", "fsl,imx8mm";
> >
> > "fsl,imx8mm-evk-revb" or "fsl,imx8mm-evk-b"
> >
> > > +};
> > > +
> > > +&i2c1 {
> > > +   /*
> > > +    * replace "rohm,bd71847" pmic found on previous evks
> > > +    * with "nxp,pca9450a"
> > > +    */
> > > +   /delete-node/ pmic@4b
> >
> > Missing semicolon causes DTC error.
> >
> >       /delete-node/ pmic@4b;
> >
> > Shawn
> >
> > > +
> > > +   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 {
> > > +                   // VDD_SOC_0V8
> > > +                   buck1_reg: BUCK1 {
> > > +                           regulator-name = "BUCK1";
> > > +                           regulator-min-microvolt = <780000>;
> > > +                           regulator-max-microvolt = <900000>;
> > > +                           regulator-boot-on;
> > > +                           regulator-always-on;
> > > +                           regulator-ramp-delay = <1250>;
> > > +                   };
> > > +
> > > +                   // VDD_ARM_0V9
> > > +                   buck2_reg: BUCK2 {
> > > +                           regulator-name = "BUCK2";
> > > +                           regulator-min-microvolt = <805000>;
> > > +                           regulator-max-microvolt = <1050000>;
> > > +                           regulator-boot-on;
> > > +                           regulator-always-on;
> > > +                           regulator-ramp-delay = <1250>;
> > > +                           nxp,dvs-standby-voltage = <850000>;
> > > +                   };
> > > +
> > > +                   // VDD_DRAM&PU_0V9 (BUCK5 in datasheet)
> > > +                   buck3_reg: BUCK3 {
> > > +                           regulator-name = "BUCK3";
> > > +                           regulator-min-microvolt = <805000>;
> > > +                           regulator-max-microvolt = <1000000>;
> > > +                           regulator-boot-on;
> > > +                           regulator-always-on;
> > > +                   };
> > > +
> > > +                   // VDD_3V3/NVCC_3V3 (BUCK6 in datasheet)
> > > +                   buck4_reg: BUCK4 {
> > > +                           regulator-name = "BUCK4";
> > > +                           regulator-min-microvolt = <3000000>;
> > > +                           regulator-max-microvolt = <3600000>;
> > > +                           regulator-boot-on;
> > > +                           regulator-always-on;
> > > +                   };
> > > +
> > > +                   // VDD_1V8/NVCC_1V8 (BUCK7 in datasheet)
> > > +                   buck5_reg: BUCK5 {
> > > +                           regulator-name = "BUCK5";
> > > +                           regulator-min-microvolt = <1650000>;
> > > +                           regulator-max-microvolt = <1950000>;
> > > +                           regulator-boot-on;
> > > +                           regulator-always-on;
> > > +                   };
> > > +
> > > +                   // NVCC_DRAM_1V1 (BUCK8 in datasheet)
> > > +                   buck6_reg: BUCK6 {
> > > +                           regulator-name = "BUCK6";
> > > +                           regulator-min-microvolt = <1060000>;
> > > +                           regulator-max-microvolt = <1140000>;
> > > +                           regulator-boot-on;
> > > +                           regulator-always-on;
> > > +                   };
> > > +
> > > +                   // NVCC_SNVS_1V8
> > > +                   ldo1_reg: LDO1 {
> > > +                           regulator-name = "LDO1";
> > > +                           regulator-min-microvolt = <1620000>;
> > > +                           regulator-max-microvolt = <19800000>;
> > > +                           regulator-boot-on;
> > > +                           regulator-always-on;
> > > +                   };
> > > +
> > > +                   // VDD_SNVS_0V8
> > > +                   ldo2_reg: LDO2 {
> > > +                           regulator-name = "LDO2";
> > > +                           regulator-min-microvolt = <760000>;
> > > +                           regulator-max-microvolt = <900000>;
> > > +                           regulator-boot-on;
> > > +                           regulator-always-on;
> > > +                   };
> > > +
> > > +                   // VDDA_1V8
> > > +                   ldo3_reg: LDO3 {
> > > +                           regulator-name = "LDO3";
> > > +                           regulator-min-microvolt = <1710000>;
> > > +                           regulator-max-microvolt = <1890000>;
> > > +                           regulator-boot-on;
> > > +                           regulator-always-on;
> > > +                   };
> > > +
> > > +                   // VDD_PHY_0V9
> > > +                   ldo4_reg: LDO4 {
> > > +                           regulator-name = "LDO4";
> > > +                           regulator-min-microvolt = <855000>;
> > > +                           regulator-max-microvolt = <1000000>;
> > > +                           regulator-boot-on;
> > > +                           regulator-always-on;
> > > +                   };
> > > +
> > > +                   // VDD_PHY_1V2 (LDO6 in datasheet)
> > > +                   ldo5_reg: LDO5 {
> > > +                           regulator-name = "LDO5";
> > > +                           regulator-min-microvolt = <1140000>;
> > > +                           regulator-max-microvolt = <1260000>;
> > > +                           regulator-boot-on;
> > > +                           regulator-always-on;
> > > +                   };
> > > +           };
> > > +   };
> > > +};
> > > --
> > > 2.25.1
> > >
> >
> >
> 

gruß
Johannes
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v11 1/2] arm64: dts: imx8mm-evkb: add support for i.MX8MM-EVKB
  2023-03-07  8:57       ` Marco Felsch
@ 2023-03-14  6:39         ` Shawn Guo
  -1 siblings, 0 replies; 16+ messages in thread
From: Shawn Guo @ 2023-03-14  6:39 UTC (permalink / raw)
  To: Marco Felsch
  Cc: Johannes Schneider, devicetree, Richard Zhu,
	Pengutronix Kernel Team, Sascha Hauer, Li Yang, Rob Herring,
	NXP Linux Team, Krzysztof Kozlowski, Fabio Estevam,
	Shengjiu Wang, linux-arm-kernel

On Tue, Mar 07, 2023 at 09:57:47AM +0100, Marco Felsch wrote:
> Hi Shawn,
> 
> On 23-03-07, Shawn Guo wrote:
> > On Mon, Jan 30, 2023 at 06:25:52PM +0100, Johannes Schneider wrote:
> > > Add devicetree for the EVKB, which comes with LPDDR4 and a different
> > > PMIC.
> > > 
> > > The regulator min/max values are taken from the evk's schematic:
> > > 8MMINILPD4-CPU  SPF-31399_C2.pdf
> > > 
> > > Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
> > 
> > The patch doesn't compile at all (see below), so I took a closer look
> > and decided to drop the series.
> > 
> > > ---
> > >  arch/arm64/boot/dts/freescale/Makefile        |   1 +
> > >  arch/arm64/boot/dts/freescale/imx8mm-evkb.dts | 134 ++++++++++++++++++
> > >  2 files changed, 135 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
> > 
> > I prefer to name it imx8mm-evk-revb.dtb or imx8mm-evk-b.dtb.
> 
> Unfortunately it's not revision B, it is evkb. The 'first' evk has
> plenty revisions. I think the most recent for the imx8mm-evk is C5. For
> the imx8mm-evkb the most recent revision is A4. Even this is not 100
> percent correct since the EVK consist of a SoM and a baseboard. The
> baseboard isn't changed for the EVKB but the SoM. The new SoM schematics
> name the new SoM 8MMINILPD4-CPU2. But in the end you can't buy it
> separately:
> - https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/evaluation-kit-for-the-i-mx-8m-mini-applications-processor:8MMINILPD4-EVK

Ok, thanks for the information, Marco!

Shawn

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

* Re: [PATCH v11 1/2] arm64: dts: imx8mm-evkb: add support for i.MX8MM-EVKB
@ 2023-03-14  6:39         ` Shawn Guo
  0 siblings, 0 replies; 16+ messages in thread
From: Shawn Guo @ 2023-03-14  6:39 UTC (permalink / raw)
  To: Marco Felsch
  Cc: Johannes Schneider, devicetree, Richard Zhu,
	Pengutronix Kernel Team, Sascha Hauer, Li Yang, Rob Herring,
	NXP Linux Team, Krzysztof Kozlowski, Fabio Estevam,
	Shengjiu Wang, linux-arm-kernel

On Tue, Mar 07, 2023 at 09:57:47AM +0100, Marco Felsch wrote:
> Hi Shawn,
> 
> On 23-03-07, Shawn Guo wrote:
> > On Mon, Jan 30, 2023 at 06:25:52PM +0100, Johannes Schneider wrote:
> > > Add devicetree for the EVKB, which comes with LPDDR4 and a different
> > > PMIC.
> > > 
> > > The regulator min/max values are taken from the evk's schematic:
> > > 8MMINILPD4-CPU  SPF-31399_C2.pdf
> > > 
> > > Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
> > 
> > The patch doesn't compile at all (see below), so I took a closer look
> > and decided to drop the series.
> > 
> > > ---
> > >  arch/arm64/boot/dts/freescale/Makefile        |   1 +
> > >  arch/arm64/boot/dts/freescale/imx8mm-evkb.dts | 134 ++++++++++++++++++
> > >  2 files changed, 135 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
> > 
> > I prefer to name it imx8mm-evk-revb.dtb or imx8mm-evk-b.dtb.
> 
> Unfortunately it's not revision B, it is evkb. The 'first' evk has
> plenty revisions. I think the most recent for the imx8mm-evk is C5. For
> the imx8mm-evkb the most recent revision is A4. Even this is not 100
> percent correct since the EVK consist of a SoM and a baseboard. The
> baseboard isn't changed for the EVKB but the SoM. The new SoM schematics
> name the new SoM 8MMINILPD4-CPU2. But in the end you can't buy it
> separately:
> - https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/evaluation-kit-for-the-i-mx-8m-mini-applications-processor:8MMINILPD4-EVK

Ok, thanks for the information, Marco!

Shawn

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2023-03-14  6:40 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-30 17:25 [PATCH v8 0/3] pmic on imx8mm Johannes Schneider
2023-01-30 17:25 ` Johannes Schneider
2023-01-30 17:25 ` [PATCH v11 1/2] arm64: dts: imx8mm-evkb: add support for i.MX8MM-EVKB Johannes Schneider
2023-01-30 17:25   ` Johannes Schneider
2023-03-06  1:55   ` Shawn Guo
2023-03-06  1:55     ` Shawn Guo
2023-03-07  3:14   ` Shawn Guo
2023-03-07  3:14     ` Shawn Guo
2023-03-07  8:57     ` Marco Felsch
2023-03-07  8:57       ` Marco Felsch
2023-03-08  5:00       ` SCHNEIDER Johannes
2023-03-08  5:00         ` SCHNEIDER Johannes
2023-03-14  6:39       ` Shawn Guo
2023-03-14  6:39         ` Shawn Guo
2023-01-30 17:25 ` [PATCH v11 2/2] dt-bindings: arm: fsl: Add i.MX8MM-EVKB Johannes Schneider
2023-01-30 17:25   ` Johannes Schneider

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.