1/* 2 * Copyright 2024 NXP 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7#include <mem.h> 8#include <freq.h> 9#include <arm64/armv8-a.dtsi> 10#include <zephyr/dt-bindings/clock/imx95_clock.h> 11#include <zephyr/dt-bindings/interrupt-controller/arm-gic.h> 12 13/ { 14 #address-cells = <1>; 15 #size-cells = <1>; 16 interrupt-parent = <&gic>; 17 18 cpus { 19 #address-cells = <1>; 20 #size-cells = <0>; 21 22 cpu@0 { 23 device_type = "cpu"; 24 compatible = "arm,cortex-a55"; 25 reg = <0>; 26 }; 27 28 cpu@100 { 29 device_type = "cpu"; 30 compatible = "arm,cortex-a55"; 31 reg = <0x100>; 32 }; 33 34 cpu@200 { 35 device_type = "cpu"; 36 compatible = "arm,cortex-a55"; 37 reg = <0x200>; 38 }; 39 40 cpu@300 { 41 device_type = "cpu"; 42 compatible = "arm,cortex-a55"; 43 reg = <0x300>; 44 }; 45 46 cpu@400 { 47 device_type = "cpu"; 48 compatible = "arm,cortex-a55"; 49 reg = <0x400>; 50 }; 51 52 cpu@500 { 53 device_type = "cpu"; 54 compatible = "arm,cortex-a55"; 55 reg = <0x500>; 56 }; 57 58 }; 59 60 arch_timer: timer { 61 compatible = "arm,armv8-timer"; 62 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL 63 IRQ_DEFAULT_PRIORITY>, 64 <GIC_PPI 14 IRQ_TYPE_LEVEL 65 IRQ_DEFAULT_PRIORITY>, 66 <GIC_PPI 11 IRQ_TYPE_LEVEL 67 IRQ_DEFAULT_PRIORITY>, 68 <GIC_PPI 10 IRQ_TYPE_LEVEL 69 IRQ_DEFAULT_PRIORITY>; 70 }; 71 72 gic: interrupt-controller@48000000 { 73 compatible = "arm,gic-v3", "arm,gic"; 74 reg = <0x48000000 0x10000>, /* GIC Dist */ 75 <0x48060000 0xc0000>; /* GICR (RD_base + SGI_base) */ 76 interrupt-controller; 77 #interrupt-cells = <4>; 78 status = "okay"; 79 }; 80 81 reserved-memory { 82 #address-cells = <1>; 83 #size-cells = <1>; 84 85 scmi_shmem0: memory@445b1000 { 86 compatible = "arm,scmi-shmem"; 87 reg = <0x445b1000 0x80>; 88 }; 89 }; 90 91 firmware { 92 scmi { 93 compatible = "arm,scmi"; 94 shmem = <&scmi_shmem0>; 95 mboxes = <&mu2 0>; 96 mbox-names = "tx"; 97 98 #address-cells = <1>; 99 #size-cells = <0>; 100 101 scmi_clk: protocol@14 { 102 compatible = "arm,scmi-clock"; 103 reg = <0x14>; 104 #clock-cells = <1>; 105 }; 106 107 scmi_iomuxc: protocol@19 { 108 compatible = "arm,scmi-pinctrl"; 109 reg = <0x19>; 110 111 pinctrl: pinctrl { 112 compatible = "nxp,imx95-pinctrl", "nxp,imx93-pinctrl"; 113 }; 114 }; 115 }; 116 }; 117 118 lpuart3: serial@42570000 { 119 compatible = "nxp,imx-lpuart", "nxp,lpuart"; 120 reg = <0x42570000 DT_SIZE_K(64)>; 121 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>; 122 interrupt-names = "irq_0"; 123 clocks = <&scmi_clk IMX95_CLK_LPUART3>; 124 status = "disabled"; 125 }; 126 127 lpuart4: serial@42580000 { 128 compatible = "nxp,imx-lpuart", "nxp,lpuart"; 129 reg = <0x42580000 DT_SIZE_K(64)>; 130 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>; 131 interrupt-names = "irq_0"; 132 clocks = <&scmi_clk IMX95_CLK_LPUART4>; 133 status = "disabled"; 134 }; 135 136 lpuart5: serial@42590000 { 137 compatible = "nxp,imx-lpuart", "nxp,lpuart"; 138 reg = <0x42590000 DT_SIZE_K(64)>; 139 interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>; 140 interrupt-names = "irq_0"; 141 clocks = <&scmi_clk IMX95_CLK_LPUART5>; 142 status = "disabled"; 143 }; 144 145 lpuart6: serial@425a0000 { 146 compatible = "nxp,imx-lpuart", "nxp,lpuart"; 147 reg = <0x425a0000 DT_SIZE_K(64)>; 148 interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>; 149 interrupt-names = "irq_0"; 150 clocks = <&scmi_clk IMX95_CLK_LPUART6>; 151 status = "disabled"; 152 }; 153 154 lpuart7: serial@42690000 { 155 compatible = "nxp,imx-lpuart", "nxp,lpuart"; 156 reg = <0x42690000 DT_SIZE_K(64)>; 157 interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>; 158 interrupt-names = "irq_0"; 159 clocks = <&scmi_clk IMX95_CLK_LPUART7>; 160 status = "disabled"; 161 }; 162 163 lpuart8: serial@426a0000 { 164 compatible = "nxp,imx-lpuart", "nxp,lpuart"; 165 reg = <0x426a0000 DT_SIZE_K(64)>; 166 interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>; 167 interrupt-names = "irq_0"; 168 clocks = <&scmi_clk IMX95_CLK_LPUART8>; 169 status = "disabled"; 170 }; 171 172 mu1: mbox@44220000 { 173 compatible = "nxp,mbox-imx-mu"; 174 reg = <0x44220000 DT_SIZE_K(64)>; 175 interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>; 176 rx-channels = <4>; 177 #mbox-cells = <1>; 178 status = "disabled"; 179 }; 180 181 lpuart1: serial@44380000 { 182 compatible = "nxp,imx-lpuart", "nxp,lpuart"; 183 reg = <0x44380000 DT_SIZE_K(64)>; 184 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>; 185 interrupt-names = "irq_0"; 186 clocks = <&scmi_clk IMX95_CLK_LPUART1>; 187 status = "disabled"; 188 }; 189 190 lpuart2: serial@44390000 { 191 compatible = "nxp,imx-lpuart", "nxp,lpuart"; 192 reg = <0x44390000 DT_SIZE_K(64)>; 193 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>; 194 interrupt-names = "irq_0"; 195 clocks = <&scmi_clk IMX95_CLK_LPUART2>; 196 status = "disabled"; 197 }; 198 199 mu2: mbox@445b0000 { 200 compatible = "nxp,mbox-imx-mu"; 201 reg = <0x445b0000 DT_SIZE_K(64)>; 202 interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>; 203 rx-channels = <4>; 204 #mbox-cells = <1>; 205 }; 206 207 mu3: mbox@445d0000 { 208 compatible = "nxp,mbox-imx-mu"; 209 reg = <0x445d0000 DT_SIZE_K(64)>; 210 interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>; 211 rx-channels = <4>; 212 #mbox-cells = <1>; 213 status = "disabled"; 214 }; 215 216 mu4: mbox@445f0000 { 217 compatible = "nxp,mbox-imx-mu"; 218 reg = <0x445f0000 DT_SIZE_K(64)>; 219 interrupts = <GIC_SPI 230 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>; 220 rx-channels = <4>; 221 #mbox-cells = <1>; 222 status = "disabled"; 223 }; 224 225 mu5: mbox@44610000 { 226 compatible = "nxp,mbox-imx-mu"; 227 reg = <0x44610000 DT_SIZE_K(64)>; 228 interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>; 229 rx-channels = <4>; 230 #mbox-cells = <1>; 231 status = "disabled"; 232 }; 233 234 mu6: mbox@44630000 { 235 compatible = "nxp,mbox-imx-mu"; 236 reg = <0x44630000 DT_SIZE_K(64)>; 237 interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>; 238 rx-channels = <4>; 239 #mbox-cells = <1>; 240 status = "disabled"; 241 }; 242}; 243