* [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.