From: Peng Fan <[email protected]>
V3:
Address DT maintainer's comments in patch 1
V2:
Add binding doc for aonmix/wakeupmix blk ctrl
Update compatible in patch 5 according to binding doc
The lpi2c binding doc has been accepted:
https://lore.kernel.org/all/Yw3hfcQ2JV248GIo@shikoro/
V1:
Add S4MU, BLK CTRL, PMU, LPI2C, LPSPI nodes.
Add GPIO clk entry.
Correct SDHC clk entry
https://patchwork.kernel.org/project/linux-arm-kernel/cover/[email protected]/
Peng Fan (8):
dt-bindings: soc: imx: add binding for i.MX93 syscon
arm64: dts: imx93: correct SDHC clk entry
arm64: dts: imx93: add gpio clk
arm64: dts: imx93: add s4 mu node
arm64: dts: imx93: add blk ctrl node
arm64: dts: imx93: add a55 pmu
arm64: dts: imx93: add lpi2c nodes
arm64: dts: imx93: add lpspi nodes
.../bindings/soc/imx/fsl,imx93-syscon.yaml | 36 ++++
arch/arm64/boot/dts/freescale/imx93.dtsi | 162 +++++++++++++++++-
2 files changed, 192 insertions(+), 6 deletions(-)
create mode 100644 Documentation/devicetree/bindings/soc/imx/fsl,imx93-syscon.yaml
--
2.37.1
From: Peng Fan <[email protected]>
Add i.MX93 lpi2c nodes
Signed-off-by: Peng Fan <[email protected]>
---
binding doc accepeted:
https://lore.kernel.org/all/Yw3hfcQ2JV248GIo@shikoro/
arch/arm64/boot/dts/freescale/imx93.dtsi | 89 ++++++++++++++++++++++++
1 file changed, 89 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx93.dtsi b/arch/arm64/boot/dts/freescale/imx93.dtsi
index f007314d8f1e..58f36897bc5f 100644
--- a/arch/arm64/boot/dts/freescale/imx93.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx93.dtsi
@@ -16,6 +16,14 @@ / {
#size-cells = <2>;
aliases {
+ i2c0 = &lpi2c1;
+ i2c1 = &lpi2c2;
+ i2c2 = &lpi2c3;
+ i2c3 = &lpi2c4;
+ i2c4 = &lpi2c5;
+ i2c5 = &lpi2c6;
+ i2c6 = &lpi2c7;
+ i2c7 = &lpi2c8;
mmc0 = &usdhc1;
mmc1 = &usdhc2;
mmc2 = &usdhc3;
@@ -138,6 +146,26 @@ system_counter: timer@44290000 {
clock-names = "per";
};
+ lpi2c1: i2c@44340000 {
+ compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
+ reg = <0x44340000 0x10000>;
+ interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clk IMX93_CLK_LPI2C1_GATE>,
+ <&clk IMX93_CLK_BUS_AON>;
+ clock-names = "per", "ipg";
+ status = "disabled";
+ };
+
+ lpi2c2: i2c@44350000 {
+ compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
+ reg = <0x44350000 0x10000>;
+ interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clk IMX93_CLK_LPI2C2_GATE>,
+ <&clk IMX93_CLK_BUS_AON>;
+ clock-names = "per", "ipg";
+ status = "disabled";
+ };
+
lpuart1: serial@44380000 {
compatible = "fsl,imx93-lpuart", "fsl,imx7ulp-lpuart";
reg = <0x44380000 0x1000>;
@@ -197,6 +225,26 @@ mu2: mailbox@42440000 {
status = "disabled";
};
+ lpi2c3: i2c@42530000 {
+ compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
+ reg = <0x42530000 0x10000>;
+ interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clk IMX93_CLK_LPI2C3_GATE>,
+ <&clk IMX93_CLK_BUS_WAKEUP>;
+ clock-names = "per", "ipg";
+ status = "disabled";
+ };
+
+ lpi2c4: i2c@42540000 {
+ compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
+ reg = <0x42540000 0x10000>;
+ interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clk IMX93_CLK_LPI2C4_GATE>,
+ <&clk IMX93_CLK_BUS_WAKEUP>;
+ clock-names = "per", "ipg";
+ status = "disabled";
+ };
+
lpuart3: serial@42570000 {
compatible = "fsl,imx93-lpuart", "fsl,imx7ulp-lpuart";
reg = <0x42570000 0x1000>;
@@ -250,6 +298,47 @@ lpuart8: serial@426a0000 {
clock-names = "ipg";
status = "disabled";
};
+
+ lpi2c5: i2c@426b0000 {
+ compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
+ reg = <0x426b0000 0x10000>;
+ interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clk IMX93_CLK_LPI2C5_GATE>,
+ <&clk IMX93_CLK_BUS_WAKEUP>;
+ clock-names = "per", "ipg";
+ status = "disabled";
+ };
+
+ lpi2c6: i2c@426c0000 {
+ compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
+ reg = <0x426c0000 0x10000>;
+ interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clk IMX93_CLK_LPI2C6_GATE>,
+ <&clk IMX93_CLK_BUS_WAKEUP>;
+ clock-names = "per", "ipg";
+ status = "disabled";
+ };
+
+ lpi2c7: i2c@426d0000 {
+ compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
+ reg = <0x426d0000 0x10000>;
+ interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clk IMX93_CLK_LPI2C7_GATE>,
+ <&clk IMX93_CLK_BUS_WAKEUP>;
+ clock-names = "per", "ipg";
+ status = "disabled";
+ };
+
+ lpi2c8: i2c@426e0000 {
+ compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
+ reg = <0x426e0000 0x10000>;
+ interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clk IMX93_CLK_LPI2C8_GATE>,
+ <&clk IMX93_CLK_BUS_WAKEUP>;
+ clock-names = "per", "ipg";
+ status = "disabled";
+ };
+
};
aips3: bus@42800000 {
--
2.37.1
From: Peng Fan <[email protected]>
Add binding doc for i.MX93 blk_ctrl_ns_aonmix and blk_ctrl_wakeupmix
Signed-off-by: Peng Fan <[email protected]>
---
.../bindings/soc/imx/fsl,imx93-syscon.yaml | 36 +++++++++++++++++++
1 file changed, 36 insertions(+)
create mode 100644 Documentation/devicetree/bindings/soc/imx/fsl,imx93-syscon.yaml
diff --git a/Documentation/devicetree/bindings/soc/imx/fsl,imx93-syscon.yaml b/Documentation/devicetree/bindings/soc/imx/fsl,imx93-syscon.yaml
new file mode 100644
index 000000000000..0aeff336a74a
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/imx/fsl,imx93-syscon.yaml
@@ -0,0 +1,36 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/soc/imx/fsl,imx93-syscon.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: NXP i.MX93 Platform System Controller
+
+maintainers:
+ - Peng Fan <[email protected]>
+
+properties:
+ compatible:
+ items:
+ - enum:
+ - fsl,imx93-aonmix-ns-syscfg
+ - fsl,imx93-wakeupmix-syscfg
+ - const: syscon
+
+ reg:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ anomix_ns_gpr: syscon@44210000 {
+ compatible = "fsl,imx93-aonmix-ns-syscfg", "syscon";
+ reg = <0x44210000 0x1000>;
+ };
+
+...
--
2.37.1
From: Peng Fan <[email protected]>
Add s4 mu node for sentinel communication
Reviewed-by: Ye Li <[email protected]>
Reviewed-by: Jacky Bai <[email protected]>
Signed-off-by: Peng Fan <[email protected]>
---
arch/arm64/boot/dts/freescale/imx93.dtsi | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx93.dtsi b/arch/arm64/boot/dts/freescale/imx93.dtsi
index 26d5ce4a5f2c..dd76472ced46 100644
--- a/arch/arm64/boot/dts/freescale/imx93.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx93.dtsi
@@ -342,5 +342,15 @@ gpio1: gpio@47400080 {
clock-names = "gpio", "port";
gpio-ranges = <&iomuxc 0 0 32>;
};
+
+ s4muap: mailbox@47520000 {
+ compatible = "fsl,imx93-mu-s4";
+ reg = <0x47520000 0x10000>;
+ interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "txirq", "rxirq";
+ #mbox-cells = <2>;
+ status = "okay";
+ };
};
};
--
2.37.1
From: Peng Fan <[email protected]>
DUMMY clk only works with clk_ignore_unused and bootloader enables those
clks that required for SDHC work properly.
Correct SDHC clk entry with real clk.
Signed-off-by: Haibo Chen <[email protected]>
Signed-off-by: Peng Fan <[email protected]>
---
arch/arm64/boot/dts/freescale/imx93.dtsi | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/arm64/boot/dts/freescale/imx93.dtsi b/arch/arm64/boot/dts/freescale/imx93.dtsi
index f83a07c7c9b1..431dc239631d 100644
--- a/arch/arm64/boot/dts/freescale/imx93.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx93.dtsi
@@ -248,8 +248,8 @@ usdhc1: mmc@42850000 {
compatible = "fsl,imx93-usdhc", "fsl,imx8mm-usdhc";
reg = <0x42850000 0x10000>;
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&clk IMX93_CLK_DUMMY>,
- <&clk IMX93_CLK_DUMMY>,
+ clocks = <&clk IMX93_CLK_BUS_WAKEUP>,
+ <&clk IMX93_CLK_WAKEUP_AXI>,
<&clk IMX93_CLK_USDHC1_GATE>;
clock-names = "ipg", "ahb", "per";
bus-width = <8>;
@@ -262,8 +262,8 @@ usdhc2: mmc@42860000 {
compatible = "fsl,imx93-usdhc", "fsl,imx8mm-usdhc";
reg = <0x42860000 0x10000>;
interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&clk IMX93_CLK_DUMMY>,
- <&clk IMX93_CLK_DUMMY>,
+ clocks = <&clk IMX93_CLK_BUS_WAKEUP>,
+ <&clk IMX93_CLK_WAKEUP_AXI>,
<&clk IMX93_CLK_USDHC2_GATE>;
clock-names = "ipg", "ahb", "per";
bus-width = <4>;
@@ -276,8 +276,8 @@ usdhc3: mmc@428b0000 {
compatible = "fsl,imx93-usdhc", "fsl,imx8mm-usdhc";
reg = <0x428b0000 0x10000>;
interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&clk IMX93_CLK_DUMMY>,
- <&clk IMX93_CLK_DUMMY>,
+ clocks = <&clk IMX93_CLK_BUS_WAKEUP>,
+ <&clk IMX93_CLK_WAKEUP_AXI>,
<&clk IMX93_CLK_USDHC3_GATE>;
clock-names = "ipg", "ahb", "per";
bus-width = <4>;
--
2.37.1
On Wed, Aug 31, 2022 at 10:14:11PM +0800, Peng Fan (OSS) wrote:
> From: Peng Fan <[email protected]>
>
> Add binding doc for i.MX93 blk_ctrl_ns_aonmix and blk_ctrl_wakeupmix
Is this complete or you expect to add to it? If complete, just add the
compatible strings to syscon.yaml. If not complete, why not?
Rob
> Subject: Re: [PATCH V3 1/8] dt-bindings: soc: imx: add binding for i.MX93
> syscon
>
> On Wed, Aug 31, 2022 at 10:14:11PM +0800, Peng Fan (OSS) wrote:
> > From: Peng Fan <[email protected]>
> >
> > Add binding doc for i.MX93 blk_ctrl_ns_aonmix and blk_ctrl_wakeupmix
>
> Is this complete or you expect to add to it? If complete, just add the
> compatible strings to syscon.yaml. If not complete, why not?
I was not aware i.MX93 blk ctrl could be added to common syscon.yaml.
Fix in V4.
Thanks,
Peng.
>
> Rob
On Wed, Aug 31, 2022 at 10:14:14PM +0800, Peng Fan (OSS) wrote:
> From: Peng Fan <[email protected]>
>
> Add s4 mu node for sentinel communication
>
> Reviewed-by: Ye Li <[email protected]>
> Reviewed-by: Jacky Bai <[email protected]>
> Signed-off-by: Peng Fan <[email protected]>
> ---
> arch/arm64/boot/dts/freescale/imx93.dtsi | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx93.dtsi b/arch/arm64/boot/dts/freescale/imx93.dtsi
> index 26d5ce4a5f2c..dd76472ced46 100644
> --- a/arch/arm64/boot/dts/freescale/imx93.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx93.dtsi
> @@ -342,5 +342,15 @@ gpio1: gpio@47400080 {
> clock-names = "gpio", "port";
> gpio-ranges = <&iomuxc 0 0 32>;
> };
> +
> + s4muap: mailbox@47520000 {
> + compatible = "fsl,imx93-mu-s4";
> + reg = <0x47520000 0x10000>;
> + interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "txirq", "rxirq";
> + #mbox-cells = <2>;
> + status = "okay";
Unneeded "okay" status?
Shawn
> + };
> };
> };
> --
> 2.37.1
>