2023-01-04 00:29:59

by Peng Fan (OSS)

[permalink] [raw]
Subject: [PATCH V2 0/5] binding: imx8m: add IOMUXC GPR

From: Peng Fan <[email protected]>

V2:
Update nodename to syscon in patch 3
Add A-b/R-b tag

Add binding doc for i.MX8M, update dts to match binding doc.
This is effort for ARM System-Ready 2.0 certification

Peng Fan (5):
dt-bindings: soc: imx: add IOMUXC GPR support
arm64: dts: imx8mq: correct iomuxc-gpr compatible
arm64: dts: imx8mm: correct iomuxc-gpr compatible
arm64: dts: imx8mn: update iomuxc-gpr node name
arm64: dts: imx8mp: use syscon for iomuxc-gpr

.../bindings/soc/imx/fsl,imx-iomuxc-gpr.yaml | 57 +++++++++++++++++++
arch/arm64/boot/dts/freescale/imx8mm.dtsi | 4 +-
arch/arm64/boot/dts/freescale/imx8mn.dtsi | 2 +-
arch/arm64/boot/dts/freescale/imx8mp.dtsi | 2 +-
arch/arm64/boot/dts/freescale/imx8mq.dtsi | 3 +-
5 files changed, 62 insertions(+), 6 deletions(-)
create mode 100644 Documentation/devicetree/bindings/soc/imx/fsl,imx-iomuxc-gpr.yaml

--
2.37.1


2023-01-04 00:42:02

by Peng Fan (OSS)

[permalink] [raw]
Subject: [PATCH V2 3/5] arm64: dts: imx8mm: correct iomuxc-gpr compatible

From: Peng Fan <[email protected]>

The IOMUX Controller General purpose register group are unique almost
per SoC, i.MX8MM is not compatible with i.MX6Q. So correct it.

Signed-off-by: Peng Fan <[email protected]>
---
arch/arm64/boot/dts/freescale/imx8mm.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/freescale/imx8mm.dtsi b/arch/arm64/boot/dts/freescale/imx8mm.dtsi
index 4ee89fdcf59b..42cc6ad1b607 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mm.dtsi
@@ -550,8 +550,8 @@ iomuxc: pinctrl@30330000 {
reg = <0x30330000 0x10000>;
};

- gpr: iomuxc-gpr@30340000 {
- compatible = "fsl,imx8mm-iomuxc-gpr", "fsl,imx6q-iomuxc-gpr", "syscon";
+ gpr: syscon@30340000 {
+ compatible = "fsl,imx8mm-iomuxc-gpr", "syscon";
reg = <0x30340000 0x10000>;
};

--
2.37.1

2023-01-04 00:44:43

by Peng Fan (OSS)

[permalink] [raw]
Subject: [PATCH V2 4/5] arm64: dts: imx8mn: update iomuxc-gpr node name

From: Peng Fan <[email protected]>

It is better use syscon for IOMUXC GPR, since it contains various
bits for system control

Signed-off-by: Peng Fan <[email protected]>
Reviewed-by: Marco Felsch <[email protected]>
---
arch/arm64/boot/dts/freescale/imx8mn.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/freescale/imx8mn.dtsi b/arch/arm64/boot/dts/freescale/imx8mn.dtsi
index b7d91df71cc2..08ca91bb1887 100644
--- a/arch/arm64/boot/dts/freescale/imx8mn.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mn.dtsi
@@ -552,7 +552,7 @@ iomuxc: pinctrl@30330000 {
reg = <0x30330000 0x10000>;
};

- gpr: iomuxc-gpr@30340000 {
+ gpr: syscon@30340000 {
compatible = "fsl,imx8mn-iomuxc-gpr", "syscon";
reg = <0x30340000 0x10000>;
};
--
2.37.1

2023-01-04 01:01:49

by Peng Fan (OSS)

[permalink] [raw]
Subject: [PATCH V2 2/5] arm64: dts: imx8mq: correct iomuxc-gpr compatible

From: Peng Fan <[email protected]>

The IOMUX Controller General purpose register group are unique almost
per SoC, i.MX8MQ is not compatible with i.MX6Q. So correct it.
Also update name with syscon.

Signed-off-by: Peng Fan <[email protected]>
Reviewed-by: Marco Felsch <[email protected]>
---
arch/arm64/boot/dts/freescale/imx8mq.dtsi | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
index 7ce99c084e54..6971c47d11fa 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
@@ -575,8 +575,7 @@ iomuxc: pinctrl@30330000 {
};

iomuxc_gpr: syscon@30340000 {
- compatible = "fsl,imx8mq-iomuxc-gpr", "fsl,imx6q-iomuxc-gpr",
- "syscon", "simple-mfd";
+ compatible = "fsl,imx8mq-iomuxc-gpr", "syscon", "simple-mfd";
reg = <0x30340000 0x10000>;

mux: mux-controller {
--
2.37.1

2023-01-04 01:02:16

by Peng Fan (OSS)

[permalink] [raw]
Subject: [PATCH V2 1/5] dt-bindings: soc: imx: add IOMUXC GPR support

From: Peng Fan <[email protected]>

Add binding doc for i.MX IOMUX Controller General Purpose Registers

Signed-off-by: Peng Fan <[email protected]>
Reviewed-by: Rob Herring <[email protected]>
---
.../bindings/soc/imx/fsl,imx-iomuxc-gpr.yaml | 57 +++++++++++++++++++
1 file changed, 57 insertions(+)
create mode 100644 Documentation/devicetree/bindings/soc/imx/fsl,imx-iomuxc-gpr.yaml

diff --git a/Documentation/devicetree/bindings/soc/imx/fsl,imx-iomuxc-gpr.yaml b/Documentation/devicetree/bindings/soc/imx/fsl,imx-iomuxc-gpr.yaml
new file mode 100644
index 000000000000..1da1b758b4ae
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/imx/fsl,imx-iomuxc-gpr.yaml
@@ -0,0 +1,57 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/soc/imx/fsl,imx-iomuxc-gpr.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Freescale IOMUX Controller General Purpose Registers
+
+maintainers:
+ - Peng Fan <[email protected]>
+
+description:
+ i.MX Processors have an IOMUXC General Purpose Register group for
+ various System Settings
+
+properties:
+ compatible:
+ oneOf:
+ - items:
+ - const: fsl,imx8mq-iomuxc-gpr
+ - const: syscon
+ - const: simple-mfd
+ - items:
+ - enum:
+ - fsl,imx8mm-iomuxc-gpr
+ - fsl,imx8mn-iomuxc-gpr
+ - fsl,imx8mp-iomuxc-gpr
+ - const: syscon
+
+ reg:
+ maxItems: 1
+
+ mux-controller:
+ type: object
+ $ref: /schemas/mux/reg-mux.yaml
+
+additionalProperties: false
+
+required:
+ - compatible
+ - reg
+
+examples:
+ # Pinmux controller node
+ - |
+ iomuxc_gpr: syscon@30340000 {
+ compatible = "fsl,imx8mq-iomuxc-gpr", "syscon", "simple-mfd";
+ reg = <0x30340000 0x10000>;
+
+ mux: mux-controller {
+ compatible = "mmio-mux";
+ #mux-control-cells = <1>;
+ mux-reg-masks = <0x34 0x00000004>; /* MIPI_MUX_SEL */
+ };
+ };
+
+...
--
2.37.1

2023-01-04 01:10:16

by Peng Fan (OSS)

[permalink] [raw]
Subject: [PATCH V2 5/5] arm64: dts: imx8mp: use syscon for iomuxc-gpr

From: Peng Fan <[email protected]>

It is preferred to use syscon per bindind doc

Signed-off-by: Peng Fan <[email protected]>
Reviewed-by: Marco Felsch <[email protected]>
---
arch/arm64/boot/dts/freescale/imx8mp.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
index 7a6e6221f421..9e5260721931 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
@@ -412,7 +412,7 @@ iomuxc: pinctrl@30330000 {
reg = <0x30330000 0x10000>;
};

- gpr: iomuxc-gpr@30340000 {
+ gpr: syscon@30340000 {
compatible = "fsl,imx8mp-iomuxc-gpr", "syscon";
reg = <0x30340000 0x10000>;
};
--
2.37.1

2023-01-09 09:20:08

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH V2 0/5] binding: imx8m: add IOMUXC GPR

On Wed, Jan 04, 2023 at 08:25:40AM +0800, Peng Fan (OSS) wrote:
> From: Peng Fan <[email protected]>
>
> V2:
> Update nodename to syscon in patch 3
> Add A-b/R-b tag
>
> Add binding doc for i.MX8M, update dts to match binding doc.
> This is effort for ARM System-Ready 2.0 certification
>
> Peng Fan (5):
> dt-bindings: soc: imx: add IOMUXC GPR support
> arm64: dts: imx8mq: correct iomuxc-gpr compatible
> arm64: dts: imx8mm: correct iomuxc-gpr compatible
> arm64: dts: imx8mn: update iomuxc-gpr node name
> arm64: dts: imx8mp: use syscon for iomuxc-gpr

Applied all, thanks!