| // SPDX-License-Identifier: (GPL-2.0+ OR MIT) |
| /* |
| * Copyright 2022 NXP |
| */ |
| |
| #include <dt-bindings/clock/imx93-clock.h> |
| #include <dt-bindings/gpio/gpio.h> |
| #include <dt-bindings/input/input.h> |
| #include <dt-bindings/interrupt-controller/arm-gic.h> |
| #include <dt-bindings/power/fsl,imx93-power.h> |
| |
| #include "imx93-pinfunc.h" |
| |
| / { |
| interrupt-parent = <&gic>; |
| #address-cells = <2>; |
| #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; |
| serial0 = &lpuart1; |
| serial1 = &lpuart2; |
| serial2 = &lpuart3; |
| serial3 = &lpuart4; |
| serial4 = &lpuart5; |
| serial5 = &lpuart6; |
| serial6 = &lpuart7; |
| serial7 = &lpuart8; |
| }; |
| |
| cpus { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| A55_0: cpu@0 { |
| device_type = "cpu"; |
| compatible = "arm,cortex-a55"; |
| reg = <0x0>; |
| enable-method = "psci"; |
| #cooling-cells = <2>; |
| }; |
| |
| A55_1: cpu@100 { |
| device_type = "cpu"; |
| compatible = "arm,cortex-a55"; |
| reg = <0x100>; |
| enable-method = "psci"; |
| #cooling-cells = <2>; |
| }; |
| |
| }; |
| |
| osc_32k: clock-osc-32k { |
| compatible = "fixed-clock"; |
| #clock-cells = <0>; |
| clock-frequency = <32768>; |
| clock-output-names = "osc_32k"; |
| }; |
| |
| osc_24m: clock-osc-24m { |
| compatible = "fixed-clock"; |
| #clock-cells = <0>; |
| clock-frequency = <24000000>; |
| clock-output-names = "osc_24m"; |
| }; |
| |
| clk_ext1: clock-ext1 { |
| compatible = "fixed-clock"; |
| #clock-cells = <0>; |
| clock-frequency = <133000000>; |
| clock-output-names = "clk_ext1"; |
| }; |
| |
| pmu { |
| compatible = "arm,cortex-a55-pmu"; |
| interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>; |
| }; |
| |
| psci { |
| compatible = "arm,psci-1.0"; |
| method = "smc"; |
| }; |
| |
| timer { |
| compatible = "arm,armv8-timer"; |
| interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>, |
| <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>, |
| <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>, |
| <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>; |
| clock-frequency = <24000000>; |
| arm,no-tick-in-suspend; |
| interrupt-parent = <&gic>; |
| }; |
| |
| gic: interrupt-controller@48000000 { |
| compatible = "arm,gic-v3"; |
| reg = <0 0x48000000 0 0x10000>, |
| <0 0x48040000 0 0xc0000>; |
| #interrupt-cells = <3>; |
| interrupt-controller; |
| interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-parent = <&gic>; |
| }; |
| |
| soc@0 { |
| compatible = "simple-bus"; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| ranges = <0x0 0x0 0x0 0x80000000>, |
| <0x28000000 0x0 0x28000000 0x10000000>; |
| |
| aips1: bus@44000000 { |
| compatible = "fsl,aips-bus", "simple-bus"; |
| reg = <0x44000000 0x800000>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| ranges; |
| |
| anomix_ns_gpr: syscon@44210000 { |
| compatible = "fsl,imx93-aonmix-ns-syscfg", "syscon"; |
| reg = <0x44210000 0x1000>; |
| }; |
| |
| mu1: mailbox@44230000 { |
| compatible = "fsl,imx93-mu", "fsl,imx8ulp-mu"; |
| reg = <0x44230000 0x10000>; |
| interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; |
| #mbox-cells = <2>; |
| status = "disabled"; |
| }; |
| |
| system_counter: timer@44290000 { |
| compatible = "nxp,sysctr-timer"; |
| reg = <0x44290000 0x30000>; |
| interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&osc_24m>; |
| 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"; |
| }; |
| |
| lpspi1: spi@44360000 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| compatible = "fsl,imx93-spi", "fsl,imx7ulp-spi"; |
| reg = <0x44360000 0x10000>; |
| interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&clk IMX93_CLK_LPSPI1_GATE>, |
| <&clk IMX93_CLK_BUS_AON>; |
| clock-names = "per", "ipg"; |
| status = "disabled"; |
| }; |
| |
| lpspi2: spi@44370000 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| compatible = "fsl,imx93-spi", "fsl,imx7ulp-spi"; |
| reg = <0x44370000 0x10000>; |
| interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&clk IMX93_CLK_LPSPI2_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>; |
| interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&clk IMX93_CLK_LPUART1_GATE>; |
| clock-names = "ipg"; |
| status = "disabled"; |
| }; |
| |
| lpuart2: serial@44390000 { |
| compatible = "fsl,imx93-lpuart", "fsl,imx7ulp-lpuart"; |
| reg = <0x44390000 0x1000>; |
| interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&clk IMX93_CLK_LPUART2_GATE>; |
| clock-names = "ipg"; |
| status = "disabled"; |
| }; |
| |
| iomuxc: pinctrl@443c0000 { |
| compatible = "fsl,imx93-iomuxc"; |
| reg = <0x443c0000 0x10000>; |
| status = "okay"; |
| }; |
| |
| clk: clock-controller@44450000 { |
| compatible = "fsl,imx93-ccm"; |
| reg = <0x44450000 0x10000>; |
| #clock-cells = <1>; |
| clocks = <&osc_32k>, <&osc_24m>, <&clk_ext1>; |
| clock-names = "osc_32k", "osc_24m", "clk_ext1"; |
| status = "okay"; |
| }; |
| |
| src: system-controller@44460000 { |
| compatible = "fsl,imx93-src", "syscon"; |
| reg = <0x44460000 0x10000>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| ranges; |
| |
| mediamix: power-domain@44462400 { |
| compatible = "fsl,imx93-src-slice"; |
| reg = <0x44462400 0x400>, <0x44465800 0x400>; |
| #power-domain-cells = <0>; |
| clocks = <&clk IMX93_CLK_MEDIA_AXI>, |
| <&clk IMX93_CLK_MEDIA_APB>; |
| }; |
| |
| mlmix: power-domain@44461800 { |
| compatible = "fsl,imx93-src-slice"; |
| reg = <0x44461800 0x400>, <0x44464800 0x400>; |
| #power-domain-cells = <0>; |
| clocks = <&clk IMX93_CLK_ML_APB>, |
| <&clk IMX93_CLK_ML>; |
| }; |
| }; |
| |
| anatop: anatop@44480000 { |
| compatible = "fsl,imx93-anatop", "syscon"; |
| reg = <0x44480000 0x10000>; |
| }; |
| }; |
| |
| aips2: bus@42000000 { |
| compatible = "fsl,aips-bus", "simple-bus"; |
| reg = <0x42000000 0x800000>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| ranges; |
| |
| wakeupmix_gpr: syscon@42420000 { |
| compatible = "fsl,imx93-wakeupmix-syscfg", "syscon"; |
| reg = <0x42420000 0x1000>; |
| }; |
| |
| mu2: mailbox@42440000 { |
| compatible = "fsl,imx93-mu", "fsl,imx8ulp-mu"; |
| reg = <0x42440000 0x10000>; |
| interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; |
| #mbox-cells = <2>; |
| 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>; |
| interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&clk IMX93_CLK_LPUART3_GATE>; |
| clock-names = "ipg"; |
| status = "disabled"; |
| }; |
| |
| lpuart4: serial@42580000 { |
| compatible = "fsl,imx93-lpuart", "fsl,imx7ulp-lpuart"; |
| reg = <0x42580000 0x1000>; |
| interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&clk IMX93_CLK_LPUART4_GATE>; |
| clock-names = "ipg"; |
| status = "disabled"; |
| }; |
| |
| lpuart5: serial@42590000 { |
| compatible = "fsl,imx93-lpuart", "fsl,imx7ulp-lpuart"; |
| reg = <0x42590000 0x1000>; |
| interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&clk IMX93_CLK_LPUART5_GATE>; |
| clock-names = "ipg"; |
| status = "disabled"; |
| }; |
| |
| lpuart6: serial@425a0000 { |
| compatible = "fsl,imx93-lpuart", "fsl,imx7ulp-lpuart"; |
| reg = <0x425a0000 0x1000>; |
| interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&clk IMX93_CLK_LPUART6_GATE>; |
| clock-names = "ipg"; |
| status = "disabled"; |
| }; |
| |
| lpuart7: serial@42690000 { |
| compatible = "fsl,imx93-lpuart", "fsl,imx7ulp-lpuart"; |
| reg = <0x42690000 0x1000>; |
| interrupts = <GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&clk IMX93_CLK_LPUART7_GATE>; |
| clock-names = "ipg"; |
| status = "disabled"; |
| }; |
| |
| lpuart8: serial@426a0000 { |
| compatible = "fsl,imx93-lpuart", "fsl,imx7ulp-lpuart"; |
| reg = <0x426a0000 0x1000>; |
| interrupts = <GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>; |
| clocks = <&clk IMX93_CLK_LPUART8_GATE>; |
| 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 { |
| compatible = "fsl,aips-bus", "simple-bus"; |
| reg = <0x42800000 0x800000>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| ranges; |
| |
| 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_BUS_WAKEUP>, |
| <&clk IMX93_CLK_WAKEUP_AXI>, |
| <&clk IMX93_CLK_USDHC1_GATE>; |
| clock-names = "ipg", "ahb", "per"; |
| bus-width = <8>; |
| fsl,tuning-start-tap = <20>; |
| fsl,tuning-step= <2>; |
| status = "disabled"; |
| }; |
| |
| 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_BUS_WAKEUP>, |
| <&clk IMX93_CLK_WAKEUP_AXI>, |
| <&clk IMX93_CLK_USDHC2_GATE>; |
| clock-names = "ipg", "ahb", "per"; |
| bus-width = <4>; |
| fsl,tuning-start-tap = <20>; |
| fsl,tuning-step= <2>; |
| status = "disabled"; |
| }; |
| |
| 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_BUS_WAKEUP>, |
| <&clk IMX93_CLK_WAKEUP_AXI>, |
| <&clk IMX93_CLK_USDHC3_GATE>; |
| clock-names = "ipg", "ahb", "per"; |
| bus-width = <4>; |
| fsl,tuning-start-tap = <20>; |
| fsl,tuning-step= <2>; |
| status = "disabled"; |
| }; |
| }; |
| |
| gpio2: gpio@43810080 { |
| compatible = "fsl,imx93-gpio", "fsl,imx7ulp-gpio"; |
| reg = <0x43810080 0x1000>, <0x43810040 0x40>; |
| gpio-controller; |
| #gpio-cells = <2>; |
| interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| clocks = <&clk IMX93_CLK_GPIO2_GATE>, |
| <&clk IMX93_CLK_GPIO2_GATE>; |
| clock-names = "gpio", "port"; |
| gpio-ranges = <&iomuxc 0 4 30>; |
| }; |
| |
| gpio3: gpio@43820080 { |
| compatible = "fsl,imx93-gpio", "fsl,imx7ulp-gpio"; |
| reg = <0x43820080 0x1000>, <0x43820040 0x40>; |
| gpio-controller; |
| #gpio-cells = <2>; |
| interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| clocks = <&clk IMX93_CLK_GPIO3_GATE>, |
| <&clk IMX93_CLK_GPIO3_GATE>; |
| clock-names = "gpio", "port"; |
| gpio-ranges = <&iomuxc 0 84 8>, <&iomuxc 8 66 18>, |
| <&iomuxc 26 34 2>, <&iomuxc 28 0 4>; |
| }; |
| |
| gpio4: gpio@43830080 { |
| compatible = "fsl,imx93-gpio", "fsl,imx7ulp-gpio"; |
| reg = <0x43830080 0x1000>, <0x43830040 0x40>; |
| gpio-controller; |
| #gpio-cells = <2>; |
| interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| clocks = <&clk IMX93_CLK_GPIO4_GATE>, |
| <&clk IMX93_CLK_GPIO4_GATE>; |
| clock-names = "gpio", "port"; |
| gpio-ranges = <&iomuxc 0 38 28>, <&iomuxc 28 36 2>; |
| }; |
| |
| gpio1: gpio@47400080 { |
| compatible = "fsl,imx93-gpio", "fsl,imx7ulp-gpio"; |
| reg = <0x47400080 0x1000>, <0x47400040 0x40>; |
| gpio-controller; |
| #gpio-cells = <2>; |
| interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| clocks = <&clk IMX93_CLK_GPIO1_GATE>, |
| <&clk IMX93_CLK_GPIO1_GATE>; |
| clock-names = "gpio", "port"; |
| gpio-ranges = <&iomuxc 0 92 16>; |
| }; |
| |
| 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 = "tx", "rx"; |
| #mbox-cells = <2>; |
| }; |
| |
| media_blk_ctrl: system-controller@4ac10000 { |
| compatible = "fsl,imx93-media-blk-ctrl", "syscon"; |
| reg = <0x4ac10000 0x10000>; |
| power-domains = <&mediamix>; |
| clocks = <&clk IMX93_CLK_MEDIA_APB>, |
| <&clk IMX93_CLK_MEDIA_AXI>, |
| <&clk IMX93_CLK_NIC_MEDIA_GATE>, |
| <&clk IMX93_CLK_MEDIA_DISP_PIX>, |
| <&clk IMX93_CLK_CAM_PIX>, |
| <&clk IMX93_CLK_PXP_GATE>, |
| <&clk IMX93_CLK_LCDIF_GATE>, |
| <&clk IMX93_CLK_ISI_GATE>, |
| <&clk IMX93_CLK_MIPI_CSI_GATE>, |
| <&clk IMX93_CLK_MIPI_DSI_GATE>; |
| clock-names = "apb", "axi", "nic", "disp", "cam", |
| "pxp", "lcdif", "isi", "csi", "dsi"; |
| #power-domain-cells = <1>; |
| status = "disabled"; |
| }; |
| }; |
| }; |