* [PATCH v7 1/3] arm64: dts: imx8mm-evk: move PMIC configuration
2023-01-10 15:23 [PATCH v7 0/3] pmic on imx8mm Johannes Schneider
@ 2023-01-10 15:23 ` Johannes Schneider
2023-01-19 9:51 ` Marco Felsch
2023-01-10 15:23 ` [PATCH v7 2/3] arm64: dts: imx8mm-evk: add revision-B EVK Johannes Schneider
2023-01-10 15:23 ` [PATCH v7 3/3] dt-bindings: arm: fsl: Add i.MX8MM-EVK rev-b Johannes Schneider
2 siblings, 1 reply; 10+ messages in thread
From: Johannes Schneider @ 2023-01-10 15:23 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Shawn Guo, Sascha Hauer,
Fabio Estevam, Li Yang, Shengjiu Wang, Richard Zhu
Cc: Pengutronix Kernel Team, NXP Linux Team, devicetree,
linux-arm-kernel, Johannes Schneider
Move the PMIC configuration out of imx8mm-evk.dtsi into a separate
file; to accommodate devicetrees for the rev-b EVK, which comes with a
different PMIC.
Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
---
.../boot/dts/freescale/imx8mm-ddr4-evk.dts | 1 +
.../dts/freescale/imx8mm-evk-rohm-pmic.dtsi | 118 ++++++++++++++++++
arch/arm64/boot/dts/freescale/imx8mm-evk.dts | 1 +
arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi | 112 -----------------
4 files changed, 120 insertions(+), 112 deletions(-)
create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-evk-rohm-pmic.dtsi
diff --git a/arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dts b/arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dts
index 6c079c0a3a48..f39182ce65b4 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dts
@@ -6,6 +6,7 @@
/dts-v1/;
#include "imx8mm-evk.dtsi"
+#include "imx8mm-evk-rohm-pmic.dtsi"
/ {
model = "FSL i.MX8MM DDR4 EVK with CYW43455 WIFI/BT board";
diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk-rohm-pmic.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-evk-rohm-pmic.dtsi
new file mode 100644
index 000000000000..0b056996a27b
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx8mm-evk-rohm-pmic.dtsi
@@ -0,0 +1,118 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2020 NXP
+ */
+
+&i2c1 {
+ pmic@4b {
+ compatible = "rohm,bd71847";
+ reg = <0x4b>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_pmic>;
+ interrupt-parent = <&gpio1>;
+ interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
+ rohm,reset-snvs-powered;
+
+ #clock-cells = <0>;
+ clocks = <&osc_32k 0>;
+ clock-output-names = "clk-32k-out";
+
+ regulators {
+ buck1_reg: BUCK1 {
+ regulator-name = "buck1";
+ regulator-min-microvolt = <700000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-ramp-delay = <1250>;
+ };
+
+ buck2_reg: BUCK2 {
+ regulator-name = "buck2";
+ regulator-min-microvolt = <700000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-ramp-delay = <1250>;
+ rohm,dvs-run-voltage = <1000000>;
+ rohm,dvs-idle-voltage = <900000>;
+ };
+
+ buck3_reg: BUCK3 {
+ // BUCK5 in datasheet
+ regulator-name = "buck3";
+ regulator-min-microvolt = <700000>;
+ regulator-max-microvolt = <1350000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ buck4_reg: BUCK4 {
+ // BUCK6 in datasheet
+ regulator-name = "buck4";
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ buck5_reg: BUCK5 {
+ // BUCK7 in datasheet
+ regulator-name = "buck5";
+ regulator-min-microvolt = <1605000>;
+ regulator-max-microvolt = <1995000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ buck6_reg: BUCK6 {
+ // BUCK8 in datasheet
+ regulator-name = "buck6";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1400000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ ldo1_reg: LDO1 {
+ regulator-name = "ldo1";
+ regulator-min-microvolt = <1600000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ ldo2_reg: LDO2 {
+ regulator-name = "ldo2";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <900000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ ldo3_reg: LDO3 {
+ regulator-name = "ldo3";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ ldo4_reg: LDO4 {
+ regulator-name = "ldo4";
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ ldo6_reg: LDO6 {
+ regulator-name = "ldo6";
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk.dts b/arch/arm64/boot/dts/freescale/imx8mm-evk.dts
index a2b24d4d4e3e..d2b6d7de7e53 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mm-evk.dts
@@ -7,6 +7,7 @@
#include <dt-bindings/usb/pd.h>
#include "imx8mm-evk.dtsi"
+#include "imx8mm-evk-rohm-pmic.dtsi"
/ {
model = "FSL i.MX8MM EVK board";
diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
index 7d6317d95b13..21d0614af44c 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
@@ -182,118 +182,6 @@ &i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c1>;
status = "okay";
-
- pmic@4b {
- compatible = "rohm,bd71847";
- reg = <0x4b>;
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_pmic>;
- interrupt-parent = <&gpio1>;
- interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
- rohm,reset-snvs-powered;
-
- #clock-cells = <0>;
- clocks = <&osc_32k 0>;
- clock-output-names = "clk-32k-out";
-
- regulators {
- buck1_reg: BUCK1 {
- regulator-name = "buck1";
- regulator-min-microvolt = <700000>;
- regulator-max-microvolt = <1300000>;
- regulator-boot-on;
- regulator-always-on;
- regulator-ramp-delay = <1250>;
- };
-
- buck2_reg: BUCK2 {
- regulator-name = "buck2";
- regulator-min-microvolt = <700000>;
- regulator-max-microvolt = <1300000>;
- regulator-boot-on;
- regulator-always-on;
- regulator-ramp-delay = <1250>;
- rohm,dvs-run-voltage = <1000000>;
- rohm,dvs-idle-voltage = <900000>;
- };
-
- buck3_reg: BUCK3 {
- // BUCK5 in datasheet
- regulator-name = "buck3";
- regulator-min-microvolt = <700000>;
- regulator-max-microvolt = <1350000>;
- regulator-boot-on;
- regulator-always-on;
- };
-
- buck4_reg: BUCK4 {
- // BUCK6 in datasheet
- regulator-name = "buck4";
- regulator-min-microvolt = <3000000>;
- regulator-max-microvolt = <3300000>;
- regulator-boot-on;
- regulator-always-on;
- };
-
- buck5_reg: BUCK5 {
- // BUCK7 in datasheet
- regulator-name = "buck5";
- regulator-min-microvolt = <1605000>;
- regulator-max-microvolt = <1995000>;
- regulator-boot-on;
- regulator-always-on;
- };
-
- buck6_reg: BUCK6 {
- // BUCK8 in datasheet
- regulator-name = "buck6";
- regulator-min-microvolt = <800000>;
- regulator-max-microvolt = <1400000>;
- regulator-boot-on;
- regulator-always-on;
- };
-
- ldo1_reg: LDO1 {
- regulator-name = "ldo1";
- regulator-min-microvolt = <1600000>;
- regulator-max-microvolt = <3300000>;
- regulator-boot-on;
- regulator-always-on;
- };
-
- ldo2_reg: LDO2 {
- regulator-name = "ldo2";
- regulator-min-microvolt = <800000>;
- regulator-max-microvolt = <900000>;
- regulator-boot-on;
- regulator-always-on;
- };
-
- ldo3_reg: LDO3 {
- regulator-name = "ldo3";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <3300000>;
- regulator-boot-on;
- regulator-always-on;
- };
-
- ldo4_reg: LDO4 {
- regulator-name = "ldo4";
- regulator-min-microvolt = <900000>;
- regulator-max-microvolt = <1800000>;
- regulator-boot-on;
- regulator-always-on;
- };
-
- ldo6_reg: LDO6 {
- regulator-name = "ldo6";
- regulator-min-microvolt = <900000>;
- regulator-max-microvolt = <1800000>;
- regulator-boot-on;
- regulator-always-on;
- };
- };
- };
};
&i2c2 {
--
2.25.1
^ permalink raw reply related [flat|nested] 10+ messages in thread* Re: [PATCH v7 1/3] arm64: dts: imx8mm-evk: move PMIC configuration
2023-01-10 15:23 ` [PATCH v7 1/3] arm64: dts: imx8mm-evk: move PMIC configuration Johannes Schneider
@ 2023-01-19 9:51 ` Marco Felsch
2023-01-19 10:02 ` Ahmad Fatoum
0 siblings, 1 reply; 10+ messages in thread
From: Marco Felsch @ 2023-01-19 9:51 UTC (permalink / raw)
To: Johannes Schneider
Cc: Rob Herring, Krzysztof Kozlowski, Shawn Guo, Sascha Hauer,
Fabio Estevam, Li Yang, Shengjiu Wang, Richard Zhu,
linux-arm-kernel, devicetree, NXP Linux Team,
Pengutronix Kernel Team
Hi Johannes,
thanks for your patch.
On 23-01-10, Johannes Schneider wrote:
> Move the PMIC configuration out of imx8mm-evk.dtsi into a separate
> file; to accommodate devicetrees for the rev-b EVK, which comes with a
I'm not sure if we should call it rev-b since this is quite confusing.
The whole EVK bundle (cpu-board + baseboard) is called EVKB. The most
recent cpu board revision is A4 and the the cpu board itself is called
8MMINILPD4-CPU2 whereas the older cpu board is called 8MMINILPD4-CPU.
So dts file name imx8mm-evkb is correct, but mention it as rev-b in your
commit message is wrong in my opinion.
> different PMIC.
>
> Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
> ---
> .../boot/dts/freescale/imx8mm-ddr4-evk.dts | 1 +
> .../dts/freescale/imx8mm-evk-rohm-pmic.dtsi | 118 ++++++++++++++++++
> arch/arm64/boot/dts/freescale/imx8mm-evk.dts | 1 +
> arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi | 112 -----------------
> 4 files changed, 120 insertions(+), 112 deletions(-)
> create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-evk-rohm-pmic.dtsi
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dts b/arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dts
> index 6c079c0a3a48..f39182ce65b4 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mm-ddr4-evk.dts
> @@ -6,6 +6,7 @@
> /dts-v1/;
>
> #include "imx8mm-evk.dtsi"
> +#include "imx8mm-evk-rohm-pmic.dtsi"
Do we really need to move it into another dtsi file? I would either
suggest to move the pmic description into the .dts file since it is not
common anymore. This way we can avoid the imx8mm-evk-rohm-pmic.dtsi.
Regards,
Marco
> / {
> model = "FSL i.MX8MM DDR4 EVK with CYW43455 WIFI/BT board";
> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk-rohm-pmic.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-evk-rohm-pmic.dtsi
> new file mode 100644
> index 000000000000..0b056996a27b
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/imx8mm-evk-rohm-pmic.dtsi
> @@ -0,0 +1,118 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright 2020 NXP
> + */
> +
> +&i2c1 {
> + pmic@4b {
> + compatible = "rohm,bd71847";
> + reg = <0x4b>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_pmic>;
> + interrupt-parent = <&gpio1>;
> + interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
> + rohm,reset-snvs-powered;
> +
> + #clock-cells = <0>;
> + clocks = <&osc_32k 0>;
> + clock-output-names = "clk-32k-out";
> +
> + regulators {
> + buck1_reg: BUCK1 {
> + regulator-name = "buck1";
> + regulator-min-microvolt = <700000>;
> + regulator-max-microvolt = <1300000>;
> + regulator-boot-on;
> + regulator-always-on;
> + regulator-ramp-delay = <1250>;
> + };
> +
> + buck2_reg: BUCK2 {
> + regulator-name = "buck2";
> + regulator-min-microvolt = <700000>;
> + regulator-max-microvolt = <1300000>;
> + regulator-boot-on;
> + regulator-always-on;
> + regulator-ramp-delay = <1250>;
> + rohm,dvs-run-voltage = <1000000>;
> + rohm,dvs-idle-voltage = <900000>;
> + };
> +
> + buck3_reg: BUCK3 {
> + // BUCK5 in datasheet
> + regulator-name = "buck3";
> + regulator-min-microvolt = <700000>;
> + regulator-max-microvolt = <1350000>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + buck4_reg: BUCK4 {
> + // BUCK6 in datasheet
> + regulator-name = "buck4";
> + regulator-min-microvolt = <3000000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + buck5_reg: BUCK5 {
> + // BUCK7 in datasheet
> + regulator-name = "buck5";
> + regulator-min-microvolt = <1605000>;
> + regulator-max-microvolt = <1995000>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + buck6_reg: BUCK6 {
> + // BUCK8 in datasheet
> + regulator-name = "buck6";
> + regulator-min-microvolt = <800000>;
> + regulator-max-microvolt = <1400000>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + ldo1_reg: LDO1 {
> + regulator-name = "ldo1";
> + regulator-min-microvolt = <1600000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + ldo2_reg: LDO2 {
> + regulator-name = "ldo2";
> + regulator-min-microvolt = <800000>;
> + regulator-max-microvolt = <900000>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + ldo3_reg: LDO3 {
> + regulator-name = "ldo3";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + ldo4_reg: LDO4 {
> + regulator-name = "ldo4";
> + regulator-min-microvolt = <900000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + ldo6_reg: LDO6 {
> + regulator-name = "ldo6";
> + regulator-min-microvolt = <900000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> + };
> + };
> +};
> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk.dts b/arch/arm64/boot/dts/freescale/imx8mm-evk.dts
> index a2b24d4d4e3e..d2b6d7de7e53 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mm-evk.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mm-evk.dts
> @@ -7,6 +7,7 @@
>
> #include <dt-bindings/usb/pd.h>
> #include "imx8mm-evk.dtsi"
> +#include "imx8mm-evk-rohm-pmic.dtsi"
>
> / {
> model = "FSL i.MX8MM EVK board";
> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
> index 7d6317d95b13..21d0614af44c 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
> @@ -182,118 +182,6 @@ &i2c1 {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_i2c1>;
> status = "okay";
> -
> - pmic@4b {
> - compatible = "rohm,bd71847";
> - reg = <0x4b>;
> - pinctrl-names = "default";
> - pinctrl-0 = <&pinctrl_pmic>;
> - interrupt-parent = <&gpio1>;
> - interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
> - rohm,reset-snvs-powered;
> -
> - #clock-cells = <0>;
> - clocks = <&osc_32k 0>;
> - clock-output-names = "clk-32k-out";
> -
> - regulators {
> - buck1_reg: BUCK1 {
> - regulator-name = "buck1";
> - regulator-min-microvolt = <700000>;
> - regulator-max-microvolt = <1300000>;
> - regulator-boot-on;
> - regulator-always-on;
> - regulator-ramp-delay = <1250>;
> - };
> -
> - buck2_reg: BUCK2 {
> - regulator-name = "buck2";
> - regulator-min-microvolt = <700000>;
> - regulator-max-microvolt = <1300000>;
> - regulator-boot-on;
> - regulator-always-on;
> - regulator-ramp-delay = <1250>;
> - rohm,dvs-run-voltage = <1000000>;
> - rohm,dvs-idle-voltage = <900000>;
> - };
> -
> - buck3_reg: BUCK3 {
> - // BUCK5 in datasheet
> - regulator-name = "buck3";
> - regulator-min-microvolt = <700000>;
> - regulator-max-microvolt = <1350000>;
> - regulator-boot-on;
> - regulator-always-on;
> - };
> -
> - buck4_reg: BUCK4 {
> - // BUCK6 in datasheet
> - regulator-name = "buck4";
> - regulator-min-microvolt = <3000000>;
> - regulator-max-microvolt = <3300000>;
> - regulator-boot-on;
> - regulator-always-on;
> - };
> -
> - buck5_reg: BUCK5 {
> - // BUCK7 in datasheet
> - regulator-name = "buck5";
> - regulator-min-microvolt = <1605000>;
> - regulator-max-microvolt = <1995000>;
> - regulator-boot-on;
> - regulator-always-on;
> - };
> -
> - buck6_reg: BUCK6 {
> - // BUCK8 in datasheet
> - regulator-name = "buck6";
> - regulator-min-microvolt = <800000>;
> - regulator-max-microvolt = <1400000>;
> - regulator-boot-on;
> - regulator-always-on;
> - };
> -
> - ldo1_reg: LDO1 {
> - regulator-name = "ldo1";
> - regulator-min-microvolt = <1600000>;
> - regulator-max-microvolt = <3300000>;
> - regulator-boot-on;
> - regulator-always-on;
> - };
> -
> - ldo2_reg: LDO2 {
> - regulator-name = "ldo2";
> - regulator-min-microvolt = <800000>;
> - regulator-max-microvolt = <900000>;
> - regulator-boot-on;
> - regulator-always-on;
> - };
> -
> - ldo3_reg: LDO3 {
> - regulator-name = "ldo3";
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - regulator-boot-on;
> - regulator-always-on;
> - };
> -
> - ldo4_reg: LDO4 {
> - regulator-name = "ldo4";
> - regulator-min-microvolt = <900000>;
> - regulator-max-microvolt = <1800000>;
> - regulator-boot-on;
> - regulator-always-on;
> - };
> -
> - ldo6_reg: LDO6 {
> - regulator-name = "ldo6";
> - regulator-min-microvolt = <900000>;
> - regulator-max-microvolt = <1800000>;
> - regulator-boot-on;
> - regulator-always-on;
> - };
> - };
> - };
> };
>
> &i2c2 {
> --
> 2.25.1
>
>
>
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [PATCH v7 1/3] arm64: dts: imx8mm-evk: move PMIC configuration
2023-01-19 9:51 ` Marco Felsch
@ 2023-01-19 10:02 ` Ahmad Fatoum
2023-01-19 10:45 ` Marco Felsch
0 siblings, 1 reply; 10+ messages in thread
From: Ahmad Fatoum @ 2023-01-19 10:02 UTC (permalink / raw)
To: Marco Felsch, Johannes Schneider
Cc: devicetree, Richard Zhu, Pengutronix Kernel Team, Shawn Guo,
Sascha Hauer, Li Yang, Rob Herring, NXP Linux Team,
Krzysztof Kozlowski, Fabio Estevam, Shengjiu Wang,
linux-arm-kernel
Hello Marco,
On 19.01.23 10:51, Marco Felsch wrote:
> Do we really need to move it into another dtsi file? I would either
> suggest to move the pmic description into the .dts file since it is not
> common anymore. This way we can avoid the imx8mm-evk-rohm-pmic.dtsi.
The PMIC DTSIs were my suggestion. The Rohm PMIC is still common between
old LPDDR4 EVK and DDR4 EVK.
Cheers,
Ahmad
>
> Regards,
> Marco
>
>> / {
>> model = "FSL i.MX8MM DDR4 EVK with CYW43455 WIFI/BT board";
>> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk-rohm-pmic.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-evk-rohm-pmic.dtsi
>> new file mode 100644
>> index 000000000000..0b056996a27b
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/freescale/imx8mm-evk-rohm-pmic.dtsi
>> @@ -0,0 +1,118 @@
>> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
>> +/*
>> + * Copyright 2020 NXP
>> + */
>> +
>> +&i2c1 {
>> + pmic@4b {
>> + compatible = "rohm,bd71847";
>> + reg = <0x4b>;
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&pinctrl_pmic>;
>> + interrupt-parent = <&gpio1>;
>> + interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
>> + rohm,reset-snvs-powered;
>> +
>> + #clock-cells = <0>;
>> + clocks = <&osc_32k 0>;
>> + clock-output-names = "clk-32k-out";
>> +
>> + regulators {
>> + buck1_reg: BUCK1 {
>> + regulator-name = "buck1";
>> + regulator-min-microvolt = <700000>;
>> + regulator-max-microvolt = <1300000>;
>> + regulator-boot-on;
>> + regulator-always-on;
>> + regulator-ramp-delay = <1250>;
>> + };
>> +
>> + buck2_reg: BUCK2 {
>> + regulator-name = "buck2";
>> + regulator-min-microvolt = <700000>;
>> + regulator-max-microvolt = <1300000>;
>> + regulator-boot-on;
>> + regulator-always-on;
>> + regulator-ramp-delay = <1250>;
>> + rohm,dvs-run-voltage = <1000000>;
>> + rohm,dvs-idle-voltage = <900000>;
>> + };
>> +
>> + buck3_reg: BUCK3 {
>> + // BUCK5 in datasheet
>> + regulator-name = "buck3";
>> + regulator-min-microvolt = <700000>;
>> + regulator-max-microvolt = <1350000>;
>> + regulator-boot-on;
>> + regulator-always-on;
>> + };
>> +
>> + buck4_reg: BUCK4 {
>> + // BUCK6 in datasheet
>> + regulator-name = "buck4";
>> + regulator-min-microvolt = <3000000>;
>> + regulator-max-microvolt = <3300000>;
>> + regulator-boot-on;
>> + regulator-always-on;
>> + };
>> +
>> + buck5_reg: BUCK5 {
>> + // BUCK7 in datasheet
>> + regulator-name = "buck5";
>> + regulator-min-microvolt = <1605000>;
>> + regulator-max-microvolt = <1995000>;
>> + regulator-boot-on;
>> + regulator-always-on;
>> + };
>> +
>> + buck6_reg: BUCK6 {
>> + // BUCK8 in datasheet
>> + regulator-name = "buck6";
>> + regulator-min-microvolt = <800000>;
>> + regulator-max-microvolt = <1400000>;
>> + regulator-boot-on;
>> + regulator-always-on;
>> + };
>> +
>> + ldo1_reg: LDO1 {
>> + regulator-name = "ldo1";
>> + regulator-min-microvolt = <1600000>;
>> + regulator-max-microvolt = <3300000>;
>> + regulator-boot-on;
>> + regulator-always-on;
>> + };
>> +
>> + ldo2_reg: LDO2 {
>> + regulator-name = "ldo2";
>> + regulator-min-microvolt = <800000>;
>> + regulator-max-microvolt = <900000>;
>> + regulator-boot-on;
>> + regulator-always-on;
>> + };
>> +
>> + ldo3_reg: LDO3 {
>> + regulator-name = "ldo3";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <3300000>;
>> + regulator-boot-on;
>> + regulator-always-on;
>> + };
>> +
>> + ldo4_reg: LDO4 {
>> + regulator-name = "ldo4";
>> + regulator-min-microvolt = <900000>;
>> + regulator-max-microvolt = <1800000>;
>> + regulator-boot-on;
>> + regulator-always-on;
>> + };
>> +
>> + ldo6_reg: LDO6 {
>> + regulator-name = "ldo6";
>> + regulator-min-microvolt = <900000>;
>> + regulator-max-microvolt = <1800000>;
>> + regulator-boot-on;
>> + regulator-always-on;
>> + };
>> + };
>> + };
>> +};
>> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk.dts b/arch/arm64/boot/dts/freescale/imx8mm-evk.dts
>> index a2b24d4d4e3e..d2b6d7de7e53 100644
>> --- a/arch/arm64/boot/dts/freescale/imx8mm-evk.dts
>> +++ b/arch/arm64/boot/dts/freescale/imx8mm-evk.dts
>> @@ -7,6 +7,7 @@
>>
>> #include <dt-bindings/usb/pd.h>
>> #include "imx8mm-evk.dtsi"
>> +#include "imx8mm-evk-rohm-pmic.dtsi"
>>
>> / {
>> model = "FSL i.MX8MM EVK board";
>> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
>> index 7d6317d95b13..21d0614af44c 100644
>> --- a/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
>> +++ b/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
>> @@ -182,118 +182,6 @@ &i2c1 {
>> pinctrl-names = "default";
>> pinctrl-0 = <&pinctrl_i2c1>;
>> status = "okay";
>> -
>> - pmic@4b {
>> - compatible = "rohm,bd71847";
>> - reg = <0x4b>;
>> - pinctrl-names = "default";
>> - pinctrl-0 = <&pinctrl_pmic>;
>> - interrupt-parent = <&gpio1>;
>> - interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
>> - rohm,reset-snvs-powered;
>> -
>> - #clock-cells = <0>;
>> - clocks = <&osc_32k 0>;
>> - clock-output-names = "clk-32k-out";
>> -
>> - regulators {
>> - buck1_reg: BUCK1 {
>> - regulator-name = "buck1";
>> - regulator-min-microvolt = <700000>;
>> - regulator-max-microvolt = <1300000>;
>> - regulator-boot-on;
>> - regulator-always-on;
>> - regulator-ramp-delay = <1250>;
>> - };
>> -
>> - buck2_reg: BUCK2 {
>> - regulator-name = "buck2";
>> - regulator-min-microvolt = <700000>;
>> - regulator-max-microvolt = <1300000>;
>> - regulator-boot-on;
>> - regulator-always-on;
>> - regulator-ramp-delay = <1250>;
>> - rohm,dvs-run-voltage = <1000000>;
>> - rohm,dvs-idle-voltage = <900000>;
>> - };
>> -
>> - buck3_reg: BUCK3 {
>> - // BUCK5 in datasheet
>> - regulator-name = "buck3";
>> - regulator-min-microvolt = <700000>;
>> - regulator-max-microvolt = <1350000>;
>> - regulator-boot-on;
>> - regulator-always-on;
>> - };
>> -
>> - buck4_reg: BUCK4 {
>> - // BUCK6 in datasheet
>> - regulator-name = "buck4";
>> - regulator-min-microvolt = <3000000>;
>> - regulator-max-microvolt = <3300000>;
>> - regulator-boot-on;
>> - regulator-always-on;
>> - };
>> -
>> - buck5_reg: BUCK5 {
>> - // BUCK7 in datasheet
>> - regulator-name = "buck5";
>> - regulator-min-microvolt = <1605000>;
>> - regulator-max-microvolt = <1995000>;
>> - regulator-boot-on;
>> - regulator-always-on;
>> - };
>> -
>> - buck6_reg: BUCK6 {
>> - // BUCK8 in datasheet
>> - regulator-name = "buck6";
>> - regulator-min-microvolt = <800000>;
>> - regulator-max-microvolt = <1400000>;
>> - regulator-boot-on;
>> - regulator-always-on;
>> - };
>> -
>> - ldo1_reg: LDO1 {
>> - regulator-name = "ldo1";
>> - regulator-min-microvolt = <1600000>;
>> - regulator-max-microvolt = <3300000>;
>> - regulator-boot-on;
>> - regulator-always-on;
>> - };
>> -
>> - ldo2_reg: LDO2 {
>> - regulator-name = "ldo2";
>> - regulator-min-microvolt = <800000>;
>> - regulator-max-microvolt = <900000>;
>> - regulator-boot-on;
>> - regulator-always-on;
>> - };
>> -
>> - ldo3_reg: LDO3 {
>> - regulator-name = "ldo3";
>> - regulator-min-microvolt = <1800000>;
>> - regulator-max-microvolt = <3300000>;
>> - regulator-boot-on;
>> - regulator-always-on;
>> - };
>> -
>> - ldo4_reg: LDO4 {
>> - regulator-name = "ldo4";
>> - regulator-min-microvolt = <900000>;
>> - regulator-max-microvolt = <1800000>;
>> - regulator-boot-on;
>> - regulator-always-on;
>> - };
>> -
>> - ldo6_reg: LDO6 {
>> - regulator-name = "ldo6";
>> - regulator-min-microvolt = <900000>;
>> - regulator-max-microvolt = <1800000>;
>> - regulator-boot-on;
>> - regulator-always-on;
>> - };
>> - };
>> - };
>> };
>>
>> &i2c2 {
>> --
>> 2.25.1
>>
>>
>>
>
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [PATCH v7 1/3] arm64: dts: imx8mm-evk: move PMIC configuration
2023-01-19 10:02 ` Ahmad Fatoum
@ 2023-01-19 10:45 ` Marco Felsch
0 siblings, 0 replies; 10+ messages in thread
From: Marco Felsch @ 2023-01-19 10:45 UTC (permalink / raw)
To: Ahmad Fatoum
Cc: Johannes Schneider, devicetree, Richard Zhu,
Pengutronix Kernel Team, Shawn Guo, Sascha Hauer, Li Yang,
Rob Herring, NXP Linux Team, Krzysztof Kozlowski, Fabio Estevam,
Shengjiu Wang, linux-arm-kernel
Hi Ahamd,
On 23-01-19, Ahmad Fatoum wrote:
> Hello Marco,
>
> On 19.01.23 10:51, Marco Felsch wrote:
> > Do we really need to move it into another dtsi file? I would either
> > suggest to move the pmic description into the .dts file since it is not
> > common anymore. This way we can avoid the imx8mm-evk-rohm-pmic.dtsi.
>
> The PMIC DTSIs were my suggestion. The Rohm PMIC is still common between
> old LPDDR4 EVK and DDR4 EVK.
Ah okay but still it is one indirection more while reading the dts file.
Therefore I would prefer to put it into the dts file or keep it in the
dtsi file and delete the node within the imx8mm-evkb.dts file. But this
is just my opinion.
Regards,
Marco
>
> Cheers,
> Ahmad
>
> >
> > Regards,
> > Marco
> >
> >> / {
> >> model = "FSL i.MX8MM DDR4 EVK with CYW43455 WIFI/BT board";
> >> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk-rohm-pmic.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-evk-rohm-pmic.dtsi
> >> new file mode 100644
> >> index 000000000000..0b056996a27b
> >> --- /dev/null
> >> +++ b/arch/arm64/boot/dts/freescale/imx8mm-evk-rohm-pmic.dtsi
> >> @@ -0,0 +1,118 @@
> >> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> >> +/*
> >> + * Copyright 2020 NXP
> >> + */
> >> +
> >> +&i2c1 {
> >> + pmic@4b {
> >> + compatible = "rohm,bd71847";
> >> + reg = <0x4b>;
> >> + pinctrl-names = "default";
> >> + pinctrl-0 = <&pinctrl_pmic>;
> >> + interrupt-parent = <&gpio1>;
> >> + interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
> >> + rohm,reset-snvs-powered;
> >> +
> >> + #clock-cells = <0>;
> >> + clocks = <&osc_32k 0>;
> >> + clock-output-names = "clk-32k-out";
> >> +
> >> + regulators {
> >> + buck1_reg: BUCK1 {
> >> + regulator-name = "buck1";
> >> + regulator-min-microvolt = <700000>;
> >> + regulator-max-microvolt = <1300000>;
> >> + regulator-boot-on;
> >> + regulator-always-on;
> >> + regulator-ramp-delay = <1250>;
> >> + };
> >> +
> >> + buck2_reg: BUCK2 {
> >> + regulator-name = "buck2";
> >> + regulator-min-microvolt = <700000>;
> >> + regulator-max-microvolt = <1300000>;
> >> + regulator-boot-on;
> >> + regulator-always-on;
> >> + regulator-ramp-delay = <1250>;
> >> + rohm,dvs-run-voltage = <1000000>;
> >> + rohm,dvs-idle-voltage = <900000>;
> >> + };
> >> +
> >> + buck3_reg: BUCK3 {
> >> + // BUCK5 in datasheet
> >> + regulator-name = "buck3";
> >> + regulator-min-microvolt = <700000>;
> >> + regulator-max-microvolt = <1350000>;
> >> + regulator-boot-on;
> >> + regulator-always-on;
> >> + };
> >> +
> >> + buck4_reg: BUCK4 {
> >> + // BUCK6 in datasheet
> >> + regulator-name = "buck4";
> >> + regulator-min-microvolt = <3000000>;
> >> + regulator-max-microvolt = <3300000>;
> >> + regulator-boot-on;
> >> + regulator-always-on;
> >> + };
> >> +
> >> + buck5_reg: BUCK5 {
> >> + // BUCK7 in datasheet
> >> + regulator-name = "buck5";
> >> + regulator-min-microvolt = <1605000>;
> >> + regulator-max-microvolt = <1995000>;
> >> + regulator-boot-on;
> >> + regulator-always-on;
> >> + };
> >> +
> >> + buck6_reg: BUCK6 {
> >> + // BUCK8 in datasheet
> >> + regulator-name = "buck6";
> >> + regulator-min-microvolt = <800000>;
> >> + regulator-max-microvolt = <1400000>;
> >> + regulator-boot-on;
> >> + regulator-always-on;
> >> + };
> >> +
> >> + ldo1_reg: LDO1 {
> >> + regulator-name = "ldo1";
> >> + regulator-min-microvolt = <1600000>;
> >> + regulator-max-microvolt = <3300000>;
> >> + regulator-boot-on;
> >> + regulator-always-on;
> >> + };
> >> +
> >> + ldo2_reg: LDO2 {
> >> + regulator-name = "ldo2";
> >> + regulator-min-microvolt = <800000>;
> >> + regulator-max-microvolt = <900000>;
> >> + regulator-boot-on;
> >> + regulator-always-on;
> >> + };
> >> +
> >> + ldo3_reg: LDO3 {
> >> + regulator-name = "ldo3";
> >> + regulator-min-microvolt = <1800000>;
> >> + regulator-max-microvolt = <3300000>;
> >> + regulator-boot-on;
> >> + regulator-always-on;
> >> + };
> >> +
> >> + ldo4_reg: LDO4 {
> >> + regulator-name = "ldo4";
> >> + regulator-min-microvolt = <900000>;
> >> + regulator-max-microvolt = <1800000>;
> >> + regulator-boot-on;
> >> + regulator-always-on;
> >> + };
> >> +
> >> + ldo6_reg: LDO6 {
> >> + regulator-name = "ldo6";
> >> + regulator-min-microvolt = <900000>;
> >> + regulator-max-microvolt = <1800000>;
> >> + regulator-boot-on;
> >> + regulator-always-on;
> >> + };
> >> + };
> >> + };
> >> +};
> >> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk.dts b/arch/arm64/boot/dts/freescale/imx8mm-evk.dts
> >> index a2b24d4d4e3e..d2b6d7de7e53 100644
> >> --- a/arch/arm64/boot/dts/freescale/imx8mm-evk.dts
> >> +++ b/arch/arm64/boot/dts/freescale/imx8mm-evk.dts
> >> @@ -7,6 +7,7 @@
> >>
> >> #include <dt-bindings/usb/pd.h>
> >> #include "imx8mm-evk.dtsi"
> >> +#include "imx8mm-evk-rohm-pmic.dtsi"
> >>
> >> / {
> >> model = "FSL i.MX8MM EVK board";
> >> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
> >> index 7d6317d95b13..21d0614af44c 100644
> >> --- a/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
> >> +++ b/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
> >> @@ -182,118 +182,6 @@ &i2c1 {
> >> pinctrl-names = "default";
> >> pinctrl-0 = <&pinctrl_i2c1>;
> >> status = "okay";
> >> -
> >> - pmic@4b {
> >> - compatible = "rohm,bd71847";
> >> - reg = <0x4b>;
> >> - pinctrl-names = "default";
> >> - pinctrl-0 = <&pinctrl_pmic>;
> >> - interrupt-parent = <&gpio1>;
> >> - interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
> >> - rohm,reset-snvs-powered;
> >> -
> >> - #clock-cells = <0>;
> >> - clocks = <&osc_32k 0>;
> >> - clock-output-names = "clk-32k-out";
> >> -
> >> - regulators {
> >> - buck1_reg: BUCK1 {
> >> - regulator-name = "buck1";
> >> - regulator-min-microvolt = <700000>;
> >> - regulator-max-microvolt = <1300000>;
> >> - regulator-boot-on;
> >> - regulator-always-on;
> >> - regulator-ramp-delay = <1250>;
> >> - };
> >> -
> >> - buck2_reg: BUCK2 {
> >> - regulator-name = "buck2";
> >> - regulator-min-microvolt = <700000>;
> >> - regulator-max-microvolt = <1300000>;
> >> - regulator-boot-on;
> >> - regulator-always-on;
> >> - regulator-ramp-delay = <1250>;
> >> - rohm,dvs-run-voltage = <1000000>;
> >> - rohm,dvs-idle-voltage = <900000>;
> >> - };
> >> -
> >> - buck3_reg: BUCK3 {
> >> - // BUCK5 in datasheet
> >> - regulator-name = "buck3";
> >> - regulator-min-microvolt = <700000>;
> >> - regulator-max-microvolt = <1350000>;
> >> - regulator-boot-on;
> >> - regulator-always-on;
> >> - };
> >> -
> >> - buck4_reg: BUCK4 {
> >> - // BUCK6 in datasheet
> >> - regulator-name = "buck4";
> >> - regulator-min-microvolt = <3000000>;
> >> - regulator-max-microvolt = <3300000>;
> >> - regulator-boot-on;
> >> - regulator-always-on;
> >> - };
> >> -
> >> - buck5_reg: BUCK5 {
> >> - // BUCK7 in datasheet
> >> - regulator-name = "buck5";
> >> - regulator-min-microvolt = <1605000>;
> >> - regulator-max-microvolt = <1995000>;
> >> - regulator-boot-on;
> >> - regulator-always-on;
> >> - };
> >> -
> >> - buck6_reg: BUCK6 {
> >> - // BUCK8 in datasheet
> >> - regulator-name = "buck6";
> >> - regulator-min-microvolt = <800000>;
> >> - regulator-max-microvolt = <1400000>;
> >> - regulator-boot-on;
> >> - regulator-always-on;
> >> - };
> >> -
> >> - ldo1_reg: LDO1 {
> >> - regulator-name = "ldo1";
> >> - regulator-min-microvolt = <1600000>;
> >> - regulator-max-microvolt = <3300000>;
> >> - regulator-boot-on;
> >> - regulator-always-on;
> >> - };
> >> -
> >> - ldo2_reg: LDO2 {
> >> - regulator-name = "ldo2";
> >> - regulator-min-microvolt = <800000>;
> >> - regulator-max-microvolt = <900000>;
> >> - regulator-boot-on;
> >> - regulator-always-on;
> >> - };
> >> -
> >> - ldo3_reg: LDO3 {
> >> - regulator-name = "ldo3";
> >> - regulator-min-microvolt = <1800000>;
> >> - regulator-max-microvolt = <3300000>;
> >> - regulator-boot-on;
> >> - regulator-always-on;
> >> - };
> >> -
> >> - ldo4_reg: LDO4 {
> >> - regulator-name = "ldo4";
> >> - regulator-min-microvolt = <900000>;
> >> - regulator-max-microvolt = <1800000>;
> >> - regulator-boot-on;
> >> - regulator-always-on;
> >> - };
> >> -
> >> - ldo6_reg: LDO6 {
> >> - regulator-name = "ldo6";
> >> - regulator-min-microvolt = <900000>;
> >> - regulator-max-microvolt = <1800000>;
> >> - regulator-boot-on;
> >> - regulator-always-on;
> >> - };
> >> - };
> >> - };
> >> };
> >>
> >> &i2c2 {
> >> --
> >> 2.25.1
> >>
> >>
> >>
> >
> >
>
> --
> Pengutronix e.K. | |
> Steuerwalder Str. 21 | http://www.pengutronix.de/ |
> 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
> Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
>
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v7 2/3] arm64: dts: imx8mm-evk: add revision-B EVK
2023-01-10 15:23 [PATCH v7 0/3] pmic on imx8mm Johannes Schneider
2023-01-10 15:23 ` [PATCH v7 1/3] arm64: dts: imx8mm-evk: move PMIC configuration Johannes Schneider
@ 2023-01-10 15:23 ` Johannes Schneider
2023-01-20 19:53 ` Marco Felsch
2023-01-10 15:23 ` [PATCH v7 3/3] dt-bindings: arm: fsl: Add i.MX8MM-EVK rev-b Johannes Schneider
2 siblings, 1 reply; 10+ messages in thread
From: Johannes Schneider @ 2023-01-10 15:23 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Shawn Guo, Sascha Hauer,
Fabio Estevam, Li Yang, Shengjiu Wang, Richard Zhu
Cc: Pengutronix Kernel Team, NXP Linux Team, devicetree,
linux-arm-kernel, Johannes Schneider
Add devicetree for the EVKB, which comes with LPDDR4 and a different
PMIC.
Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
---
arch/arm64/boot/dts/freescale/Makefile | 1 +
arch/arm64/boot/dts/freescale/imx8mm-evkb.dts | 116 ++++++++++++++++++
2 files changed, 117 insertions(+)
create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-evkb.dts
diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index 3ea9edc87909..3bccc4d10928 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -55,6 +55,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mm-data-modul-edm-sbc.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mm-ddr4-evk.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mm-emcon-avari.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mm-evk.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx8mm-evkb.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mm-icore-mx8mm-ctouch2.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mm-icore-mx8mm-edimm2.2.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mm-kontron-bl.dtb
diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evkb.dts b/arch/arm64/boot/dts/freescale/imx8mm-evkb.dts
new file mode 100644
index 000000000000..b2d724ad43b2
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx8mm-evkb.dts
@@ -0,0 +1,116 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2019-2020 NXP
+ */
+
+/dts-v1/;
+
+#include "imx8mm-evk.dtsi"
+
+/ {
+ model = "FSL i.MX8MM EVKB"; // with LPDDR4 and PCA9450 PMIC
+ compatible = "fsl,imx8mm-evkb", "fsl,imx8mm";
+};
+
+&i2c1 {
+ pmic: pmic@25 {
+ compatible = "nxp,pca9450a";
+ reg = <0x25>;
+ pinctrl-0 = <&pinctrl_pmic>;
+ pinctrl-names = "default";
+ interrupt-parent = <&gpio1>;
+ interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
+
+ regulators {
+ buck1_reg: BUCK1 {
+ regulator-name = "BUCK1";
+ regulator-min-microvolt = <600000>;
+ regulator-max-microvolt = <2187500>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-ramp-delay = <3125>;
+ nxp,dvs-run-voltage = <820000>;
+ nxp,dvs-standby-voltage = <800000>;
+ };
+
+ buck2_reg: BUCK2 {
+ regulator-name = "BUCK2";
+ regulator-min-microvolt = <600000>;
+ regulator-max-microvolt = <2187500>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-ramp-delay = <3125>;
+ };
+
+ buck3_reg: BUCK3 {
+ regulator-name = "BUCK3";
+ regulator-min-microvolt = <600000>;
+ regulator-max-microvolt = <2187500>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ buck4_reg: BUCK4 {
+ regulator-name = "BUCK4";
+ regulator-min-microvolt = <600000>;
+ regulator-max-microvolt = <3400000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ buck5_reg: BUCK5 {
+ regulator-name = "BUCK5";
+ regulator-min-microvolt = <600000>;
+ regulator-max-microvolt = <3400000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ buck6_reg: BUCK6 {
+ regulator-name = "BUCK6";
+ regulator-min-microvolt = <600000>;
+ regulator-max-microvolt = <3400000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ ldo1_reg: LDO1 {
+ regulator-name = "LDO1";
+ regulator-min-microvolt = <1600000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ ldo2_reg: LDO2 {
+ regulator-name = "LDO2";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1150000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ ldo3_reg: LDO3 {
+ regulator-name = "LDO3";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ ldo4_reg: LDO4 {
+ regulator-name = "LDO4";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ ldo5_reg: LDO5 {
+ regulator-name = "LDO5";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3300000>;
+ };
+ };
+ };
+};
--
2.25.1
^ permalink raw reply related [flat|nested] 10+ messages in thread* Re: [PATCH v7 2/3] arm64: dts: imx8mm-evk: add revision-B EVK
2023-01-10 15:23 ` [PATCH v7 2/3] arm64: dts: imx8mm-evk: add revision-B EVK Johannes Schneider
@ 2023-01-20 19:53 ` Marco Felsch
2023-01-21 19:51 ` Krzysztof Kozlowski
0 siblings, 1 reply; 10+ messages in thread
From: Marco Felsch @ 2023-01-20 19:53 UTC (permalink / raw)
To: Johannes Schneider
Cc: Rob Herring, Krzysztof Kozlowski, Shawn Guo, Sascha Hauer,
Fabio Estevam, Li Yang, Shengjiu Wang, Richard Zhu,
linux-arm-kernel, devicetree, NXP Linux Team,
Pengutronix Kernel Team
Hi Johannes,
please adapt the subject to:
arm64: dts: add support for i.MX8MM-EVKB
to avoid confusion with the revisions written in the schematics.
Regards,
Marco
On 23-01-10, Johannes Schneider wrote:
> Add devicetree for the EVKB, which comes with LPDDR4 and a different
> PMIC.
>
> Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
> ---
> arch/arm64/boot/dts/freescale/Makefile | 1 +
> arch/arm64/boot/dts/freescale/imx8mm-evkb.dts | 116 ++++++++++++++++++
> 2 files changed, 117 insertions(+)
> create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-evkb.dts
>
> diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
> index 3ea9edc87909..3bccc4d10928 100644
> --- a/arch/arm64/boot/dts/freescale/Makefile
> +++ b/arch/arm64/boot/dts/freescale/Makefile
> @@ -55,6 +55,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mm-data-modul-edm-sbc.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx8mm-ddr4-evk.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx8mm-emcon-avari.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx8mm-evk.dtb
> +dtb-$(CONFIG_ARCH_MXC) += imx8mm-evkb.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx8mm-icore-mx8mm-ctouch2.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx8mm-icore-mx8mm-edimm2.2.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx8mm-kontron-bl.dtb
> diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evkb.dts b/arch/arm64/boot/dts/freescale/imx8mm-evkb.dts
> new file mode 100644
> index 000000000000..b2d724ad43b2
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/imx8mm-evkb.dts
> @@ -0,0 +1,116 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright 2019-2020 NXP
> + */
> +
> +/dts-v1/;
> +
> +#include "imx8mm-evk.dtsi"
> +
> +/ {
> + model = "FSL i.MX8MM EVKB"; // with LPDDR4 and PCA9450 PMIC
> + compatible = "fsl,imx8mm-evkb", "fsl,imx8mm";
> +};
> +
> +&i2c1 {
> + pmic: pmic@25 {
> + compatible = "nxp,pca9450a";
> + reg = <0x25>;
> + pinctrl-0 = <&pinctrl_pmic>;
> + pinctrl-names = "default";
> + interrupt-parent = <&gpio1>;
> + interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
> +
> + regulators {
> + buck1_reg: BUCK1 {
> + regulator-name = "BUCK1";
> + regulator-min-microvolt = <600000>;
> + regulator-max-microvolt = <2187500>;
> + regulator-boot-on;
> + regulator-always-on;
> + regulator-ramp-delay = <3125>;
> + nxp,dvs-run-voltage = <820000>;
> + nxp,dvs-standby-voltage = <800000>;
> + };
> +
> + buck2_reg: BUCK2 {
> + regulator-name = "BUCK2";
> + regulator-min-microvolt = <600000>;
> + regulator-max-microvolt = <2187500>;
> + regulator-boot-on;
> + regulator-always-on;
> + regulator-ramp-delay = <3125>;
> + };
> +
> + buck3_reg: BUCK3 {
> + regulator-name = "BUCK3";
> + regulator-min-microvolt = <600000>;
> + regulator-max-microvolt = <2187500>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + buck4_reg: BUCK4 {
> + regulator-name = "BUCK4";
> + regulator-min-microvolt = <600000>;
> + regulator-max-microvolt = <3400000>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + buck5_reg: BUCK5 {
> + regulator-name = "BUCK5";
> + regulator-min-microvolt = <600000>;
> + regulator-max-microvolt = <3400000>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + buck6_reg: BUCK6 {
> + regulator-name = "BUCK6";
> + regulator-min-microvolt = <600000>;
> + regulator-max-microvolt = <3400000>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + ldo1_reg: LDO1 {
> + regulator-name = "LDO1";
> + regulator-min-microvolt = <1600000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + ldo2_reg: LDO2 {
> + regulator-name = "LDO2";
> + regulator-min-microvolt = <800000>;
> + regulator-max-microvolt = <1150000>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + ldo3_reg: LDO3 {
> + regulator-name = "LDO3";
> + regulator-min-microvolt = <800000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + ldo4_reg: LDO4 {
> + regulator-name = "LDO4";
> + regulator-min-microvolt = <800000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + ldo5_reg: LDO5 {
> + regulator-name = "LDO5";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <3300000>;
> + };
> + };
> + };
> +};
> --
> 2.25.1
>
>
>
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [PATCH v7 2/3] arm64: dts: imx8mm-evk: add revision-B EVK
2023-01-20 19:53 ` Marco Felsch
@ 2023-01-21 19:51 ` Krzysztof Kozlowski
0 siblings, 0 replies; 10+ messages in thread
From: Krzysztof Kozlowski @ 2023-01-21 19:51 UTC (permalink / raw)
To: Marco Felsch, Johannes Schneider
Cc: Rob Herring, Krzysztof Kozlowski, Shawn Guo, Sascha Hauer,
Fabio Estevam, Li Yang, Shengjiu Wang, Richard Zhu,
linux-arm-kernel, devicetree, NXP Linux Team,
Pengutronix Kernel Team
On 20/01/2023 20:53, Marco Felsch wrote:
> Hi Johannes,
>
> please adapt the subject to:
>
> arm64: dts: add support for i.MX8MM-EVKB
>
> to avoid confusion with the revisions written in the schematics.
>
Except that this misses sub-arch prefix, so arm64: dts: imx8mm-evkb: ...
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v7 3/3] dt-bindings: arm: fsl: Add i.MX8MM-EVK rev-b
2023-01-10 15:23 [PATCH v7 0/3] pmic on imx8mm Johannes Schneider
2023-01-10 15:23 ` [PATCH v7 1/3] arm64: dts: imx8mm-evk: move PMIC configuration Johannes Schneider
2023-01-10 15:23 ` [PATCH v7 2/3] arm64: dts: imx8mm-evk: add revision-B EVK Johannes Schneider
@ 2023-01-10 15:23 ` Johannes Schneider
2023-01-20 19:50 ` Marco Felsch
2 siblings, 1 reply; 10+ messages in thread
From: Johannes Schneider @ 2023-01-10 15:23 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Shawn Guo, Sascha Hauer,
Fabio Estevam, Li Yang, Shengjiu Wang, Richard Zhu
Cc: Pengutronix Kernel Team, NXP Linux Team, devicetree,
linux-arm-kernel, Johannes Schneider, Krzysztof Kozlowski
Add DT compatible strings for a rev-b imx8mm-EVK which come with a
different PMIC than rev-a.
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
---
Documentation/devicetree/bindings/arm/fsl.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml
index fbfc4f99c01e..9c3a02c19847 100644
--- a/Documentation/devicetree/bindings/arm/fsl.yaml
+++ b/Documentation/devicetree/bindings/arm/fsl.yaml
@@ -818,6 +818,7 @@ properties:
- emtrion,emcon-mx8mm-avari # emCON-MX8MM SoM on Avari Base
- fsl,imx8mm-ddr4-evk # i.MX8MM DDR4 EVK Board
- fsl,imx8mm-evk # i.MX8MM EVK Board
+ - fsl,imx8mm-evkb # i.MX8MM EVK Board, rev-B
- gateworks,imx8mm-gw7904
- gw,imx8mm-gw71xx-0x # i.MX8MM Gateworks Development Kit
- gw,imx8mm-gw72xx-0x # i.MX8MM Gateworks Development Kit
--
2.25.1
^ permalink raw reply related [flat|nested] 10+ messages in thread* Re: [PATCH v7 3/3] dt-bindings: arm: fsl: Add i.MX8MM-EVK rev-b
2023-01-10 15:23 ` [PATCH v7 3/3] dt-bindings: arm: fsl: Add i.MX8MM-EVK rev-b Johannes Schneider
@ 2023-01-20 19:50 ` Marco Felsch
0 siblings, 0 replies; 10+ messages in thread
From: Marco Felsch @ 2023-01-20 19:50 UTC (permalink / raw)
To: Johannes Schneider
Cc: Rob Herring, Krzysztof Kozlowski, Shawn Guo, Sascha Hauer,
Fabio Estevam, Li Yang, Shengjiu Wang, Richard Zhu, devicetree,
Krzysztof Kozlowski, NXP Linux Team, Pengutronix Kernel Team,
linux-arm-kernel
Hi Johannes,
On 23-01-10, Johannes Schneider wrote:
> Add DT compatible strings for a rev-b imx8mm-EVK which come with a
> different PMIC than rev-a.
Please correct the commit message it is not rev-b it is EVKB. The most
recent revision of the 'original' EVK CPU module is C2 and the most
recent revision of EVKB CPU2 module is A4.
> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
> ---
> Documentation/devicetree/bindings/arm/fsl.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml
> index fbfc4f99c01e..9c3a02c19847 100644
> --- a/Documentation/devicetree/bindings/arm/fsl.yaml
> +++ b/Documentation/devicetree/bindings/arm/fsl.yaml
> @@ -818,6 +818,7 @@ properties:
> - emtrion,emcon-mx8mm-avari # emCON-MX8MM SoM on Avari Base
> - fsl,imx8mm-ddr4-evk # i.MX8MM DDR4 EVK Board
> - fsl,imx8mm-evk # i.MX8MM EVK Board
> + - fsl,imx8mm-evkb # i.MX8MM EVK Board, rev-B
^
Please drop this rev-B and instead just write:
# i.MX8MM EVKB board
Regards,
Marco
> - gateworks,imx8mm-gw7904
> - gw,imx8mm-gw71xx-0x # i.MX8MM Gateworks Development Kit
> - gw,imx8mm-gw72xx-0x # i.MX8MM Gateworks Development Kit
> --
> 2.25.1
>
>
>
^ permalink raw reply [flat|nested] 10+ messages in thread