1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 /* 2 /* 3 * Copyright 2019 NXP 3 * Copyright 2019 NXP 4 */ 4 */ 5 5 6 #include <dt-bindings/clock/imx8mp-clock.h> 6 #include <dt-bindings/clock/imx8mp-clock.h> 7 #include <dt-bindings/power/imx8mp-power.h> 7 #include <dt-bindings/power/imx8mp-power.h> 8 #include <dt-bindings/reset/imx8mp-reset.h> 8 #include <dt-bindings/reset/imx8mp-reset.h> 9 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/gpio/gpio.h> 10 #include <dt-bindings/input/input.h> 10 #include <dt-bindings/input/input.h> 11 #include <dt-bindings/interconnect/fsl,imx8mp. 11 #include <dt-bindings/interconnect/fsl,imx8mp.h> 12 #include <dt-bindings/interrupt-controller/arm 12 #include <dt-bindings/interrupt-controller/arm-gic.h> 13 #include <dt-bindings/thermal/thermal.h> 13 #include <dt-bindings/thermal/thermal.h> 14 14 15 #include "imx8mp-pinfunc.h" 15 #include "imx8mp-pinfunc.h" 16 16 17 / { 17 / { 18 interrupt-parent = <&gic>; 18 interrupt-parent = <&gic>; 19 #address-cells = <2>; 19 #address-cells = <2>; 20 #size-cells = <2>; 20 #size-cells = <2>; 21 21 22 aliases { 22 aliases { 23 ethernet0 = &fec; 23 ethernet0 = &fec; 24 ethernet1 = &eqos; 24 ethernet1 = &eqos; 25 gpio0 = &gpio1; 25 gpio0 = &gpio1; 26 gpio1 = &gpio2; 26 gpio1 = &gpio2; 27 gpio2 = &gpio3; 27 gpio2 = &gpio3; 28 gpio3 = &gpio4; 28 gpio3 = &gpio4; 29 gpio4 = &gpio5; 29 gpio4 = &gpio5; 30 i2c0 = &i2c1; 30 i2c0 = &i2c1; 31 i2c1 = &i2c2; 31 i2c1 = &i2c2; 32 i2c2 = &i2c3; 32 i2c2 = &i2c3; 33 i2c3 = &i2c4; 33 i2c3 = &i2c4; 34 i2c4 = &i2c5; 34 i2c4 = &i2c5; 35 i2c5 = &i2c6; 35 i2c5 = &i2c6; 36 mmc0 = &usdhc1; 36 mmc0 = &usdhc1; 37 mmc1 = &usdhc2; 37 mmc1 = &usdhc2; 38 mmc2 = &usdhc3; 38 mmc2 = &usdhc3; 39 serial0 = &uart1; 39 serial0 = &uart1; 40 serial1 = &uart2; 40 serial1 = &uart2; 41 serial2 = &uart3; 41 serial2 = &uart3; 42 serial3 = &uart4; 42 serial3 = &uart4; 43 spi0 = &flexspi; 43 spi0 = &flexspi; 44 }; 44 }; 45 45 46 cpus { 46 cpus { 47 #address-cells = <1>; 47 #address-cells = <1>; 48 #size-cells = <0>; 48 #size-cells = <0>; 49 49 50 A53_0: cpu@0 { 50 A53_0: cpu@0 { 51 device_type = "cpu"; 51 device_type = "cpu"; 52 compatible = "arm,cort 52 compatible = "arm,cortex-a53"; 53 reg = <0x0>; 53 reg = <0x0>; 54 clock-latency = <61036 54 clock-latency = <61036>; 55 clocks = <&clk IMX8MP_ 55 clocks = <&clk IMX8MP_CLK_ARM>; 56 enable-method = "psci" 56 enable-method = "psci"; 57 i-cache-size = <0x8000 57 i-cache-size = <0x8000>; 58 i-cache-line-size = <6 58 i-cache-line-size = <64>; 59 i-cache-sets = <256>; 59 i-cache-sets = <256>; 60 d-cache-size = <0x8000 60 d-cache-size = <0x8000>; 61 d-cache-line-size = <6 61 d-cache-line-size = <64>; 62 d-cache-sets = <128>; 62 d-cache-sets = <128>; 63 next-level-cache = <&A 63 next-level-cache = <&A53_L2>; 64 nvmem-cells = <&cpu_sp 64 nvmem-cells = <&cpu_speed_grade>; 65 nvmem-cell-names = "sp 65 nvmem-cell-names = "speed_grade"; 66 operating-points-v2 = 66 operating-points-v2 = <&a53_opp_table>; 67 #cooling-cells = <2>; 67 #cooling-cells = <2>; 68 }; 68 }; 69 69 70 A53_1: cpu@1 { 70 A53_1: cpu@1 { 71 device_type = "cpu"; 71 device_type = "cpu"; 72 compatible = "arm,cort 72 compatible = "arm,cortex-a53"; 73 reg = <0x1>; 73 reg = <0x1>; 74 clock-latency = <61036 74 clock-latency = <61036>; 75 clocks = <&clk IMX8MP_ 75 clocks = <&clk IMX8MP_CLK_ARM>; 76 enable-method = "psci" 76 enable-method = "psci"; 77 i-cache-size = <0x8000 77 i-cache-size = <0x8000>; 78 i-cache-line-size = <6 78 i-cache-line-size = <64>; 79 i-cache-sets = <256>; 79 i-cache-sets = <256>; 80 d-cache-size = <0x8000 80 d-cache-size = <0x8000>; 81 d-cache-line-size = <6 81 d-cache-line-size = <64>; 82 d-cache-sets = <128>; 82 d-cache-sets = <128>; 83 next-level-cache = <&A 83 next-level-cache = <&A53_L2>; 84 operating-points-v2 = 84 operating-points-v2 = <&a53_opp_table>; 85 #cooling-cells = <2>; 85 #cooling-cells = <2>; 86 }; 86 }; 87 87 88 A53_2: cpu@2 { 88 A53_2: cpu@2 { 89 device_type = "cpu"; 89 device_type = "cpu"; 90 compatible = "arm,cort 90 compatible = "arm,cortex-a53"; 91 reg = <0x2>; 91 reg = <0x2>; 92 clock-latency = <61036 92 clock-latency = <61036>; 93 clocks = <&clk IMX8MP_ 93 clocks = <&clk IMX8MP_CLK_ARM>; 94 enable-method = "psci" 94 enable-method = "psci"; 95 i-cache-size = <0x8000 95 i-cache-size = <0x8000>; 96 i-cache-line-size = <6 96 i-cache-line-size = <64>; 97 i-cache-sets = <256>; 97 i-cache-sets = <256>; 98 d-cache-size = <0x8000 98 d-cache-size = <0x8000>; 99 d-cache-line-size = <6 99 d-cache-line-size = <64>; 100 d-cache-sets = <128>; 100 d-cache-sets = <128>; 101 next-level-cache = <&A 101 next-level-cache = <&A53_L2>; 102 operating-points-v2 = 102 operating-points-v2 = <&a53_opp_table>; 103 #cooling-cells = <2>; 103 #cooling-cells = <2>; 104 }; 104 }; 105 105 106 A53_3: cpu@3 { 106 A53_3: cpu@3 { 107 device_type = "cpu"; 107 device_type = "cpu"; 108 compatible = "arm,cort 108 compatible = "arm,cortex-a53"; 109 reg = <0x3>; 109 reg = <0x3>; 110 clock-latency = <61036 110 clock-latency = <61036>; 111 clocks = <&clk IMX8MP_ 111 clocks = <&clk IMX8MP_CLK_ARM>; 112 enable-method = "psci" 112 enable-method = "psci"; 113 i-cache-size = <0x8000 113 i-cache-size = <0x8000>; 114 i-cache-line-size = <6 114 i-cache-line-size = <64>; 115 i-cache-sets = <256>; 115 i-cache-sets = <256>; 116 d-cache-size = <0x8000 116 d-cache-size = <0x8000>; 117 d-cache-line-size = <6 117 d-cache-line-size = <64>; 118 d-cache-sets = <128>; 118 d-cache-sets = <128>; 119 next-level-cache = <&A 119 next-level-cache = <&A53_L2>; 120 operating-points-v2 = 120 operating-points-v2 = <&a53_opp_table>; 121 #cooling-cells = <2>; 121 #cooling-cells = <2>; 122 }; 122 }; 123 123 124 A53_L2: l2-cache0 { 124 A53_L2: l2-cache0 { 125 compatible = "cache"; 125 compatible = "cache"; 126 cache-unified; 126 cache-unified; 127 cache-level = <2>; 127 cache-level = <2>; 128 cache-size = <0x80000> 128 cache-size = <0x80000>; 129 cache-line-size = <64> 129 cache-line-size = <64>; 130 cache-sets = <512>; 130 cache-sets = <512>; 131 }; 131 }; 132 }; 132 }; 133 133 134 a53_opp_table: opp-table { 134 a53_opp_table: opp-table { 135 compatible = "operating-points 135 compatible = "operating-points-v2"; 136 opp-shared; 136 opp-shared; 137 137 138 opp-1200000000 { 138 opp-1200000000 { 139 opp-hz = /bits/ 64 <12 139 opp-hz = /bits/ 64 <1200000000>; 140 opp-microvolt = <85000 140 opp-microvolt = <850000>; 141 opp-supported-hw = <0x 141 opp-supported-hw = <0x8a0>, <0x7>; 142 clock-latency-ns = <15 142 clock-latency-ns = <150000>; 143 opp-suspend; 143 opp-suspend; 144 }; 144 }; 145 145 146 opp-1600000000 { 146 opp-1600000000 { 147 opp-hz = /bits/ 64 <16 147 opp-hz = /bits/ 64 <1600000000>; 148 opp-microvolt = <95000 148 opp-microvolt = <950000>; 149 opp-supported-hw = <0x 149 opp-supported-hw = <0xa0>, <0x7>; 150 clock-latency-ns = <15 150 clock-latency-ns = <150000>; 151 opp-suspend; 151 opp-suspend; 152 }; 152 }; 153 153 154 opp-1800000000 { 154 opp-1800000000 { 155 opp-hz = /bits/ 64 <18 155 opp-hz = /bits/ 64 <1800000000>; 156 opp-microvolt = <10000 156 opp-microvolt = <1000000>; 157 opp-supported-hw = <0x 157 opp-supported-hw = <0x20>, <0x3>; 158 clock-latency-ns = <15 158 clock-latency-ns = <150000>; 159 opp-suspend; 159 opp-suspend; 160 }; 160 }; 161 }; 161 }; 162 162 163 osc_32k: clock-osc-32k { 163 osc_32k: clock-osc-32k { 164 compatible = "fixed-clock"; 164 compatible = "fixed-clock"; 165 #clock-cells = <0>; 165 #clock-cells = <0>; 166 clock-frequency = <32768>; 166 clock-frequency = <32768>; 167 clock-output-names = "osc_32k" 167 clock-output-names = "osc_32k"; 168 }; 168 }; 169 169 170 osc_24m: clock-osc-24m { 170 osc_24m: clock-osc-24m { 171 compatible = "fixed-clock"; 171 compatible = "fixed-clock"; 172 #clock-cells = <0>; 172 #clock-cells = <0>; 173 clock-frequency = <24000000>; 173 clock-frequency = <24000000>; 174 clock-output-names = "osc_24m" 174 clock-output-names = "osc_24m"; 175 }; 175 }; 176 176 177 clk_ext1: clock-ext1 { 177 clk_ext1: clock-ext1 { 178 compatible = "fixed-clock"; 178 compatible = "fixed-clock"; 179 #clock-cells = <0>; 179 #clock-cells = <0>; 180 clock-frequency = <133000000>; 180 clock-frequency = <133000000>; 181 clock-output-names = "clk_ext1 181 clock-output-names = "clk_ext1"; 182 }; 182 }; 183 183 184 clk_ext2: clock-ext2 { 184 clk_ext2: clock-ext2 { 185 compatible = "fixed-clock"; 185 compatible = "fixed-clock"; 186 #clock-cells = <0>; 186 #clock-cells = <0>; 187 clock-frequency = <133000000>; 187 clock-frequency = <133000000>; 188 clock-output-names = "clk_ext2 188 clock-output-names = "clk_ext2"; 189 }; 189 }; 190 190 191 clk_ext3: clock-ext3 { 191 clk_ext3: clock-ext3 { 192 compatible = "fixed-clock"; 192 compatible = "fixed-clock"; 193 #clock-cells = <0>; 193 #clock-cells = <0>; 194 clock-frequency = <133000000>; 194 clock-frequency = <133000000>; 195 clock-output-names = "clk_ext3 195 clock-output-names = "clk_ext3"; 196 }; 196 }; 197 197 198 clk_ext4: clock-ext4 { 198 clk_ext4: clock-ext4 { 199 compatible = "fixed-clock"; 199 compatible = "fixed-clock"; 200 #clock-cells = <0>; 200 #clock-cells = <0>; 201 clock-frequency = <133000000>; 201 clock-frequency = <133000000>; 202 clock-output-names = "clk_ext4 202 clock-output-names = "clk_ext4"; 203 }; 203 }; 204 204 205 funnel { << 206 /* << 207 * non-configurable funnel don << 208 * bus. As such no need to ad << 209 */ << 210 compatible = "arm,coresight-st << 211 << 212 in-ports { << 213 #address-cells = <1>; << 214 #size-cells = <0>; << 215 << 216 port@0 { << 217 reg = <0>; << 218 << 219 ca_funnel_in_p << 220 remote << 221 }; << 222 }; << 223 << 224 port@1 { << 225 reg = <1>; << 226 << 227 ca_funnel_in_p << 228 remote << 229 }; << 230 }; << 231 << 232 port@2 { << 233 reg = <2>; << 234 << 235 ca_funnel_in_p << 236 remote << 237 }; << 238 }; << 239 << 240 port@3 { << 241 reg = <3>; << 242 << 243 ca_fun << 244 remote << 245 }; << 246 }; << 247 }; << 248 << 249 out-ports { << 250 port { << 251 << 252 ca_funnel_out_ << 253 remote << 254 }; << 255 }; << 256 }; << 257 }; << 258 << 259 reserved-memory { 205 reserved-memory { 260 #address-cells = <2>; 206 #address-cells = <2>; 261 #size-cells = <2>; 207 #size-cells = <2>; 262 ranges; 208 ranges; 263 209 264 dsp_reserved: dsp@92400000 { 210 dsp_reserved: dsp@92400000 { 265 reg = <0 0x92400000 0 211 reg = <0 0x92400000 0 0x2000000>; 266 no-map; 212 no-map; 267 status = "disabled"; << 268 }; 213 }; 269 }; 214 }; 270 215 271 pmu { 216 pmu { 272 compatible = "arm,cortex-a53-p 217 compatible = "arm,cortex-a53-pmu"; 273 interrupts = <GIC_PPI 7 218 interrupts = <GIC_PPI 7 274 (GIC_CPU_MASK_SIM 219 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 275 }; 220 }; 276 221 277 psci { 222 psci { 278 compatible = "arm,psci-1.0"; 223 compatible = "arm,psci-1.0"; 279 method = "smc"; 224 method = "smc"; 280 }; 225 }; 281 226 282 thermal-zones { 227 thermal-zones { 283 cpu-thermal { 228 cpu-thermal { 284 polling-delay-passive 229 polling-delay-passive = <250>; 285 polling-delay = <2000> 230 polling-delay = <2000>; 286 thermal-sensors = <&tm 231 thermal-sensors = <&tmu 0>; 287 trips { 232 trips { 288 cpu_alert0: tr 233 cpu_alert0: trip0 { 289 temper 234 temperature = <85000>; 290 hyster 235 hysteresis = <2000>; 291 type = 236 type = "passive"; 292 }; 237 }; 293 238 294 cpu_crit0: tri 239 cpu_crit0: trip1 { 295 temper 240 temperature = <95000>; 296 hyster 241 hysteresis = <2000>; 297 type = 242 type = "critical"; 298 }; 243 }; 299 }; 244 }; 300 245 301 cooling-maps { 246 cooling-maps { 302 map0 { 247 map0 { 303 trip = 248 trip = <&cpu_alert0>; 304 coolin 249 cooling-device = 305 250 <&A53_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 306 251 <&A53_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 307 252 <&A53_2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 308 253 <&A53_3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 309 }; 254 }; 310 }; 255 }; 311 }; 256 }; 312 257 313 soc-thermal { 258 soc-thermal { 314 polling-delay-passive 259 polling-delay-passive = <250>; 315 polling-delay = <2000> 260 polling-delay = <2000>; 316 thermal-sensors = <&tm 261 thermal-sensors = <&tmu 1>; 317 trips { 262 trips { 318 soc_alert0: tr 263 soc_alert0: trip0 { 319 temper 264 temperature = <85000>; 320 hyster 265 hysteresis = <2000>; 321 type = 266 type = "passive"; 322 }; 267 }; 323 268 324 soc_crit0: tri 269 soc_crit0: trip1 { 325 temper 270 temperature = <95000>; 326 hyster 271 hysteresis = <2000>; 327 type = 272 type = "critical"; 328 }; 273 }; 329 }; 274 }; 330 275 331 cooling-maps { 276 cooling-maps { 332 map0 { 277 map0 { 333 trip = 278 trip = <&soc_alert0>; 334 coolin 279 cooling-device = 335 280 <&A53_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 336 281 <&A53_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 337 282 <&A53_2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 338 283 <&A53_3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 339 }; 284 }; 340 }; 285 }; 341 }; 286 }; 342 }; 287 }; 343 288 344 timer { 289 timer { 345 compatible = "arm,armv8-timer" 290 compatible = "arm,armv8-timer"; 346 interrupts = <GIC_PPI 13 (GIC_ 291 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 347 <GIC_PPI 14 (GIC_ 292 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 348 <GIC_PPI 11 (GIC_ 293 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 349 <GIC_PPI 10 (GIC_ 294 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 350 clock-frequency = <8000000>; 295 clock-frequency = <8000000>; 351 arm,no-tick-in-suspend; 296 arm,no-tick-in-suspend; 352 }; 297 }; 353 298 354 soc: soc@0 { 299 soc: soc@0 { 355 compatible = "fsl,imx8mp-soc", 300 compatible = "fsl,imx8mp-soc", "simple-bus"; 356 #address-cells = <1>; 301 #address-cells = <1>; 357 #size-cells = <1>; 302 #size-cells = <1>; 358 ranges = <0x0 0x0 0x0 0x3e0000 303 ranges = <0x0 0x0 0x0 0x3e000000>; 359 nvmem-cells = <&imx8mp_uid>; 304 nvmem-cells = <&imx8mp_uid>; 360 nvmem-cell-names = "soc_unique 305 nvmem-cell-names = "soc_unique_id"; 361 306 362 etm0: etm@28440000 { 307 etm0: etm@28440000 { 363 compatible = "arm,core 308 compatible = "arm,coresight-etm4x", "arm,primecell"; 364 reg = <0x28440000 0x10 !! 309 reg = <0x28440000 0x10000>; >> 310 arm,primecell-periphid = <0xbb95d>; 365 cpu = <&A53_0>; 311 cpu = <&A53_0>; 366 clocks = <&clk IMX8MP_ 312 clocks = <&clk IMX8MP_CLK_MAIN_AXI>; 367 clock-names = "apb_pcl 313 clock-names = "apb_pclk"; 368 314 369 out-ports { 315 out-ports { 370 port { 316 port { 371 etm0_o 317 etm0_out_port: endpoint { 372 318 remote-endpoint = <&ca_funnel_in_port0>; 373 }; 319 }; 374 }; 320 }; 375 }; 321 }; 376 }; 322 }; 377 323 378 etm1: etm@28540000 { 324 etm1: etm@28540000 { 379 compatible = "arm,core 325 compatible = "arm,coresight-etm4x", "arm,primecell"; 380 reg = <0x28540000 0x10 !! 326 reg = <0x28540000 0x10000>; >> 327 arm,primecell-periphid = <0xbb95d>; 381 cpu = <&A53_1>; 328 cpu = <&A53_1>; 382 clocks = <&clk IMX8MP_ 329 clocks = <&clk IMX8MP_CLK_MAIN_AXI>; 383 clock-names = "apb_pcl 330 clock-names = "apb_pclk"; 384 331 385 out-ports { 332 out-ports { 386 port { 333 port { 387 etm1_o 334 etm1_out_port: endpoint { 388 335 remote-endpoint = <&ca_funnel_in_port1>; 389 }; 336 }; 390 }; 337 }; 391 }; 338 }; 392 }; 339 }; 393 340 394 etm2: etm@28640000 { 341 etm2: etm@28640000 { 395 compatible = "arm,core 342 compatible = "arm,coresight-etm4x", "arm,primecell"; 396 reg = <0x28640000 0x10 !! 343 reg = <0x28640000 0x10000>; >> 344 arm,primecell-periphid = <0xbb95d>; 397 cpu = <&A53_2>; 345 cpu = <&A53_2>; 398 clocks = <&clk IMX8MP_ 346 clocks = <&clk IMX8MP_CLK_MAIN_AXI>; 399 clock-names = "apb_pcl 347 clock-names = "apb_pclk"; 400 348 401 out-ports { 349 out-ports { 402 port { 350 port { 403 etm2_o 351 etm2_out_port: endpoint { 404 352 remote-endpoint = <&ca_funnel_in_port2>; 405 }; 353 }; 406 }; 354 }; 407 }; 355 }; 408 }; 356 }; 409 357 410 etm3: etm@28740000 { 358 etm3: etm@28740000 { 411 compatible = "arm,core 359 compatible = "arm,coresight-etm4x", "arm,primecell"; 412 reg = <0x28740000 0x10 !! 360 reg = <0x28740000 0x10000>; >> 361 arm,primecell-periphid = <0xbb95d>; 413 cpu = <&A53_3>; 362 cpu = <&A53_3>; 414 clocks = <&clk IMX8MP_ 363 clocks = <&clk IMX8MP_CLK_MAIN_AXI>; 415 clock-names = "apb_pcl 364 clock-names = "apb_pclk"; 416 365 417 out-ports { 366 out-ports { 418 port { 367 port { 419 etm3_o 368 etm3_out_port: endpoint { 420 369 remote-endpoint = <&ca_funnel_in_port3>; 421 }; 370 }; 422 }; 371 }; 423 }; 372 }; 424 }; 373 }; 425 374 >> 375 funnel { >> 376 /* >> 377 * non-configurable funnel don't show up on the AMBA >> 378 * bus. As such no need to add "arm,primecell". >> 379 */ >> 380 compatible = "arm,coresight-static-funnel"; >> 381 >> 382 in-ports { >> 383 #address-cells = <1>; >> 384 #size-cells = <0>; >> 385 >> 386 port@0 { >> 387 reg = <0>; >> 388 >> 389 ca_funnel_in_port0: endpoint { >> 390 remote-endpoint = <&etm0_out_port>; >> 391 }; >> 392 }; >> 393 >> 394 port@1 { >> 395 reg = <1>; >> 396 >> 397 ca_funnel_in_port1: endpoint { >> 398 remote-endpoint = <&etm1_out_port>; >> 399 }; >> 400 }; >> 401 >> 402 port@2 { >> 403 reg = <2>; >> 404 >> 405 ca_funnel_in_port2: endpoint { >> 406 remote-endpoint = <&etm2_out_port>; >> 407 }; >> 408 }; >> 409 >> 410 port@3 { >> 411 reg = <3>; >> 412 >> 413 ca_funnel_in_port3: endpoint { >> 414 remote-endpoint = <&etm3_out_port>; >> 415 }; >> 416 }; >> 417 }; >> 418 >> 419 out-ports { >> 420 port { >> 421 ca_funnel_out_port0: endpoint { >> 422 remote-endpoint = <&hugo_funnel_in_port0>; >> 423 }; >> 424 }; >> 425 }; >> 426 }; >> 427 426 funnel@28c03000 { 428 funnel@28c03000 { 427 compatible = "arm,core 429 compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 428 reg = <0x28c03000 0x10 430 reg = <0x28c03000 0x1000>; 429 clocks = <&clk IMX8MP_ 431 clocks = <&clk IMX8MP_CLK_MAIN_AXI>; 430 clock-names = "apb_pcl 432 clock-names = "apb_pclk"; 431 433 432 in-ports { 434 in-ports { 433 #address-cells 435 #address-cells = <1>; 434 #size-cells = 436 #size-cells = <0>; 435 437 436 port@0 { 438 port@0 { 437 reg = 439 reg = <0>; 438 440 439 hugo_f 441 hugo_funnel_in_port0: endpoint { 440 442 remote-endpoint = <&ca_funnel_out_port0>; 441 }; 443 }; 442 }; 444 }; 443 445 444 port@1 { 446 port@1 { 445 reg = 447 reg = <1>; 446 448 447 hugo_f 449 hugo_funnel_in_port1: endpoint { 448 /* M7 450 /* M7 input */ 449 }; 451 }; 450 }; 452 }; 451 453 452 port@2 { 454 port@2 { 453 reg = 455 reg = <2>; 454 456 455 hugo_f 457 hugo_funnel_in_port2: endpoint { 456 /* DSP 458 /* DSP input */ 457 }; 459 }; 458 }; 460 }; 459 /* the other i 461 /* the other input ports are not connect to anything */ 460 }; 462 }; 461 463 462 out-ports { 464 out-ports { 463 port { 465 port { 464 hugo_f 466 hugo_funnel_out_port0: endpoint { 465 467 remote-endpoint = <&etf_in_port>; 466 }; 468 }; 467 }; 469 }; 468 }; 470 }; 469 }; 471 }; 470 472 471 etf@28c04000 { 473 etf@28c04000 { 472 compatible = "arm,core 474 compatible = "arm,coresight-tmc", "arm,primecell"; 473 reg = <0x28c04000 0x10 475 reg = <0x28c04000 0x1000>; 474 clocks = <&clk IMX8MP_ 476 clocks = <&clk IMX8MP_CLK_MAIN_AXI>; 475 clock-names = "apb_pcl 477 clock-names = "apb_pclk"; 476 478 477 in-ports { 479 in-ports { 478 port { 480 port { 479 etf_in 481 etf_in_port: endpoint { 480 482 remote-endpoint = <&hugo_funnel_out_port0>; 481 }; 483 }; 482 }; 484 }; 483 }; 485 }; 484 486 485 out-ports { 487 out-ports { 486 port { 488 port { 487 etf_ou 489 etf_out_port: endpoint { 488 490 remote-endpoint = <&etr_in_port>; 489 }; 491 }; 490 }; 492 }; 491 }; 493 }; 492 }; 494 }; 493 495 494 etr@28c06000 { 496 etr@28c06000 { 495 compatible = "arm,core 497 compatible = "arm,coresight-tmc", "arm,primecell"; 496 reg = <0x28c06000 0x10 498 reg = <0x28c06000 0x1000>; 497 clocks = <&clk IMX8MP_ 499 clocks = <&clk IMX8MP_CLK_MAIN_AXI>; 498 clock-names = "apb_pcl 500 clock-names = "apb_pclk"; 499 501 500 in-ports { 502 in-ports { 501 port { 503 port { 502 etr_in 504 etr_in_port: endpoint { 503 505 remote-endpoint = <&etf_out_port>; 504 }; 506 }; 505 }; 507 }; 506 }; 508 }; 507 }; 509 }; 508 510 509 aips1: bus@30000000 { 511 aips1: bus@30000000 { 510 compatible = "fsl,aips 512 compatible = "fsl,aips-bus", "simple-bus"; 511 reg = <0x30000000 0x40 513 reg = <0x30000000 0x400000>; 512 #address-cells = <1>; 514 #address-cells = <1>; 513 #size-cells = <1>; 515 #size-cells = <1>; 514 ranges; 516 ranges; 515 517 516 gpio1: gpio@30200000 { 518 gpio1: gpio@30200000 { 517 compatible = " 519 compatible = "fsl,imx8mp-gpio", "fsl,imx35-gpio"; 518 reg = <0x30200 520 reg = <0x30200000 0x10000>; 519 interrupts = < 521 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>, 520 < 522 <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; 521 clocks = <&clk 523 clocks = <&clk IMX8MP_CLK_GPIO1_ROOT>; 522 gpio-controlle 524 gpio-controller; 523 #gpio-cells = 525 #gpio-cells = <2>; 524 interrupt-cont 526 interrupt-controller; 525 #interrupt-cel 527 #interrupt-cells = <2>; 526 gpio-ranges = 528 gpio-ranges = <&iomuxc 0 5 30>; 527 }; 529 }; 528 530 529 gpio2: gpio@30210000 { 531 gpio2: gpio@30210000 { 530 compatible = " 532 compatible = "fsl,imx8mp-gpio", "fsl,imx35-gpio"; 531 reg = <0x30210 533 reg = <0x30210000 0x10000>; 532 interrupts = < 534 interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>, 533 < 535 <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 534 clocks = <&clk 536 clocks = <&clk IMX8MP_CLK_GPIO2_ROOT>; 535 gpio-controlle 537 gpio-controller; 536 #gpio-cells = 538 #gpio-cells = <2>; 537 interrupt-cont 539 interrupt-controller; 538 #interrupt-cel 540 #interrupt-cells = <2>; 539 gpio-ranges = 541 gpio-ranges = <&iomuxc 0 35 21>; 540 }; 542 }; 541 543 542 gpio3: gpio@30220000 { 544 gpio3: gpio@30220000 { 543 compatible = " 545 compatible = "fsl,imx8mp-gpio", "fsl,imx35-gpio"; 544 reg = <0x30220 546 reg = <0x30220000 0x10000>; 545 interrupts = < 547 interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, 546 < 548 <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 547 clocks = <&clk 549 clocks = <&clk IMX8MP_CLK_GPIO3_ROOT>; 548 gpio-controlle 550 gpio-controller; 549 #gpio-cells = 551 #gpio-cells = <2>; 550 interrupt-cont 552 interrupt-controller; 551 #interrupt-cel 553 #interrupt-cells = <2>; 552 gpio-ranges = 554 gpio-ranges = <&iomuxc 0 56 26>, <&iomuxc 26 144 4>; 553 }; 555 }; 554 556 555 gpio4: gpio@30230000 { 557 gpio4: gpio@30230000 { 556 compatible = " 558 compatible = "fsl,imx8mp-gpio", "fsl,imx35-gpio"; 557 reg = <0x30230 559 reg = <0x30230000 0x10000>; 558 interrupts = < 560 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 559 < 561 <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 560 clocks = <&clk 562 clocks = <&clk IMX8MP_CLK_GPIO4_ROOT>; 561 gpio-controlle 563 gpio-controller; 562 #gpio-cells = 564 #gpio-cells = <2>; 563 interrupt-cont 565 interrupt-controller; 564 #interrupt-cel 566 #interrupt-cells = <2>; 565 gpio-ranges = 567 gpio-ranges = <&iomuxc 0 82 32>; 566 }; 568 }; 567 569 568 gpio5: gpio@30240000 { 570 gpio5: gpio@30240000 { 569 compatible = " 571 compatible = "fsl,imx8mp-gpio", "fsl,imx35-gpio"; 570 reg = <0x30240 572 reg = <0x30240000 0x10000>; 571 interrupts = < 573 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, 572 < 574 <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 573 clocks = <&clk 575 clocks = <&clk IMX8MP_CLK_GPIO5_ROOT>; 574 gpio-controlle 576 gpio-controller; 575 #gpio-cells = 577 #gpio-cells = <2>; 576 interrupt-cont 578 interrupt-controller; 577 #interrupt-cel 579 #interrupt-cells = <2>; 578 gpio-ranges = 580 gpio-ranges = <&iomuxc 0 114 30>; 579 }; 581 }; 580 582 581 tmu: tmu@30260000 { 583 tmu: tmu@30260000 { 582 compatible = " 584 compatible = "fsl,imx8mp-tmu"; 583 reg = <0x30260 585 reg = <0x30260000 0x10000>; 584 clocks = <&clk 586 clocks = <&clk IMX8MP_CLK_TSENSOR_ROOT>; 585 nvmem-cells = 587 nvmem-cells = <&tmu_calib>; 586 nvmem-cell-nam 588 nvmem-cell-names = "calib"; 587 #thermal-senso 589 #thermal-sensor-cells = <1>; 588 }; 590 }; 589 591 590 wdog1: watchdog@302800 592 wdog1: watchdog@30280000 { 591 compatible = " 593 compatible = "fsl,imx8mp-wdt", "fsl,imx21-wdt"; 592 reg = <0x30280 594 reg = <0x30280000 0x10000>; 593 interrupts = < 595 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 594 clocks = <&clk 596 clocks = <&clk IMX8MP_CLK_WDOG1_ROOT>; 595 status = "disa 597 status = "disabled"; 596 }; 598 }; 597 599 598 wdog2: watchdog@302900 600 wdog2: watchdog@30290000 { 599 compatible = " 601 compatible = "fsl,imx8mp-wdt", "fsl,imx21-wdt"; 600 reg = <0x30290 602 reg = <0x30290000 0x10000>; 601 interrupts = < 603 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 602 clocks = <&clk 604 clocks = <&clk IMX8MP_CLK_WDOG2_ROOT>; 603 status = "disa 605 status = "disabled"; 604 }; 606 }; 605 607 606 wdog3: watchdog@302a00 608 wdog3: watchdog@302a0000 { 607 compatible = " 609 compatible = "fsl,imx8mp-wdt", "fsl,imx21-wdt"; 608 reg = <0x302a0 610 reg = <0x302a0000 0x10000>; 609 interrupts = < 611 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 610 clocks = <&clk 612 clocks = <&clk IMX8MP_CLK_WDOG3_ROOT>; 611 status = "disa 613 status = "disabled"; 612 }; 614 }; 613 615 614 gpt1: timer@302d0000 { 616 gpt1: timer@302d0000 { 615 compatible = " 617 compatible = "fsl,imx8mp-gpt", "fsl,imx6dl-gpt"; 616 reg = <0x302d0 618 reg = <0x302d0000 0x10000>; 617 interrupts = < 619 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 618 clocks = <&clk 620 clocks = <&clk IMX8MP_CLK_GPT1_ROOT>, <&clk IMX8MP_CLK_GPT1>; 619 clock-names = 621 clock-names = "ipg", "per"; 620 }; 622 }; 621 623 622 gpt2: timer@302e0000 { 624 gpt2: timer@302e0000 { 623 compatible = " 625 compatible = "fsl,imx8mp-gpt", "fsl,imx6dl-gpt"; 624 reg = <0x302e0 626 reg = <0x302e0000 0x10000>; 625 interrupts = < 627 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; 626 clocks = <&clk 628 clocks = <&clk IMX8MP_CLK_GPT2_ROOT>, <&clk IMX8MP_CLK_GPT2>; 627 clock-names = 629 clock-names = "ipg", "per"; 628 }; 630 }; 629 631 630 gpt3: timer@302f0000 { 632 gpt3: timer@302f0000 { 631 compatible = " 633 compatible = "fsl,imx8mp-gpt", "fsl,imx6dl-gpt"; 632 reg = <0x302f0 634 reg = <0x302f0000 0x10000>; 633 interrupts = < 635 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 634 clocks = <&clk 636 clocks = <&clk IMX8MP_CLK_GPT3_ROOT>, <&clk IMX8MP_CLK_GPT3>; 635 clock-names = 637 clock-names = "ipg", "per"; 636 }; 638 }; 637 639 638 iomuxc: pinctrl@303300 640 iomuxc: pinctrl@30330000 { 639 compatible = " 641 compatible = "fsl,imx8mp-iomuxc"; 640 reg = <0x30330 642 reg = <0x30330000 0x10000>; 641 }; 643 }; 642 644 643 gpr: syscon@30340000 { 645 gpr: syscon@30340000 { 644 compatible = " 646 compatible = "fsl,imx8mp-iomuxc-gpr", "syscon"; 645 reg = <0x30340 647 reg = <0x30340000 0x10000>; 646 }; 648 }; 647 649 648 ocotp: efuse@30350000 650 ocotp: efuse@30350000 { 649 compatible = " 651 compatible = "fsl,imx8mp-ocotp", "fsl,imx8mm-ocotp", "syscon"; 650 reg = <0x30350 652 reg = <0x30350000 0x10000>; 651 clocks = <&clk 653 clocks = <&clk IMX8MP_CLK_OCOTP_ROOT>; 652 /* For nvmem s 654 /* For nvmem subnodes */ 653 #address-cells 655 #address-cells = <1>; 654 #size-cells = 656 #size-cells = <1>; 655 657 656 /* 658 /* 657 * The registe 659 * The register address below maps to the MX8M 658 * Fusemap Des 660 * Fusemap Description Table entries this way. 659 * Assuming 661 * Assuming 660 * reg = <AD 662 * reg = <ADDR SIZE>; 661 * then 663 * then 662 * Fuse Addr 664 * Fuse Address = (ADDR * 4) + 0x400 663 * Note that i 665 * Note that if SIZE is greater than 4, then 664 * each subseq 666 * each subsequent fuse is located at offset 665 * +0x10 in Fu 667 * +0x10 in Fusemap Description Table (e.g. 666 * reg = <0x8 668 * reg = <0x8 0x8> describes fuses 0x420 and 667 * 0x430). 669 * 0x430). 668 */ 670 */ 669 imx8mp_uid: un 671 imx8mp_uid: unique-id@8 { /* 0x420-0x430 */ 670 reg = 672 reg = <0x8 0x8>; 671 }; 673 }; 672 674 673 cpu_speed_grad 675 cpu_speed_grade: speed-grade@10 { /* 0x440 */ 674 reg = 676 reg = <0x10 4>; 675 }; 677 }; 676 678 677 eth_mac1: mac- 679 eth_mac1: mac-address@90 { /* 0x640 */ 678 reg = 680 reg = <0x90 6>; 679 }; 681 }; 680 682 681 eth_mac2: mac- 683 eth_mac2: mac-address@96 { /* 0x658 */ 682 reg = 684 reg = <0x96 6>; 683 }; 685 }; 684 686 685 tmu_calib: cal 687 tmu_calib: calib@264 { /* 0xd90-0xdc0 */ 686 reg = 688 reg = <0x264 0x10>; 687 }; 689 }; 688 }; 690 }; 689 691 690 anatop: clock-controll 692 anatop: clock-controller@30360000 { 691 compatible = " 693 compatible = "fsl,imx8mp-anatop", "fsl,imx8mm-anatop"; 692 reg = <0x30360 694 reg = <0x30360000 0x10000>; 693 #clock-cells = 695 #clock-cells = <1>; 694 }; 696 }; 695 697 696 snvs: snvs@30370000 { 698 snvs: snvs@30370000 { 697 compatible = " 699 compatible = "fsl,sec-v4.0-mon","syscon", "simple-mfd"; 698 reg = <0x30370 700 reg = <0x30370000 0x10000>; 699 701 700 snvs_rtc: snvs 702 snvs_rtc: snvs-rtc-lp { 701 compat 703 compatible = "fsl,sec-v4.0-mon-rtc-lp"; 702 regmap !! 704 regmap =<&snvs>; 703 offset 705 offset = <0x34>; 704 interr 706 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, 705 707 <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 706 clocks 708 clocks = <&clk IMX8MP_CLK_SNVS_ROOT>; 707 clock- 709 clock-names = "snvs-rtc"; 708 }; 710 }; 709 711 710 snvs_pwrkey: s 712 snvs_pwrkey: snvs-powerkey { 711 compat 713 compatible = "fsl,sec-v4.0-pwrkey"; 712 regmap 714 regmap = <&snvs>; 713 interr 715 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 714 clocks 716 clocks = <&clk IMX8MP_CLK_SNVS_ROOT>; 715 clock- 717 clock-names = "snvs-pwrkey"; 716 linux, 718 linux,keycode = <KEY_POWER>; 717 wakeup 719 wakeup-source; 718 status 720 status = "disabled"; 719 }; 721 }; 720 722 721 snvs_lpgpr: sn 723 snvs_lpgpr: snvs-lpgpr { 722 compat 724 compatible = "fsl,imx8mp-snvs-lpgpr", 723 725 "fsl,imx7d-snvs-lpgpr"; 724 }; 726 }; 725 }; 727 }; 726 728 727 clk: clock-controller@ 729 clk: clock-controller@30380000 { 728 compatible = " 730 compatible = "fsl,imx8mp-ccm"; 729 reg = <0x30380 731 reg = <0x30380000 0x10000>; 730 interrupts = < << 731 < << 732 #clock-cells = 732 #clock-cells = <1>; 733 clocks = <&osc 733 clocks = <&osc_32k>, <&osc_24m>, <&clk_ext1>, <&clk_ext2>, 734 <&clk 734 <&clk_ext3>, <&clk_ext4>; 735 clock-names = 735 clock-names = "osc_32k", "osc_24m", "clk_ext1", "clk_ext2", 736 736 "clk_ext3", "clk_ext4"; 737 assigned-clock 737 assigned-clocks = <&clk IMX8MP_CLK_A53_SRC>, 738 738 <&clk IMX8MP_CLK_A53_CORE>, 739 739 <&clk IMX8MP_CLK_NOC>, 740 740 <&clk IMX8MP_CLK_NOC_IO>, 741 741 <&clk IMX8MP_CLK_GIC>; 742 assigned-clock 742 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>, 743 743 <&clk IMX8MP_ARM_PLL_OUT>, 744 744 <&clk IMX8MP_SYS_PLL2_1000M>, 745 745 <&clk IMX8MP_SYS_PLL1_800M>, 746 746 <&clk IMX8MP_SYS_PLL2_500M>; 747 assigned-clock 747 assigned-clock-rates = <0>, <0>, 748 748 <1000000000>, 749 749 <800000000>, 750 750 <500000000>; 751 }; 751 }; 752 752 753 src: reset-controller@ 753 src: reset-controller@30390000 { 754 compatible = " 754 compatible = "fsl,imx8mp-src", "syscon"; 755 reg = <0x30390 755 reg = <0x30390000 0x10000>; 756 interrupts = < 756 interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 757 #reset-cells = 757 #reset-cells = <1>; 758 }; 758 }; 759 759 760 gpc: gpc@303a0000 { 760 gpc: gpc@303a0000 { 761 compatible = " 761 compatible = "fsl,imx8mp-gpc"; 762 reg = <0x303a0 762 reg = <0x303a0000 0x1000>; 763 interrupt-pare 763 interrupt-parent = <&gic>; 764 interrupts = < 764 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 765 interrupt-cont 765 interrupt-controller; 766 #interrupt-cel 766 #interrupt-cells = <3>; 767 767 768 pgc { 768 pgc { 769 #addre 769 #address-cells = <1>; 770 #size- 770 #size-cells = <0>; 771 771 772 pgc_mi 772 pgc_mipi_phy1: power-domain@0 { 773 773 #power-domain-cells = <0>; 774 774 reg = <IMX8MP_POWER_DOMAIN_MIPI_PHY1>; 775 }; 775 }; 776 776 777 pgc_pc 777 pgc_pcie_phy: power-domain@1 { 778 778 #power-domain-cells = <0>; 779 779 reg = <IMX8MP_POWER_DOMAIN_PCIE_PHY>; 780 }; 780 }; 781 781 782 pgc_us 782 pgc_usb1_phy: power-domain@2 { 783 783 #power-domain-cells = <0>; 784 784 reg = <IMX8MP_POWER_DOMAIN_USB1_PHY>; 785 }; 785 }; 786 786 787 pgc_us 787 pgc_usb2_phy: power-domain@3 { 788 788 #power-domain-cells = <0>; 789 789 reg = <IMX8MP_POWER_DOMAIN_USB2_PHY>; 790 }; 790 }; 791 791 792 pgc_ml << 793 << 794 << 795 << 796 << 797 << 798 << 799 << 800 << 801 << 802 << 803 << 804 << 805 << 806 << 807 }; << 808 << 809 pgc_au 792 pgc_audio: power-domain@5 { 810 793 #power-domain-cells = <0>; 811 794 reg = <IMX8MP_POWER_DOMAIN_AUDIOMIX>; 812 795 clocks = <&clk IMX8MP_CLK_AUDIO_ROOT>, 813 796 <&clk IMX8MP_CLK_AUDIO_AXI>; 814 797 assigned-clocks = <&clk IMX8MP_CLK_AUDIO_AHB>, 815 798 <&clk IMX8MP_CLK_AUDIO_AXI_SRC>; 816 !! 799 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>, 817 !! 800 <&clk IMX8MP_SYS_PLL1_800M>; 818 801 assigned-clock-rates = <400000000>, 819 802 <600000000>; 820 }; 803 }; 821 804 822 pgc_gp 805 pgc_gpu2d: power-domain@6 { 823 806 #power-domain-cells = <0>; 824 807 reg = <IMX8MP_POWER_DOMAIN_GPU2D>; 825 808 clocks = <&clk IMX8MP_CLK_GPU2D_ROOT>; 826 809 power-domains = <&pgc_gpumix>; 827 }; 810 }; 828 811 829 pgc_gp 812 pgc_gpumix: power-domain@7 { 830 813 #power-domain-cells = <0>; 831 814 reg = <IMX8MP_POWER_DOMAIN_GPUMIX>; 832 815 clocks = <&clk IMX8MP_CLK_GPU_ROOT>, 833 816 <&clk IMX8MP_CLK_GPU_AHB>; 834 817 assigned-clocks = <&clk IMX8MP_CLK_GPU_AXI>, 835 818 <&clk IMX8MP_CLK_GPU_AHB>; 836 819 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>, 837 820 <&clk IMX8MP_SYS_PLL1_800M>; 838 821 assigned-clock-rates = <800000000>, <400000000>; 839 }; 822 }; 840 823 841 pgc_vp << 842 << 843 << 844 << 845 }; << 846 << 847 pgc_gp 824 pgc_gpu3d: power-domain@9 { 848 825 #power-domain-cells = <0>; 849 826 reg = <IMX8MP_POWER_DOMAIN_GPU3D>; 850 827 clocks = <&clk IMX8MP_CLK_GPU3D_ROOT>, 851 828 <&clk IMX8MP_CLK_GPU3D_SHADER_CORE>; 852 829 power-domains = <&pgc_gpumix>; 853 }; 830 }; 854 831 855 pgc_me 832 pgc_mediamix: power-domain@10 { 856 833 #power-domain-cells = <0>; 857 834 reg = <IMX8MP_POWER_DOMAIN_MEDIAMIX>; 858 835 clocks = <&clk IMX8MP_CLK_MEDIA_AXI_ROOT>, 859 836 <&clk IMX8MP_CLK_MEDIA_APB_ROOT>; 860 }; 837 }; 861 838 862 pgc_vp !! 839 pgc_mipi_phy2: power-domain@16 { 863 840 #power-domain-cells = <0>; 864 !! 841 reg = <IMX8MP_POWER_DOMAIN_MIPI_PHY2>; 865 << 866 << 867 }; 842 }; 868 843 869 pgc_vp !! 844 pgc_hsiomix: power-domain@17 { 870 845 #power-domain-cells = <0>; 871 !! 846 reg = <IMX8MP_POWER_DOMAIN_HSIOMIX>; 872 !! 847 clocks = <&clk IMX8MP_CLK_HSIO_AXI>, 873 !! 848 <&clk IMX8MP_CLK_HSIO_ROOT>; 874 !! 849 assigned-clocks = <&clk IMX8MP_CLK_HSIO_AXI>; >> 850 assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_500M>; >> 851 assigned-clock-rates = <500000000>; 875 }; 852 }; 876 853 877 pgc_vp !! 854 pgc_ispdwp: power-domain@18 { 878 855 #power-domain-cells = <0>; 879 !! 856 reg = <IMX8MP_POWER_DOMAIN_MEDIAMIX_ISPDWP>; 880 !! 857 clocks = <&clk IMX8MP_CLK_MEDIA_ISP_ROOT>; 881 << 882 }; 858 }; 883 859 884 pgc_hd !! 860 pgc_vpumix: power-domain@19 { 885 861 #power-domain-cells = <0>; 886 !! 862 reg = <IMX8MP_POWER_DOMAIN_VPUMIX>; 887 !! 863 clocks =<&clk IMX8MP_CLK_VPU_ROOT>; 888 << 889 << 890 << 891 << 892 << 893 << 894 }; 864 }; 895 865 896 pgc_hd !! 866 pgc_vpu_g1: power-domain@20 { 897 867 #power-domain-cells = <0>; 898 !! 868 power-domains = <&pgc_vpumix>; >> 869 reg = <IMX8MP_POWER_DOMAIN_VPU_G1>; >> 870 clocks = <&clk IMX8MP_CLK_VPU_G1_ROOT>; 899 }; 871 }; 900 872 901 pgc_mi !! 873 pgc_vpu_g2: power-domain@21 { 902 874 #power-domain-cells = <0>; 903 !! 875 power-domains = <&pgc_vpumix>; >> 876 reg = <IMX8MP_POWER_DOMAIN_VPU_G2>; >> 877 clocks = <&clk IMX8MP_CLK_VPU_G2_ROOT>; 904 }; 878 }; 905 879 906 pgc_hs !! 880 pgc_vpu_vc8000e: power-domain@22 { 907 881 #power-domain-cells = <0>; 908 !! 882 power-domains = <&pgc_vpumix>; 909 !! 883 reg = <IMX8MP_POWER_DOMAIN_VPU_VC8000E>; 910 !! 884 clocks = <&clk IMX8MP_CLK_VPU_VC8KE_ROOT>; 911 << 912 << 913 << 914 }; 885 }; 915 886 916 pgc_is !! 887 pgc_mlmix: power-domain@24 { 917 888 #power-domain-cells = <0>; 918 !! 889 reg = <IMX8MP_POWER_DOMAIN_MLMIX>; 919 !! 890 clocks = <&clk IMX8MP_CLK_ML_AXI>, >> 891 <&clk IMX8MP_CLK_ML_AHB>, >> 892 <&clk IMX8MP_CLK_NPU_ROOT>; 920 }; 893 }; 921 }; 894 }; 922 }; 895 }; 923 }; 896 }; 924 897 925 aips2: bus@30400000 { 898 aips2: bus@30400000 { 926 compatible = "fsl,aips 899 compatible = "fsl,aips-bus", "simple-bus"; 927 reg = <0x30400000 0x40 900 reg = <0x30400000 0x400000>; 928 #address-cells = <1>; 901 #address-cells = <1>; 929 #size-cells = <1>; 902 #size-cells = <1>; 930 ranges; 903 ranges; 931 904 932 pwm1: pwm@30660000 { 905 pwm1: pwm@30660000 { 933 compatible = " 906 compatible = "fsl,imx8mp-pwm", "fsl,imx27-pwm"; 934 reg = <0x30660 907 reg = <0x30660000 0x10000>; 935 interrupts = < 908 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 936 clocks = <&clk 909 clocks = <&clk IMX8MP_CLK_PWM1_ROOT>, 937 <&clk 910 <&clk IMX8MP_CLK_PWM1_ROOT>; 938 clock-names = 911 clock-names = "ipg", "per"; 939 #pwm-cells = < 912 #pwm-cells = <3>; 940 status = "disa 913 status = "disabled"; 941 }; 914 }; 942 915 943 pwm2: pwm@30670000 { 916 pwm2: pwm@30670000 { 944 compatible = " 917 compatible = "fsl,imx8mp-pwm", "fsl,imx27-pwm"; 945 reg = <0x30670 918 reg = <0x30670000 0x10000>; 946 interrupts = < 919 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 947 clocks = <&clk 920 clocks = <&clk IMX8MP_CLK_PWM2_ROOT>, 948 <&clk 921 <&clk IMX8MP_CLK_PWM2_ROOT>; 949 clock-names = 922 clock-names = "ipg", "per"; 950 #pwm-cells = < 923 #pwm-cells = <3>; 951 status = "disa 924 status = "disabled"; 952 }; 925 }; 953 926 954 pwm3: pwm@30680000 { 927 pwm3: pwm@30680000 { 955 compatible = " 928 compatible = "fsl,imx8mp-pwm", "fsl,imx27-pwm"; 956 reg = <0x30680 929 reg = <0x30680000 0x10000>; 957 interrupts = < 930 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 958 clocks = <&clk 931 clocks = <&clk IMX8MP_CLK_PWM3_ROOT>, 959 <&clk 932 <&clk IMX8MP_CLK_PWM3_ROOT>; 960 clock-names = 933 clock-names = "ipg", "per"; 961 #pwm-cells = < 934 #pwm-cells = <3>; 962 status = "disa 935 status = "disabled"; 963 }; 936 }; 964 937 965 pwm4: pwm@30690000 { 938 pwm4: pwm@30690000 { 966 compatible = " 939 compatible = "fsl,imx8mp-pwm", "fsl,imx27-pwm"; 967 reg = <0x30690 940 reg = <0x30690000 0x10000>; 968 interrupts = < 941 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 969 clocks = <&clk 942 clocks = <&clk IMX8MP_CLK_PWM4_ROOT>, 970 <&clk 943 <&clk IMX8MP_CLK_PWM4_ROOT>; 971 clock-names = 944 clock-names = "ipg", "per"; 972 #pwm-cells = < 945 #pwm-cells = <3>; 973 status = "disa 946 status = "disabled"; 974 }; 947 }; 975 948 976 system_counter: timer@ 949 system_counter: timer@306a0000 { 977 compatible = " 950 compatible = "nxp,sysctr-timer"; 978 reg = <0x306a0 951 reg = <0x306a0000 0x20000>; 979 interrupts = < 952 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 980 clocks = <&osc 953 clocks = <&osc_24m>; 981 clock-names = 954 clock-names = "per"; 982 }; 955 }; 983 956 984 gpt6: timer@306e0000 { 957 gpt6: timer@306e0000 { 985 compatible = " 958 compatible = "fsl,imx8mp-gpt", "fsl,imx6dl-gpt"; 986 reg = <0x306e0 959 reg = <0x306e0000 0x10000>; 987 interrupts = < 960 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 988 clocks = <&clk 961 clocks = <&clk IMX8MP_CLK_GPT6_ROOT>, <&clk IMX8MP_CLK_GPT6>; 989 clock-names = 962 clock-names = "ipg", "per"; 990 }; 963 }; 991 964 992 gpt5: timer@306f0000 { 965 gpt5: timer@306f0000 { 993 compatible = " 966 compatible = "fsl,imx8mp-gpt", "fsl,imx6dl-gpt"; 994 reg = <0x306f0 967 reg = <0x306f0000 0x10000>; 995 interrupts = < 968 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 996 clocks = <&clk 969 clocks = <&clk IMX8MP_CLK_GPT5_ROOT>, <&clk IMX8MP_CLK_GPT5>; 997 clock-names = 970 clock-names = "ipg", "per"; 998 }; 971 }; 999 972 1000 gpt4: timer@30700000 973 gpt4: timer@30700000 { 1001 compatible = 974 compatible = "fsl,imx8mp-gpt", "fsl,imx6dl-gpt"; 1002 reg = <0x3070 975 reg = <0x30700000 0x10000>; 1003 interrupts = 976 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 1004 clocks = <&cl 977 clocks = <&clk IMX8MP_CLK_GPT4_ROOT>, <&clk IMX8MP_CLK_GPT4>; 1005 clock-names = 978 clock-names = "ipg", "per"; 1006 }; 979 }; 1007 }; 980 }; 1008 981 1009 aips3: bus@30800000 { 982 aips3: bus@30800000 { 1010 compatible = "fsl,aip 983 compatible = "fsl,aips-bus", "simple-bus"; 1011 reg = <0x30800000 0x4 984 reg = <0x30800000 0x400000>; 1012 #address-cells = <1>; 985 #address-cells = <1>; 1013 #size-cells = <1>; 986 #size-cells = <1>; 1014 ranges; 987 ranges; 1015 988 1016 spba-bus@30800000 { 989 spba-bus@30800000 { 1017 compatible = 990 compatible = "fsl,spba-bus", "simple-bus"; 1018 reg = <0x3080 991 reg = <0x30800000 0x100000>; 1019 #address-cell 992 #address-cells = <1>; 1020 #size-cells = 993 #size-cells = <1>; 1021 ranges; 994 ranges; 1022 995 1023 ecspi1: spi@3 996 ecspi1: spi@30820000 { 1024 #addr 997 #address-cells = <1>; 1025 #size 998 #size-cells = <0>; 1026 compa 999 compatible = "fsl,imx8mp-ecspi", "fsl,imx6ul-ecspi"; 1027 reg = 1000 reg = <0x30820000 0x10000>; 1028 inter 1001 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 1029 clock 1002 clocks = <&clk IMX8MP_CLK_ECSPI1_ROOT>, 1030 1003 <&clk IMX8MP_CLK_ECSPI1_ROOT>; 1031 clock 1004 clock-names = "ipg", "per"; 1032 assig 1005 assigned-clock-rates = <80000000>; 1033 assig 1006 assigned-clocks = <&clk IMX8MP_CLK_ECSPI1>; 1034 assig 1007 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>; 1035 dmas 1008 dmas = <&sdma1 0 7 1>, <&sdma1 1 7 2>; 1036 dma-n 1009 dma-names = "rx", "tx"; 1037 statu 1010 status = "disabled"; 1038 }; 1011 }; 1039 1012 1040 ecspi2: spi@3 1013 ecspi2: spi@30830000 { 1041 #addr 1014 #address-cells = <1>; 1042 #size 1015 #size-cells = <0>; 1043 compa 1016 compatible = "fsl,imx8mp-ecspi", "fsl,imx6ul-ecspi"; 1044 reg = 1017 reg = <0x30830000 0x10000>; 1045 inter 1018 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 1046 clock 1019 clocks = <&clk IMX8MP_CLK_ECSPI2_ROOT>, 1047 1020 <&clk IMX8MP_CLK_ECSPI2_ROOT>; 1048 clock 1021 clock-names = "ipg", "per"; 1049 assig 1022 assigned-clock-rates = <80000000>; 1050 assig 1023 assigned-clocks = <&clk IMX8MP_CLK_ECSPI2>; 1051 assig 1024 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>; 1052 dmas 1025 dmas = <&sdma1 2 7 1>, <&sdma1 3 7 2>; 1053 dma-n 1026 dma-names = "rx", "tx"; 1054 statu 1027 status = "disabled"; 1055 }; 1028 }; 1056 1029 1057 ecspi3: spi@3 1030 ecspi3: spi@30840000 { 1058 #addr 1031 #address-cells = <1>; 1059 #size 1032 #size-cells = <0>; 1060 compa 1033 compatible = "fsl,imx8mp-ecspi", "fsl,imx6ul-ecspi"; 1061 reg = 1034 reg = <0x30840000 0x10000>; 1062 inter 1035 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 1063 clock 1036 clocks = <&clk IMX8MP_CLK_ECSPI3_ROOT>, 1064 1037 <&clk IMX8MP_CLK_ECSPI3_ROOT>; 1065 clock 1038 clock-names = "ipg", "per"; 1066 assig 1039 assigned-clock-rates = <80000000>; 1067 assig 1040 assigned-clocks = <&clk IMX8MP_CLK_ECSPI3>; 1068 assig 1041 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>; 1069 dmas 1042 dmas = <&sdma1 4 7 1>, <&sdma1 5 7 2>; 1070 dma-n 1043 dma-names = "rx", "tx"; 1071 statu 1044 status = "disabled"; 1072 }; 1045 }; 1073 1046 1074 uart1: serial 1047 uart1: serial@30860000 { 1075 compa 1048 compatible = "fsl,imx8mp-uart", "fsl,imx6q-uart"; 1076 reg = 1049 reg = <0x30860000 0x10000>; 1077 inter 1050 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 1078 clock 1051 clocks = <&clk IMX8MP_CLK_UART1_ROOT>, 1079 1052 <&clk IMX8MP_CLK_UART1_ROOT>; 1080 clock 1053 clock-names = "ipg", "per"; 1081 dmas 1054 dmas = <&sdma1 22 4 0>, <&sdma1 23 4 0>; 1082 dma-n 1055 dma-names = "rx", "tx"; 1083 statu 1056 status = "disabled"; 1084 }; 1057 }; 1085 1058 1086 uart3: serial 1059 uart3: serial@30880000 { 1087 compa 1060 compatible = "fsl,imx8mp-uart", "fsl,imx6q-uart"; 1088 reg = 1061 reg = <0x30880000 0x10000>; 1089 inter 1062 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 1090 clock 1063 clocks = <&clk IMX8MP_CLK_UART3_ROOT>, 1091 1064 <&clk IMX8MP_CLK_UART3_ROOT>; 1092 clock 1065 clock-names = "ipg", "per"; 1093 dmas 1066 dmas = <&sdma1 26 4 0>, <&sdma1 27 4 0>; 1094 dma-n 1067 dma-names = "rx", "tx"; 1095 statu 1068 status = "disabled"; 1096 }; 1069 }; 1097 1070 1098 uart2: serial 1071 uart2: serial@30890000 { 1099 compa 1072 compatible = "fsl,imx8mp-uart", "fsl,imx6q-uart"; 1100 reg = 1073 reg = <0x30890000 0x10000>; 1101 inter 1074 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 1102 clock 1075 clocks = <&clk IMX8MP_CLK_UART2_ROOT>, 1103 1076 <&clk IMX8MP_CLK_UART2_ROOT>; 1104 clock 1077 clock-names = "ipg", "per"; 1105 dmas 1078 dmas = <&sdma1 24 4 0>, <&sdma1 25 4 0>; 1106 dma-n 1079 dma-names = "rx", "tx"; 1107 statu 1080 status = "disabled"; 1108 }; 1081 }; 1109 1082 1110 flexcan1: can 1083 flexcan1: can@308c0000 { 1111 compa 1084 compatible = "fsl,imx8mp-flexcan"; 1112 reg = 1085 reg = <0x308c0000 0x10000>; 1113 inter 1086 interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>; 1114 clock 1087 clocks = <&clk IMX8MP_CLK_IPG_ROOT>, 1115 1088 <&clk IMX8MP_CLK_CAN1_ROOT>; 1116 clock 1089 clock-names = "ipg", "per"; 1117 assig 1090 assigned-clocks = <&clk IMX8MP_CLK_CAN1>; 1118 assig 1091 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_40M>; 1119 assig 1092 assigned-clock-rates = <40000000>; 1120 fsl,c 1093 fsl,clk-source = /bits/ 8 <0>; 1121 fsl,s 1094 fsl,stop-mode = <&gpr 0x10 4>; 1122 statu 1095 status = "disabled"; 1123 }; 1096 }; 1124 1097 1125 flexcan2: can 1098 flexcan2: can@308d0000 { 1126 compa 1099 compatible = "fsl,imx8mp-flexcan"; 1127 reg = 1100 reg = <0x308d0000 0x10000>; 1128 inter 1101 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>; 1129 clock 1102 clocks = <&clk IMX8MP_CLK_IPG_ROOT>, 1130 1103 <&clk IMX8MP_CLK_CAN2_ROOT>; 1131 clock 1104 clock-names = "ipg", "per"; 1132 assig 1105 assigned-clocks = <&clk IMX8MP_CLK_CAN2>; 1133 assig 1106 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_40M>; 1134 assig 1107 assigned-clock-rates = <40000000>; 1135 fsl,c 1108 fsl,clk-source = /bits/ 8 <0>; 1136 fsl,s 1109 fsl,stop-mode = <&gpr 0x10 5>; 1137 statu 1110 status = "disabled"; 1138 }; 1111 }; 1139 }; 1112 }; 1140 1113 1141 crypto: crypto@309000 1114 crypto: crypto@30900000 { 1142 compatible = 1115 compatible = "fsl,sec-v4.0"; 1143 #address-cell 1116 #address-cells = <1>; 1144 #size-cells = 1117 #size-cells = <1>; 1145 reg = <0x3090 1118 reg = <0x30900000 0x40000>; 1146 ranges = <0 0 1119 ranges = <0 0x30900000 0x40000>; 1147 interrupts = 1120 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 1148 clocks = <&cl 1121 clocks = <&clk IMX8MP_CLK_AHB>, 1149 <&cl 1122 <&clk IMX8MP_CLK_IPG_ROOT>; 1150 clock-names = 1123 clock-names = "aclk", "ipg"; 1151 1124 1152 sec_jr0: jr@1 1125 sec_jr0: jr@1000 { 1153 compa 1126 compatible = "fsl,sec-v4.0-job-ring"; 1154 reg = 1127 reg = <0x1000 0x1000>; 1155 inter 1128 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 1156 statu 1129 status = "disabled"; 1157 }; 1130 }; 1158 1131 1159 sec_jr1: jr@2 1132 sec_jr1: jr@2000 { 1160 compa 1133 compatible = "fsl,sec-v4.0-job-ring"; 1161 reg = 1134 reg = <0x2000 0x1000>; 1162 inter 1135 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 1163 }; 1136 }; 1164 1137 1165 sec_jr2: jr@3 1138 sec_jr2: jr@3000 { 1166 compa 1139 compatible = "fsl,sec-v4.0-job-ring"; 1167 reg = 1140 reg = <0x3000 0x1000>; 1168 inter 1141 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 1169 }; 1142 }; 1170 }; 1143 }; 1171 1144 1172 i2c1: i2c@30a20000 { 1145 i2c1: i2c@30a20000 { 1173 compatible = 1146 compatible = "fsl,imx8mp-i2c", "fsl,imx21-i2c"; 1174 #address-cell 1147 #address-cells = <1>; 1175 #size-cells = 1148 #size-cells = <0>; 1176 reg = <0x30a2 1149 reg = <0x30a20000 0x10000>; 1177 interrupts = 1150 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 1178 clocks = <&cl 1151 clocks = <&clk IMX8MP_CLK_I2C1_ROOT>; 1179 status = "dis 1152 status = "disabled"; 1180 }; 1153 }; 1181 1154 1182 i2c2: i2c@30a30000 { 1155 i2c2: i2c@30a30000 { 1183 compatible = 1156 compatible = "fsl,imx8mp-i2c", "fsl,imx21-i2c"; 1184 #address-cell 1157 #address-cells = <1>; 1185 #size-cells = 1158 #size-cells = <0>; 1186 reg = <0x30a3 1159 reg = <0x30a30000 0x10000>; 1187 interrupts = 1160 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 1188 clocks = <&cl 1161 clocks = <&clk IMX8MP_CLK_I2C2_ROOT>; 1189 status = "dis 1162 status = "disabled"; 1190 }; 1163 }; 1191 1164 1192 i2c3: i2c@30a40000 { 1165 i2c3: i2c@30a40000 { 1193 compatible = 1166 compatible = "fsl,imx8mp-i2c", "fsl,imx21-i2c"; 1194 #address-cell 1167 #address-cells = <1>; 1195 #size-cells = 1168 #size-cells = <0>; 1196 reg = <0x30a4 1169 reg = <0x30a40000 0x10000>; 1197 interrupts = 1170 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 1198 clocks = <&cl 1171 clocks = <&clk IMX8MP_CLK_I2C3_ROOT>; 1199 status = "dis 1172 status = "disabled"; 1200 }; 1173 }; 1201 1174 1202 i2c4: i2c@30a50000 { 1175 i2c4: i2c@30a50000 { 1203 compatible = 1176 compatible = "fsl,imx8mp-i2c", "fsl,imx21-i2c"; 1204 #address-cell 1177 #address-cells = <1>; 1205 #size-cells = 1178 #size-cells = <0>; 1206 reg = <0x30a5 1179 reg = <0x30a50000 0x10000>; 1207 interrupts = 1180 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 1208 clocks = <&cl 1181 clocks = <&clk IMX8MP_CLK_I2C4_ROOT>; 1209 status = "dis 1182 status = "disabled"; 1210 }; 1183 }; 1211 1184 1212 uart4: serial@30a6000 1185 uart4: serial@30a60000 { 1213 compatible = 1186 compatible = "fsl,imx8mp-uart", "fsl,imx6q-uart"; 1214 reg = <0x30a6 1187 reg = <0x30a60000 0x10000>; 1215 interrupts = 1188 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 1216 clocks = <&cl 1189 clocks = <&clk IMX8MP_CLK_UART4_ROOT>, 1217 <&cl 1190 <&clk IMX8MP_CLK_UART4_ROOT>; 1218 clock-names = 1191 clock-names = "ipg", "per"; 1219 dmas = <&sdma 1192 dmas = <&sdma1 28 4 0>, <&sdma1 29 4 0>; 1220 dma-names = " 1193 dma-names = "rx", "tx"; 1221 status = "dis 1194 status = "disabled"; 1222 }; 1195 }; 1223 1196 1224 mu: mailbox@30aa0000 1197 mu: mailbox@30aa0000 { 1225 compatible = 1198 compatible = "fsl,imx8mp-mu", "fsl,imx6sx-mu"; 1226 reg = <0x30aa 1199 reg = <0x30aa0000 0x10000>; 1227 interrupts = 1200 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; 1228 clocks = <&cl 1201 clocks = <&clk IMX8MP_CLK_MU_ROOT>; 1229 #mbox-cells = 1202 #mbox-cells = <2>; 1230 }; 1203 }; 1231 1204 1232 mu2: mailbox@30e60000 1205 mu2: mailbox@30e60000 { 1233 compatible = 1206 compatible = "fsl,imx8mp-mu", "fsl,imx6sx-mu"; 1234 reg = <0x30e6 1207 reg = <0x30e60000 0x10000>; 1235 interrupts = 1208 interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>; 1236 #mbox-cells = 1209 #mbox-cells = <2>; 1237 status = "dis 1210 status = "disabled"; 1238 }; 1211 }; 1239 1212 1240 i2c5: i2c@30ad0000 { 1213 i2c5: i2c@30ad0000 { 1241 compatible = 1214 compatible = "fsl,imx8mp-i2c", "fsl,imx21-i2c"; 1242 #address-cell 1215 #address-cells = <1>; 1243 #size-cells = 1216 #size-cells = <0>; 1244 reg = <0x30ad 1217 reg = <0x30ad0000 0x10000>; 1245 interrupts = 1218 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 1246 clocks = <&cl 1219 clocks = <&clk IMX8MP_CLK_I2C5_ROOT>; 1247 status = "dis 1220 status = "disabled"; 1248 }; 1221 }; 1249 1222 1250 i2c6: i2c@30ae0000 { 1223 i2c6: i2c@30ae0000 { 1251 compatible = 1224 compatible = "fsl,imx8mp-i2c", "fsl,imx21-i2c"; 1252 #address-cell 1225 #address-cells = <1>; 1253 #size-cells = 1226 #size-cells = <0>; 1254 reg = <0x30ae 1227 reg = <0x30ae0000 0x10000>; 1255 interrupts = 1228 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 1256 clocks = <&cl 1229 clocks = <&clk IMX8MP_CLK_I2C6_ROOT>; 1257 status = "dis 1230 status = "disabled"; 1258 }; 1231 }; 1259 1232 1260 usdhc1: mmc@30b40000 1233 usdhc1: mmc@30b40000 { 1261 compatible = 1234 compatible = "fsl,imx8mp-usdhc", "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc"; 1262 reg = <0x30b4 1235 reg = <0x30b40000 0x10000>; 1263 interrupts = 1236 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; 1264 clocks = <&cl !! 1237 clocks = <&clk IMX8MP_CLK_DUMMY>, 1265 <&cl 1238 <&clk IMX8MP_CLK_NAND_USDHC_BUS>, 1266 <&cl 1239 <&clk IMX8MP_CLK_USDHC1_ROOT>; 1267 clock-names = 1240 clock-names = "ipg", "ahb", "per"; 1268 fsl,tuning-st 1241 fsl,tuning-start-tap = <20>; 1269 fsl,tuning-st 1242 fsl,tuning-step = <2>; 1270 bus-width = < 1243 bus-width = <4>; 1271 status = "dis 1244 status = "disabled"; 1272 }; 1245 }; 1273 1246 1274 usdhc2: mmc@30b50000 1247 usdhc2: mmc@30b50000 { 1275 compatible = 1248 compatible = "fsl,imx8mp-usdhc", "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc"; 1276 reg = <0x30b5 1249 reg = <0x30b50000 0x10000>; 1277 interrupts = 1250 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 1278 clocks = <&cl !! 1251 clocks = <&clk IMX8MP_CLK_DUMMY>, 1279 <&cl 1252 <&clk IMX8MP_CLK_NAND_USDHC_BUS>, 1280 <&cl 1253 <&clk IMX8MP_CLK_USDHC2_ROOT>; 1281 clock-names = 1254 clock-names = "ipg", "ahb", "per"; 1282 fsl,tuning-st 1255 fsl,tuning-start-tap = <20>; 1283 fsl,tuning-st 1256 fsl,tuning-step = <2>; 1284 bus-width = < 1257 bus-width = <4>; 1285 status = "dis 1258 status = "disabled"; 1286 }; 1259 }; 1287 1260 1288 usdhc3: mmc@30b60000 1261 usdhc3: mmc@30b60000 { 1289 compatible = 1262 compatible = "fsl,imx8mp-usdhc", "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc"; 1290 reg = <0x30b6 1263 reg = <0x30b60000 0x10000>; 1291 interrupts = 1264 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 1292 clocks = <&cl !! 1265 clocks = <&clk IMX8MP_CLK_DUMMY>, 1293 <&cl 1266 <&clk IMX8MP_CLK_NAND_USDHC_BUS>, 1294 <&cl 1267 <&clk IMX8MP_CLK_USDHC3_ROOT>; 1295 clock-names = 1268 clock-names = "ipg", "ahb", "per"; 1296 fsl,tuning-st 1269 fsl,tuning-start-tap = <20>; 1297 fsl,tuning-st 1270 fsl,tuning-step = <2>; 1298 bus-width = < 1271 bus-width = <4>; 1299 status = "dis 1272 status = "disabled"; 1300 }; 1273 }; 1301 1274 1302 flexspi: spi@30bb0000 1275 flexspi: spi@30bb0000 { 1303 compatible = 1276 compatible = "nxp,imx8mp-fspi"; 1304 reg = <0x30bb 1277 reg = <0x30bb0000 0x10000>, <0x8000000 0x10000000>; 1305 reg-names = " 1278 reg-names = "fspi_base", "fspi_mmap"; 1306 interrupts = 1279 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 1307 clocks = <&cl 1280 clocks = <&clk IMX8MP_CLK_QSPI_ROOT>, 1308 <&cl 1281 <&clk IMX8MP_CLK_QSPI_ROOT>; 1309 clock-names = 1282 clock-names = "fspi_en", "fspi"; 1310 assigned-cloc 1283 assigned-clock-rates = <80000000>; 1311 assigned-cloc 1284 assigned-clocks = <&clk IMX8MP_CLK_QSPI>; 1312 #address-cell 1285 #address-cells = <1>; 1313 #size-cells = 1286 #size-cells = <0>; 1314 status = "dis 1287 status = "disabled"; 1315 }; 1288 }; 1316 1289 1317 sdma1: dma-controller 1290 sdma1: dma-controller@30bd0000 { 1318 compatible = 1291 compatible = "fsl,imx8mp-sdma", "fsl,imx8mq-sdma"; 1319 reg = <0x30bd 1292 reg = <0x30bd0000 0x10000>; 1320 interrupts = 1293 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 1321 clocks = <&cl 1294 clocks = <&clk IMX8MP_CLK_SDMA1_ROOT>, 1322 <&cl 1295 <&clk IMX8MP_CLK_AHB>; 1323 clock-names = 1296 clock-names = "ipg", "ahb"; 1324 #dma-cells = 1297 #dma-cells = <3>; 1325 fsl,sdma-ram- 1298 fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin"; 1326 }; 1299 }; 1327 1300 1328 fec: ethernet@30be000 1301 fec: ethernet@30be0000 { 1329 compatible = 1302 compatible = "fsl,imx8mp-fec", "fsl,imx8mq-fec", "fsl,imx6sx-fec"; 1330 reg = <0x30be 1303 reg = <0x30be0000 0x10000>; 1331 interrupts = 1304 interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 1332 1305 <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>, 1333 1306 <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>, 1334 1307 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>; 1335 clocks = <&cl 1308 clocks = <&clk IMX8MP_CLK_ENET1_ROOT>, 1336 <&cl 1309 <&clk IMX8MP_CLK_SIM_ENET_ROOT>, 1337 <&cl 1310 <&clk IMX8MP_CLK_ENET_TIMER>, 1338 <&cl 1311 <&clk IMX8MP_CLK_ENET_REF>, 1339 <&cl 1312 <&clk IMX8MP_CLK_ENET_PHY_REF>; 1340 clock-names = 1313 clock-names = "ipg", "ahb", "ptp", 1341 1314 "enet_clk_ref", "enet_out"; 1342 assigned-cloc 1315 assigned-clocks = <&clk IMX8MP_CLK_ENET_AXI>, 1343 1316 <&clk IMX8MP_CLK_ENET_TIMER>, 1344 1317 <&clk IMX8MP_CLK_ENET_REF>, 1345 1318 <&clk IMX8MP_CLK_ENET_PHY_REF>; 1346 assigned-cloc 1319 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_266M>, 1347 1320 <&clk IMX8MP_SYS_PLL2_100M>, 1348 1321 <&clk IMX8MP_SYS_PLL2_125M>, 1349 1322 <&clk IMX8MP_SYS_PLL2_50M>; 1350 assigned-cloc 1323 assigned-clock-rates = <0>, <100000000>, <125000000>, <0>; 1351 fsl,num-tx-qu 1324 fsl,num-tx-queues = <3>; 1352 fsl,num-rx-qu 1325 fsl,num-rx-queues = <3>; 1353 nvmem-cells = 1326 nvmem-cells = <ð_mac1>; 1354 nvmem-cell-na 1327 nvmem-cell-names = "mac-address"; 1355 fsl,stop-mode 1328 fsl,stop-mode = <&gpr 0x10 3>; 1356 status = "dis 1329 status = "disabled"; 1357 }; 1330 }; 1358 1331 1359 eqos: ethernet@30bf00 1332 eqos: ethernet@30bf0000 { 1360 compatible = 1333 compatible = "nxp,imx8mp-dwmac-eqos", "snps,dwmac-5.10a"; 1361 reg = <0x30bf 1334 reg = <0x30bf0000 0x10000>; 1362 interrupts = 1335 interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>, 1363 1336 <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>; 1364 interrupt-nam 1337 interrupt-names = "macirq", "eth_wake_irq"; 1365 clocks = <&cl 1338 clocks = <&clk IMX8MP_CLK_ENET_QOS_ROOT>, 1366 <&cl 1339 <&clk IMX8MP_CLK_QOS_ENET_ROOT>, 1367 <&cl 1340 <&clk IMX8MP_CLK_ENET_QOS_TIMER>, 1368 <&cl 1341 <&clk IMX8MP_CLK_ENET_QOS>; 1369 clock-names = 1342 clock-names = "stmmaceth", "pclk", "ptp_ref", "tx"; 1370 assigned-cloc 1343 assigned-clocks = <&clk IMX8MP_CLK_ENET_AXI>, 1371 1344 <&clk IMX8MP_CLK_ENET_QOS_TIMER>, 1372 1345 <&clk IMX8MP_CLK_ENET_QOS>; 1373 assigned-cloc 1346 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_266M>, 1374 1347 <&clk IMX8MP_SYS_PLL2_100M>, 1375 1348 <&clk IMX8MP_SYS_PLL2_125M>; 1376 assigned-cloc 1349 assigned-clock-rates = <0>, <100000000>, <125000000>; 1377 nvmem-cells = 1350 nvmem-cells = <ð_mac2>; 1378 nvmem-cell-na 1351 nvmem-cell-names = "mac-address"; 1379 intf_mode = < 1352 intf_mode = <&gpr 0x4>; 1380 status = "dis 1353 status = "disabled"; 1381 }; 1354 }; 1382 }; 1355 }; 1383 1356 1384 aips5: bus@30c00000 { 1357 aips5: bus@30c00000 { 1385 compatible = "fsl,aip 1358 compatible = "fsl,aips-bus", "simple-bus"; 1386 reg = <0x30c00000 0x4 1359 reg = <0x30c00000 0x400000>; 1387 #address-cells = <1>; 1360 #address-cells = <1>; 1388 #size-cells = <1>; 1361 #size-cells = <1>; 1389 ranges; 1362 ranges; 1390 1363 1391 spba-bus@30c00000 { 1364 spba-bus@30c00000 { 1392 compatible = 1365 compatible = "fsl,spba-bus", "simple-bus"; 1393 reg = <0x30c0 1366 reg = <0x30c00000 0x100000>; 1394 #address-cell 1367 #address-cells = <1>; 1395 #size-cells = 1368 #size-cells = <1>; 1396 ranges; 1369 ranges; 1397 1370 1398 sai1: sai@30c 1371 sai1: sai@30c10000 { 1399 compa 1372 compatible = "fsl,imx8mp-sai", "fsl,imx8mq-sai"; 1400 reg = 1373 reg = <0x30c10000 0x10000>; 1401 #soun 1374 #sound-dai-cells = <0>; 1402 clock 1375 clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI1_IPG>, 1403 1376 <&clk IMX8MP_CLK_DUMMY>, 1404 1377 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI1_MCLK1>, 1405 1378 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI1_MCLK2>, 1406 1379 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI1_MCLK3>; 1407 clock 1380 clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3"; 1408 dmas 1381 dmas = <&sdma2 0 2 0>, <&sdma2 1 2 0>; 1409 dma-n 1382 dma-names = "rx", "tx"; 1410 inter 1383 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 1411 statu 1384 status = "disabled"; 1412 }; 1385 }; 1413 1386 1414 sai2: sai@30c 1387 sai2: sai@30c20000 { 1415 compa 1388 compatible = "fsl,imx8mp-sai", "fsl,imx8mq-sai"; 1416 reg = 1389 reg = <0x30c20000 0x10000>; 1417 #soun 1390 #sound-dai-cells = <0>; 1418 clock 1391 clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI2_IPG>, 1419 1392 <&clk IMX8MP_CLK_DUMMY>, 1420 1393 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI2_MCLK1>, 1421 1394 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI2_MCLK2>, 1422 1395 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI2_MCLK3>; 1423 clock 1396 clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3"; 1424 dmas 1397 dmas = <&sdma2 2 2 0>, <&sdma2 3 2 0>; 1425 dma-n 1398 dma-names = "rx", "tx"; 1426 inter 1399 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 1427 statu 1400 status = "disabled"; 1428 }; 1401 }; 1429 1402 1430 sai3: sai@30c 1403 sai3: sai@30c30000 { 1431 compa 1404 compatible = "fsl,imx8mp-sai", "fsl,imx8mq-sai"; 1432 reg = 1405 reg = <0x30c30000 0x10000>; 1433 #soun 1406 #sound-dai-cells = <0>; 1434 clock 1407 clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_IPG>, 1435 1408 <&clk IMX8MP_CLK_DUMMY>, 1436 1409 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_MCLK1>, 1437 1410 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_MCLK2>, 1438 1411 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI3_MCLK3>; 1439 clock 1412 clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3"; 1440 dmas 1413 dmas = <&sdma2 4 2 0>, <&sdma2 5 2 0>; 1441 dma-n 1414 dma-names = "rx", "tx"; 1442 inter 1415 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 1443 statu 1416 status = "disabled"; 1444 }; 1417 }; 1445 1418 1446 sai5: sai@30c 1419 sai5: sai@30c50000 { 1447 compa 1420 compatible = "fsl,imx8mp-sai", "fsl,imx8mq-sai"; 1448 reg = 1421 reg = <0x30c50000 0x10000>; 1449 #soun 1422 #sound-dai-cells = <0>; 1450 clock 1423 clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI5_IPG>, 1451 1424 <&clk IMX8MP_CLK_DUMMY>, 1452 1425 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI5_MCLK1>, 1453 1426 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI5_MCLK2>, 1454 1427 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI5_MCLK3>; 1455 clock 1428 clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3"; 1456 dmas 1429 dmas = <&sdma2 8 2 0>, <&sdma2 9 2 0>; 1457 dma-n 1430 dma-names = "rx", "tx"; 1458 inter 1431 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 1459 statu 1432 status = "disabled"; 1460 }; 1433 }; 1461 1434 1462 sai6: sai@30c 1435 sai6: sai@30c60000 { 1463 compa 1436 compatible = "fsl,imx8mp-sai", "fsl,imx8mq-sai"; 1464 reg = 1437 reg = <0x30c60000 0x10000>; 1465 #soun 1438 #sound-dai-cells = <0>; 1466 clock 1439 clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI6_IPG>, 1467 1440 <&clk IMX8MP_CLK_DUMMY>, 1468 1441 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI6_MCLK1>, 1469 1442 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI6_MCLK2>, 1470 1443 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI6_MCLK3>; 1471 clock 1444 clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3"; 1472 dmas 1445 dmas = <&sdma2 10 2 0>, <&sdma2 11 2 0>; 1473 dma-n 1446 dma-names = "rx", "tx"; 1474 inter 1447 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 1475 statu 1448 status = "disabled"; 1476 }; 1449 }; 1477 1450 1478 sai7: sai@30c 1451 sai7: sai@30c80000 { 1479 compa 1452 compatible = "fsl,imx8mp-sai", "fsl,imx8mq-sai"; 1480 reg = 1453 reg = <0x30c80000 0x10000>; 1481 #soun 1454 #sound-dai-cells = <0>; 1482 clock 1455 clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI7_IPG>, 1483 1456 <&clk IMX8MP_CLK_DUMMY>, 1484 1457 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI7_MCLK1>, 1485 1458 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI7_MCLK2>, 1486 1459 <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI7_MCLK3>; 1487 clock 1460 clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3"; 1488 dmas 1461 dmas = <&sdma2 12 2 0>, <&sdma2 13 2 0>; 1489 dma-n 1462 dma-names = "rx", "tx"; 1490 inter 1463 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 1491 statu 1464 status = "disabled"; 1492 }; 1465 }; 1493 << 1494 easrc: easrc@ << 1495 compa << 1496 reg = << 1497 inter << 1498 clock << 1499 clock << 1500 dmas << 1501 << 1502 << 1503 << 1504 dma-n << 1505 << 1506 << 1507 << 1508 firmw << 1509 fsl,a << 1510 fsl,a << 1511 statu << 1512 }; << 1513 << 1514 micfil: audio << 1515 compa << 1516 reg = << 1517 #soun << 1518 inter << 1519 << 1520 << 1521 << 1522 clock << 1523 << 1524 << 1525 << 1526 << 1527 clock << 1528 << 1529 dmas << 1530 dma-n << 1531 statu << 1532 }; << 1533 << 1534 aud2htx: aud2 << 1535 compa << 1536 reg = << 1537 inter << 1538 clock << 1539 clock << 1540 dmas << 1541 dma-n << 1542 statu << 1543 }; << 1544 << 1545 xcvr: xcvr@30 << 1546 compa << 1547 reg = << 1548 << 1549 << 1550 << 1551 reg-n << 1552 << 1553 inter << 1554 << 1555 << 1556 << 1557 << 1558 << 1559 clock << 1560 << 1561 << 1562 << 1563 clock << 1564 dmas << 1565 dma-n << 1566 reset << 1567 statu << 1568 }; << 1569 }; 1466 }; 1570 1467 1571 sdma3: dma-controller 1468 sdma3: dma-controller@30e00000 { 1572 compatible = 1469 compatible = "fsl,imx8mp-sdma", "fsl,imx8mq-sdma"; 1573 reg = <0x30e0 1470 reg = <0x30e00000 0x10000>; 1574 #dma-cells = 1471 #dma-cells = <3>; 1575 clocks = <&au 1472 clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SDMA3_ROOT>, 1576 <&cl 1473 <&clk IMX8MP_CLK_AUDIO_ROOT>; 1577 clock-names = 1474 clock-names = "ipg", "ahb"; 1578 interrupts = 1475 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 1579 fsl,sdma-ram- 1476 fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin"; 1580 }; 1477 }; 1581 1478 1582 sdma2: dma-controller 1479 sdma2: dma-controller@30e10000 { 1583 compatible = 1480 compatible = "fsl,imx8mp-sdma", "fsl,imx8mq-sdma"; 1584 reg = <0x30e1 1481 reg = <0x30e10000 0x10000>; 1585 #dma-cells = 1482 #dma-cells = <3>; 1586 clocks = <&au 1483 clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SDMA2_ROOT>, 1587 <&cl 1484 <&clk IMX8MP_CLK_AUDIO_ROOT>; 1588 clock-names = 1485 clock-names = "ipg", "ahb"; 1589 interrupts = 1486 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 1590 fsl,sdma-ram- 1487 fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin"; 1591 }; 1488 }; 1592 1489 1593 audio_blk_ctrl: clock 1490 audio_blk_ctrl: clock-controller@30e20000 { 1594 compatible = 1491 compatible = "fsl,imx8mp-audio-blk-ctrl"; 1595 reg = <0x30e2 1492 reg = <0x30e20000 0x10000>; 1596 #clock-cells 1493 #clock-cells = <1>; 1597 #reset-cells << 1598 clocks = <&cl 1494 clocks = <&clk IMX8MP_CLK_AUDIO_ROOT>, 1599 <&cl 1495 <&clk IMX8MP_CLK_SAI1>, 1600 <&cl 1496 <&clk IMX8MP_CLK_SAI2>, 1601 <&cl 1497 <&clk IMX8MP_CLK_SAI3>, 1602 <&cl 1498 <&clk IMX8MP_CLK_SAI5>, 1603 <&cl 1499 <&clk IMX8MP_CLK_SAI6>, 1604 <&cl 1500 <&clk IMX8MP_CLK_SAI7>; 1605 clock-names = 1501 clock-names = "ahb", 1606 1502 "sai1", "sai2", "sai3", 1607 1503 "sai5", "sai6", "sai7"; 1608 power-domains 1504 power-domains = <&pgc_audio>; 1609 assigned-cloc << 1610 << 1611 assigned-cloc << 1612 }; 1505 }; 1613 }; 1506 }; 1614 1507 1615 noc: interconnect@32700000 { 1508 noc: interconnect@32700000 { 1616 compatible = "fsl,imx 1509 compatible = "fsl,imx8mp-noc", "fsl,imx8m-noc"; 1617 reg = <0x32700000 0x1 1510 reg = <0x32700000 0x100000>; 1618 clocks = <&clk IMX8MP 1511 clocks = <&clk IMX8MP_CLK_NOC>; 1619 #interconnect-cells = 1512 #interconnect-cells = <1>; 1620 operating-points-v2 = 1513 operating-points-v2 = <&noc_opp_table>; 1621 1514 1622 noc_opp_table: opp-ta 1515 noc_opp_table: opp-table { 1623 compatible = 1516 compatible = "operating-points-v2"; 1624 1517 1625 opp-200000000 1518 opp-200000000 { 1626 opp-h 1519 opp-hz = /bits/ 64 <200000000>; 1627 }; 1520 }; 1628 1521 1629 opp-100000000 1522 opp-1000000000 { 1630 opp-h 1523 opp-hz = /bits/ 64 <1000000000>; 1631 }; 1524 }; 1632 }; 1525 }; 1633 }; 1526 }; 1634 1527 1635 aips4: bus@32c00000 { 1528 aips4: bus@32c00000 { 1636 compatible = "fsl,aip 1529 compatible = "fsl,aips-bus", "simple-bus"; 1637 reg = <0x32c00000 0x4 1530 reg = <0x32c00000 0x400000>; 1638 #address-cells = <1>; 1531 #address-cells = <1>; 1639 #size-cells = <1>; 1532 #size-cells = <1>; 1640 ranges; 1533 ranges; 1641 1534 1642 isi_0: isi@32e00000 { 1535 isi_0: isi@32e00000 { 1643 compatible = 1536 compatible = "fsl,imx8mp-isi"; 1644 reg = <0x32e0 1537 reg = <0x32e00000 0x4000>; 1645 interrupts = 1538 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>, 1646 1539 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 1647 clocks = <&cl 1540 clocks = <&clk IMX8MP_CLK_MEDIA_AXI_ROOT>, 1648 <&cl 1541 <&clk IMX8MP_CLK_MEDIA_APB_ROOT>; 1649 clock-names = 1542 clock-names = "axi", "apb"; 1650 fsl,blk-ctrl 1543 fsl,blk-ctrl = <&media_blk_ctrl>; 1651 power-domains 1544 power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_ISI>; 1652 status = "dis 1545 status = "disabled"; 1653 1546 1654 ports { 1547 ports { 1655 #addr 1548 #address-cells = <1>; 1656 #size 1549 #size-cells = <0>; 1657 1550 1658 port@ 1551 port@0 { 1659 1552 reg = <0>; 1660 1553 1661 1554 isi_in_0: endpoint { 1662 1555 remote-endpoint = <&mipi_csi_0_out>; 1663 1556 }; 1664 }; 1557 }; 1665 1558 1666 port@ 1559 port@1 { 1667 1560 reg = <1>; 1668 1561 1669 1562 isi_in_1: endpoint { 1670 1563 remote-endpoint = <&mipi_csi_1_out>; 1671 1564 }; 1672 }; 1565 }; 1673 }; 1566 }; 1674 }; 1567 }; 1675 1568 1676 isp_0: isp@32e10000 { << 1677 compatible = << 1678 reg = <0x32e1 << 1679 interrupts = << 1680 clocks = <&cl << 1681 <&cl << 1682 <&cl << 1683 clock-names = << 1684 power-domains << 1685 fsl,blk-ctrl << 1686 status = "dis << 1687 << 1688 ports { << 1689 #addr << 1690 #size << 1691 << 1692 port@ << 1693 << 1694 }; << 1695 }; << 1696 }; << 1697 << 1698 isp_1: isp@32e20000 { << 1699 compatible = << 1700 reg = <0x32e2 << 1701 interrupts = << 1702 clocks = <&cl << 1703 <&cl << 1704 <&cl << 1705 clock-names = << 1706 power-domains << 1707 fsl,blk-ctrl << 1708 status = "dis << 1709 << 1710 ports { << 1711 #addr << 1712 #size << 1713 << 1714 port@ << 1715 << 1716 }; << 1717 }; << 1718 }; << 1719 << 1720 dewarp: dwe@32e30000 1569 dewarp: dwe@32e30000 { 1721 compatible = 1570 compatible = "nxp,imx8mp-dw100"; 1722 reg = <0x32e3 1571 reg = <0x32e30000 0x10000>; 1723 interrupts = 1572 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 1724 clocks = <&cl 1573 clocks = <&clk IMX8MP_CLK_MEDIA_AXI_ROOT>, 1725 <&cl 1574 <&clk IMX8MP_CLK_MEDIA_APB_ROOT>; 1726 clock-names = 1575 clock-names = "axi", "ahb"; 1727 power-domains 1576 power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_DWE>; 1728 }; 1577 }; 1729 1578 1730 mipi_csi_0: csi@32e40 1579 mipi_csi_0: csi@32e40000 { 1731 compatible = 1580 compatible = "fsl,imx8mp-mipi-csi2", "fsl,imx8mm-mipi-csi2"; 1732 reg = <0x32e4 1581 reg = <0x32e40000 0x10000>; 1733 interrupts = 1582 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 1734 clock-frequen !! 1583 clock-frequency = <500000000>; 1735 clocks = <&cl 1584 clocks = <&clk IMX8MP_CLK_MEDIA_APB_ROOT>, 1736 <&cl 1585 <&clk IMX8MP_CLK_MEDIA_CAM1_PIX_ROOT>, 1737 <&cl 1586 <&clk IMX8MP_CLK_MEDIA_MIPI_PHY1_REF_ROOT>, 1738 <&cl 1587 <&clk IMX8MP_CLK_MEDIA_AXI_ROOT>; 1739 clock-names = 1588 clock-names = "pclk", "wrap", "phy", "axi"; 1740 assigned-cloc !! 1589 assigned-clocks = <&clk IMX8MP_CLK_MEDIA_CAM1_PIX>; 1741 !! 1590 assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_1000M>; 1742 assigned-cloc !! 1591 assigned-clock-rates = <500000000>; 1743 << 1744 power-domains 1592 power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_MIPI_CSI2_1>; 1745 status = "dis 1593 status = "disabled"; 1746 1594 1747 ports { 1595 ports { 1748 #addr 1596 #address-cells = <1>; 1749 #size 1597 #size-cells = <0>; 1750 1598 1751 port@ 1599 port@0 { 1752 1600 reg = <0>; 1753 }; 1601 }; 1754 1602 1755 port@ 1603 port@1 { 1756 1604 reg = <1>; 1757 1605 1758 1606 mipi_csi_0_out: endpoint { 1759 1607 remote-endpoint = <&isi_in_0>; 1760 1608 }; 1761 }; 1609 }; 1762 }; 1610 }; 1763 }; 1611 }; 1764 1612 1765 mipi_csi_1: csi@32e50 1613 mipi_csi_1: csi@32e50000 { 1766 compatible = 1614 compatible = "fsl,imx8mp-mipi-csi2", "fsl,imx8mm-mipi-csi2"; 1767 reg = <0x32e5 1615 reg = <0x32e50000 0x10000>; 1768 interrupts = 1616 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 1769 clock-frequen !! 1617 clock-frequency = <266000000>; 1770 clocks = <&cl 1618 clocks = <&clk IMX8MP_CLK_MEDIA_APB_ROOT>, 1771 <&cl 1619 <&clk IMX8MP_CLK_MEDIA_CAM2_PIX_ROOT>, 1772 <&cl 1620 <&clk IMX8MP_CLK_MEDIA_MIPI_PHY1_REF_ROOT>, 1773 <&cl 1621 <&clk IMX8MP_CLK_MEDIA_AXI_ROOT>; 1774 clock-names = 1622 clock-names = "pclk", "wrap", "phy", "axi"; 1775 assigned-cloc !! 1623 assigned-clocks = <&clk IMX8MP_CLK_MEDIA_CAM2_PIX>; 1776 !! 1624 assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_1000M>; 1777 assigned-cloc !! 1625 assigned-clock-rates = <266000000>; 1778 << 1779 power-domains 1626 power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_MIPI_CSI2_2>; 1780 status = "dis 1627 status = "disabled"; 1781 1628 1782 ports { 1629 ports { 1783 #addr 1630 #address-cells = <1>; 1784 #size 1631 #size-cells = <0>; 1785 1632 1786 port@ 1633 port@0 { 1787 1634 reg = <0>; 1788 }; 1635 }; 1789 1636 1790 port@ 1637 port@1 { 1791 1638 reg = <1>; 1792 1639 1793 1640 mipi_csi_1_out: endpoint { 1794 1641 remote-endpoint = <&isi_in_1>; 1795 1642 }; 1796 }; 1643 }; 1797 }; 1644 }; 1798 }; 1645 }; 1799 1646 1800 mipi_dsi: dsi@32e6000 1647 mipi_dsi: dsi@32e60000 { 1801 compatible = 1648 compatible = "fsl,imx8mp-mipi-dsim"; 1802 reg = <0x32e6 1649 reg = <0x32e60000 0x400>; 1803 clocks = <&cl 1650 clocks = <&clk IMX8MP_CLK_MEDIA_APB_ROOT>, 1804 <&cl 1651 <&clk IMX8MP_CLK_MEDIA_MIPI_PHY1_REF>; 1805 clock-names = 1652 clock-names = "bus_clk", "sclk_mipi"; 1806 assigned-cloc 1653 assigned-clocks = <&clk IMX8MP_CLK_MEDIA_APB>, 1807 1654 <&clk IMX8MP_CLK_MEDIA_MIPI_PHY1_REF>; 1808 assigned-cloc 1655 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>, 1809 1656 <&clk IMX8MP_CLK_24M>; 1810 assigned-cloc 1657 assigned-clock-rates = <200000000>, <24000000>; 1811 samsung,pll-c 1658 samsung,pll-clock-frequency = <24000000>; 1812 interrupts = 1659 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 1813 power-domains 1660 power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_MIPI_DSI_1>; 1814 status = "dis 1661 status = "disabled"; 1815 1662 1816 ports { 1663 ports { 1817 #addr 1664 #address-cells = <1>; 1818 #size 1665 #size-cells = <0>; 1819 1666 1820 port@ 1667 port@0 { 1821 1668 reg = <0>; 1822 1669 1823 1670 dsim_from_lcdif1: endpoint { 1824 1671 remote-endpoint = <&lcdif1_to_dsim>; 1825 1672 }; 1826 }; 1673 }; 1827 << 1828 port@ << 1829 << 1830 << 1831 << 1832 << 1833 }; << 1834 }; 1674 }; 1835 }; 1675 }; 1836 1676 1837 lcdif1: display-contr 1677 lcdif1: display-controller@32e80000 { 1838 compatible = 1678 compatible = "fsl,imx8mp-lcdif"; 1839 reg = <0x32e8 1679 reg = <0x32e80000 0x10000>; 1840 clocks = <&cl 1680 clocks = <&clk IMX8MP_CLK_MEDIA_DISP1_PIX_ROOT>, 1841 <&cl 1681 <&clk IMX8MP_CLK_MEDIA_APB_ROOT>, 1842 <&cl 1682 <&clk IMX8MP_CLK_MEDIA_AXI_ROOT>; 1843 clock-names = 1683 clock-names = "pix", "axi", "disp_axi"; 1844 interrupts = 1684 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 1845 power-domains 1685 power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_LCDIF_1>; 1846 status = "dis 1686 status = "disabled"; 1847 1687 1848 port { 1688 port { 1849 lcdif 1689 lcdif1_to_dsim: endpoint { 1850 1690 remote-endpoint = <&dsim_from_lcdif1>; 1851 }; 1691 }; 1852 }; 1692 }; 1853 }; 1693 }; 1854 1694 1855 lcdif2: display-contr 1695 lcdif2: display-controller@32e90000 { 1856 compatible = 1696 compatible = "fsl,imx8mp-lcdif"; 1857 reg = <0x32e9 1697 reg = <0x32e90000 0x10000>; 1858 interrupts = 1698 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 1859 clocks = <&cl 1699 clocks = <&clk IMX8MP_CLK_MEDIA_DISP2_PIX_ROOT>, 1860 <&cl 1700 <&clk IMX8MP_CLK_MEDIA_APB_ROOT>, 1861 <&cl 1701 <&clk IMX8MP_CLK_MEDIA_AXI_ROOT>; 1862 clock-names = 1702 clock-names = "pix", "axi", "disp_axi"; 1863 power-domains 1703 power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_LCDIF_2>; 1864 status = "dis 1704 status = "disabled"; 1865 1705 1866 port { 1706 port { 1867 lcdif 1707 lcdif2_to_ldb: endpoint { 1868 1708 remote-endpoint = <&ldb_from_lcdif2>; 1869 }; 1709 }; 1870 }; 1710 }; 1871 }; 1711 }; 1872 1712 1873 media_blk_ctrl: blk-c 1713 media_blk_ctrl: blk-ctrl@32ec0000 { 1874 compatible = 1714 compatible = "fsl,imx8mp-media-blk-ctrl", 1875 1715 "syscon"; 1876 reg = <0x32ec 1716 reg = <0x32ec0000 0x10000>; 1877 #address-cell 1717 #address-cells = <1>; 1878 #size-cells = 1718 #size-cells = <1>; 1879 power-domains 1719 power-domains = <&pgc_mediamix>, 1880 1720 <&pgc_mipi_phy1>, 1881 1721 <&pgc_mipi_phy1>, 1882 1722 <&pgc_mediamix>, 1883 1723 <&pgc_mediamix>, 1884 1724 <&pgc_mipi_phy2>, 1885 1725 <&pgc_mediamix>, 1886 1726 <&pgc_ispdwp>, 1887 1727 <&pgc_ispdwp>, 1888 1728 <&pgc_mipi_phy2>; 1889 power-domain- 1729 power-domain-names = "bus", "mipi-dsi1", "mipi-csi1", 1890 1730 "lcdif1", "isi", "mipi-csi2", 1891 1731 "lcdif2", "isp", "dwe", 1892 1732 "mipi-dsi2"; 1893 interconnects 1733 interconnects = 1894 <&noc 1734 <&noc IMX8MP_ICM_LCDIF_RD &noc IMX8MP_ICN_MEDIA>, 1895 <&noc 1735 <&noc IMX8MP_ICM_LCDIF_WR &noc IMX8MP_ICN_MEDIA>, 1896 <&noc 1736 <&noc IMX8MP_ICM_ISI0 &noc IMX8MP_ICN_MEDIA>, 1897 <&noc 1737 <&noc IMX8MP_ICM_ISI1 &noc IMX8MP_ICN_MEDIA>, 1898 <&noc 1738 <&noc IMX8MP_ICM_ISI2 &noc IMX8MP_ICN_MEDIA>, 1899 <&noc 1739 <&noc IMX8MP_ICM_ISP0 &noc IMX8MP_ICN_MEDIA>, 1900 <&noc 1740 <&noc IMX8MP_ICM_ISP1 &noc IMX8MP_ICN_MEDIA>, 1901 <&noc 1741 <&noc IMX8MP_ICM_DWE &noc IMX8MP_ICN_MEDIA>; 1902 interconnect- 1742 interconnect-names = "lcdif-rd", "lcdif-wr", "isi0", 1903 1743 "isi1", "isi2", "isp0", "isp1", 1904 1744 "dwe"; 1905 clocks = <&cl 1745 clocks = <&clk IMX8MP_CLK_MEDIA_APB_ROOT>, 1906 <&cl 1746 <&clk IMX8MP_CLK_MEDIA_AXI_ROOT>, 1907 <&cl 1747 <&clk IMX8MP_CLK_MEDIA_CAM1_PIX_ROOT>, 1908 <&cl 1748 <&clk IMX8MP_CLK_MEDIA_CAM2_PIX_ROOT>, 1909 <&cl 1749 <&clk IMX8MP_CLK_MEDIA_DISP1_PIX_ROOT>, 1910 <&cl 1750 <&clk IMX8MP_CLK_MEDIA_DISP2_PIX_ROOT>, 1911 <&cl 1751 <&clk IMX8MP_CLK_MEDIA_ISP_ROOT>, 1912 <&cl 1752 <&clk IMX8MP_CLK_MEDIA_MIPI_PHY1_REF_ROOT>; 1913 clock-names = 1753 clock-names = "apb", "axi", "cam1", "cam2", 1914 1754 "disp1", "disp2", "isp", "phy"; 1915 1755 1916 /* << 1917 * The ISP ma << 1918 * and 500MHz << 1919 * point hasn << 1920 * IMX8MP_CLK << 1921 */ << 1922 assigned-cloc 1756 assigned-clocks = <&clk IMX8MP_CLK_MEDIA_AXI>, 1923 1757 <&clk IMX8MP_CLK_MEDIA_APB>, 1924 1758 <&clk IMX8MP_CLK_MEDIA_DISP1_PIX>, 1925 1759 <&clk IMX8MP_CLK_MEDIA_DISP2_PIX>, 1926 << 1927 1760 <&clk IMX8MP_VIDEO_PLL1>; 1928 assigned-cloc 1761 assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_1000M>, 1929 1762 <&clk IMX8MP_SYS_PLL1_800M>, 1930 1763 <&clk IMX8MP_VIDEO_PLL1_OUT>, 1931 !! 1764 <&clk IMX8MP_VIDEO_PLL1_OUT>; 1932 << 1933 assigned-cloc 1765 assigned-clock-rates = <500000000>, <200000000>, 1934 !! 1766 <0>, <0>, <1039500000>; 1935 << 1936 #power-domain 1767 #power-domain-cells = <1>; 1937 1768 1938 lvds_bridge: 1769 lvds_bridge: bridge@5c { 1939 compa 1770 compatible = "fsl,imx8mp-ldb"; 1940 reg = 1771 reg = <0x5c 0x4>, <0x128 0x4>; 1941 reg-n 1772 reg-names = "ldb", "lvds"; 1942 clock !! 1773 clocks = <&clk IMX8MP_CLK_MEDIA_LDB>; 1943 clock 1774 clock-names = "ldb"; 1944 assig 1775 assigned-clocks = <&clk IMX8MP_CLK_MEDIA_LDB>; 1945 assig 1776 assigned-clock-parents = <&clk IMX8MP_VIDEO_PLL1_OUT>; 1946 statu 1777 status = "disabled"; 1947 1778 1948 ports 1779 ports { 1949 1780 #address-cells = <1>; 1950 1781 #size-cells = <0>; 1951 1782 1952 1783 port@0 { 1953 1784 reg = <0>; 1954 1785 1955 1786 ldb_from_lcdif2: endpoint { 1956 1787 remote-endpoint = <&lcdif2_to_ldb>; 1957 1788 }; 1958 1789 }; 1959 1790 1960 1791 port@1 { 1961 1792 reg = <1>; 1962 1793 1963 1794 ldb_lvds_ch0: endpoint { 1964 1795 }; 1965 1796 }; 1966 1797 1967 1798 port@2 { 1968 1799 reg = <2>; 1969 1800 1970 1801 ldb_lvds_ch1: endpoint { 1971 1802 }; 1972 1803 }; 1973 }; 1804 }; 1974 }; 1805 }; 1975 }; 1806 }; 1976 1807 1977 pcie_phy: pcie-phy@32 1808 pcie_phy: pcie-phy@32f00000 { 1978 compatible = 1809 compatible = "fsl,imx8mp-pcie-phy"; 1979 reg = <0x32f0 1810 reg = <0x32f00000 0x10000>; 1980 resets = <&sr 1811 resets = <&src IMX8MP_RESET_PCIEPHY>, 1981 <&sr 1812 <&src IMX8MP_RESET_PCIEPHY_PERST>; 1982 reset-names = 1813 reset-names = "pciephy", "perst"; 1983 power-domains 1814 power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_PCIE_PHY>; 1984 #phy-cells = 1815 #phy-cells = <0>; 1985 status = "dis 1816 status = "disabled"; 1986 }; 1817 }; 1987 1818 1988 hsio_blk_ctrl: blk-ct 1819 hsio_blk_ctrl: blk-ctrl@32f10000 { 1989 compatible = 1820 compatible = "fsl,imx8mp-hsio-blk-ctrl", "syscon"; 1990 reg = <0x32f1 1821 reg = <0x32f10000 0x24>; 1991 clocks = <&cl 1822 clocks = <&clk IMX8MP_CLK_USB_ROOT>, 1992 <&cl 1823 <&clk IMX8MP_CLK_PCIE_ROOT>; 1993 clock-names = 1824 clock-names = "usb", "pcie"; 1994 power-domains 1825 power-domains = <&pgc_hsiomix>, <&pgc_hsiomix>, 1995 1826 <&pgc_usb1_phy>, <&pgc_usb2_phy>, 1996 1827 <&pgc_hsiomix>, <&pgc_pcie_phy>; 1997 power-domain- 1828 power-domain-names = "bus", "usb", "usb-phy1", 1998 1829 "usb-phy2", "pcie", "pcie-phy"; 1999 interconnects 1830 interconnects = <&noc IMX8MP_ICM_NOC_PCIE &noc IMX8MP_ICN_HSIO>, 2000 1831 <&noc IMX8MP_ICM_USB1 &noc IMX8MP_ICN_HSIO>, 2001 1832 <&noc IMX8MP_ICM_USB2 &noc IMX8MP_ICN_HSIO>, 2002 1833 <&noc IMX8MP_ICM_PCIE &noc IMX8MP_ICN_HSIO>; 2003 interconnect- 1834 interconnect-names = "noc-pcie", "usb1", "usb2", "pcie"; 2004 #power-domain 1835 #power-domain-cells = <1>; 2005 #clock-cells 1836 #clock-cells = <0>; 2006 }; 1837 }; 2007 << 2008 hdmi_blk_ctrl: blk-ct << 2009 compatible = << 2010 reg = <0x32fc << 2011 clocks = <&cl << 2012 <&cl << 2013 <&cl << 2014 <&cl << 2015 <&cl << 2016 clock-names = << 2017 power-domains << 2018 << 2019 << 2020 << 2021 << 2022 power-domain- << 2023 << 2024 << 2025 << 2026 #power-domain << 2027 }; << 2028 << 2029 irqsteer_hdmi: interr << 2030 compatible = << 2031 reg = <0x32fc << 2032 interrupts = << 2033 interrupt-con << 2034 #interrupt-ce << 2035 fsl,channel = << 2036 fsl,num-irqs << 2037 clocks = <&cl << 2038 clock-names = << 2039 power-domains << 2040 }; << 2041 << 2042 hdmi_pvi: display-bri << 2043 compatible = << 2044 reg = <0x32fc << 2045 interrupt-par << 2046 interrupts = << 2047 power-domains << 2048 status = "dis << 2049 << 2050 ports { << 2051 #addr << 2052 #size << 2053 << 2054 port@ << 2055 << 2056 << 2057 << 2058 << 2059 }; << 2060 << 2061 port@ << 2062 << 2063 << 2064 << 2065 << 2066 }; << 2067 }; << 2068 }; << 2069 << 2070 lcdif3: display-contr << 2071 compatible = << 2072 reg = <0x32fc << 2073 interrupt-par << 2074 interrupts = << 2075 clocks = <&hd << 2076 <&cl << 2077 <&cl << 2078 clock-names = << 2079 power-domains << 2080 status = "dis << 2081 << 2082 port { << 2083 lcdif << 2084 << 2085 }; << 2086 }; << 2087 }; << 2088 << 2089 hdmi_tx: hdmi@32fd800 << 2090 compatible = << 2091 reg = <0x32fd << 2092 interrupt-par << 2093 interrupts = << 2094 clocks = <&cl << 2095 <&cl << 2096 <&cl << 2097 <&hd << 2098 clock-names = << 2099 assigned-cloc << 2100 assigned-cloc << 2101 power-domains << 2102 reg-io-width << 2103 status = "dis << 2104 << 2105 ports { << 2106 #addr << 2107 #size << 2108 << 2109 port@ << 2110 << 2111 << 2112 << 2113 << 2114 << 2115 }; << 2116 << 2117 port@ << 2118 << 2119 << 2120 }; << 2121 }; << 2122 }; << 2123 << 2124 hdmi_tx_phy: phy@32fd << 2125 compatible = << 2126 reg = <0x32fd << 2127 clocks = <&cl << 2128 <&cl << 2129 clock-names = << 2130 assigned-cloc << 2131 assigned-cloc << 2132 power-domains << 2133 #clock-cells << 2134 #phy-cells = << 2135 status = "dis << 2136 }; << 2137 }; 1838 }; 2138 1839 2139 pcie: pcie@33800000 { 1840 pcie: pcie@33800000 { 2140 compatible = "fsl,imx 1841 compatible = "fsl,imx8mp-pcie"; 2141 reg = <0x33800000 0x4 1842 reg = <0x33800000 0x400000>, <0x1ff00000 0x80000>; 2142 reg-names = "dbi", "c 1843 reg-names = "dbi", "config"; 2143 clocks = <&clk IMX8MP 1844 clocks = <&clk IMX8MP_CLK_HSIO_ROOT>, 2144 <&clk IMX8MP 1845 <&clk IMX8MP_CLK_HSIO_AXI>, 2145 <&clk IMX8MP 1846 <&clk IMX8MP_CLK_PCIE_ROOT>; 2146 clock-names = "pcie", 1847 clock-names = "pcie", "pcie_bus", "pcie_aux"; 2147 assigned-clocks = <&c 1848 assigned-clocks = <&clk IMX8MP_CLK_PCIE_AUX>; 2148 assigned-clock-rates 1849 assigned-clock-rates = <10000000>; 2149 assigned-clock-parent 1850 assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_50M>; 2150 #address-cells = <3>; 1851 #address-cells = <3>; 2151 #size-cells = <2>; 1852 #size-cells = <2>; 2152 device_type = "pci"; 1853 device_type = "pci"; 2153 bus-range = <0x00 0xf 1854 bus-range = <0x00 0xff>; 2154 ranges = <0x81000000 !! 1855 ranges = <0x81000000 0 0x00000000 0x1ff80000 0 0x00010000>, /* downstream I/O 64KB */ 2155 <0x82000000 !! 1856 <0x82000000 0 0x18000000 0x18000000 0 0x07f00000>; /* non-prefetchable memory */ 2156 num-lanes = <1>; 1857 num-lanes = <1>; 2157 num-viewport = <4>; 1858 num-viewport = <4>; 2158 interrupts = <GIC_SPI 1859 interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>; 2159 interrupt-names = "ms 1860 interrupt-names = "msi"; 2160 #interrupt-cells = <1 1861 #interrupt-cells = <1>; 2161 interrupt-map-mask = 1862 interrupt-map-mask = <0 0 0 0x7>; 2162 interrupt-map = <0 0 1863 interrupt-map = <0 0 0 1 &gic GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>, 2163 <0 0 1864 <0 0 0 2 &gic GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>, 2164 <0 0 1865 <0 0 0 3 &gic GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>, 2165 <0 0 1866 <0 0 0 4 &gic GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; 2166 fsl,max-link-speed = 1867 fsl,max-link-speed = <3>; 2167 linux,pci-domain = <0 1868 linux,pci-domain = <0>; 2168 power-domains = <&hsi 1869 power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_PCIE>; 2169 resets = <&src IMX8MP 1870 resets = <&src IMX8MP_RESET_PCIE_CTRL_APPS_EN>, 2170 <&src IMX8MP 1871 <&src IMX8MP_RESET_PCIE_CTRL_APPS_TURNOFF>; 2171 reset-names = "apps", 1872 reset-names = "apps", "turnoff"; 2172 phys = <&pcie_phy>; 1873 phys = <&pcie_phy>; 2173 phy-names = "pcie-phy 1874 phy-names = "pcie-phy"; 2174 status = "disabled"; 1875 status = "disabled"; 2175 }; 1876 }; 2176 1877 2177 pcie_ep: pcie-ep@33800000 { 1878 pcie_ep: pcie-ep@33800000 { 2178 compatible = "fsl,imx 1879 compatible = "fsl,imx8mp-pcie-ep"; 2179 reg = <0x33800000 0x0 1880 reg = <0x33800000 0x000400000>, <0x18000000 0x08000000>; 2180 reg-names = "dbi", "a 1881 reg-names = "dbi", "addr_space"; 2181 clocks = <&clk IMX8MP 1882 clocks = <&clk IMX8MP_CLK_HSIO_ROOT>, 2182 <&clk IMX8MP 1883 <&clk IMX8MP_CLK_HSIO_AXI>, 2183 <&clk IMX8MP 1884 <&clk IMX8MP_CLK_PCIE_ROOT>; 2184 clock-names = "pcie", 1885 clock-names = "pcie", "pcie_bus", "pcie_aux"; 2185 assigned-clocks = <&c 1886 assigned-clocks = <&clk IMX8MP_CLK_PCIE_AUX>; 2186 assigned-clock-rates 1887 assigned-clock-rates = <10000000>; 2187 assigned-clock-parent 1888 assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_50M>; 2188 num-lanes = <1>; 1889 num-lanes = <1>; 2189 interrupts = <GIC_SPI 1890 interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; /* eDMA */ 2190 interrupt-names = "dm 1891 interrupt-names = "dma"; 2191 fsl,max-link-speed = 1892 fsl,max-link-speed = <3>; 2192 power-domains = <&hsi 1893 power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_PCIE>; 2193 resets = <&src IMX8MP 1894 resets = <&src IMX8MP_RESET_PCIE_CTRL_APPS_EN>, 2194 <&src IMX8MP 1895 <&src IMX8MP_RESET_PCIE_CTRL_APPS_TURNOFF>; 2195 reset-names = "apps", 1896 reset-names = "apps", "turnoff"; 2196 phys = <&pcie_phy>; 1897 phys = <&pcie_phy>; 2197 phy-names = "pcie-phy 1898 phy-names = "pcie-phy"; 2198 num-ib-windows = <4>; 1899 num-ib-windows = <4>; 2199 num-ob-windows = <4>; 1900 num-ob-windows = <4>; 2200 status = "disabled"; 1901 status = "disabled"; 2201 }; 1902 }; 2202 1903 2203 gpu3d: gpu@38000000 { 1904 gpu3d: gpu@38000000 { 2204 compatible = "vivante 1905 compatible = "vivante,gc"; 2205 reg = <0x38000000 0x8 1906 reg = <0x38000000 0x8000>; 2206 interrupts = <GIC_SPI 1907 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 2207 clocks = <&clk IMX8MP 1908 clocks = <&clk IMX8MP_CLK_GPU3D_ROOT>, 2208 <&clk IMX8MP 1909 <&clk IMX8MP_CLK_GPU3D_SHADER_CORE>, 2209 <&clk IMX8MP 1910 <&clk IMX8MP_CLK_GPU_ROOT>, 2210 <&clk IMX8MP 1911 <&clk IMX8MP_CLK_GPU_AHB>; 2211 clock-names = "core", 1912 clock-names = "core", "shader", "bus", "reg"; 2212 assigned-clocks = <&c 1913 assigned-clocks = <&clk IMX8MP_CLK_GPU3D_CORE>, 2213 <&c 1914 <&clk IMX8MP_CLK_GPU3D_SHADER_CORE>; 2214 assigned-clock-parent 1915 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>, 2215 1916 <&clk IMX8MP_SYS_PLL1_800M>; 2216 assigned-clock-rates 1917 assigned-clock-rates = <800000000>, <800000000>; 2217 power-domains = <&pgc 1918 power-domains = <&pgc_gpu3d>; 2218 }; 1919 }; 2219 1920 2220 gpu2d: gpu@38008000 { 1921 gpu2d: gpu@38008000 { 2221 compatible = "vivante 1922 compatible = "vivante,gc"; 2222 reg = <0x38008000 0x8 1923 reg = <0x38008000 0x8000>; 2223 interrupts = <GIC_SPI 1924 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 2224 clocks = <&clk IMX8MP 1925 clocks = <&clk IMX8MP_CLK_GPU2D_ROOT>, 2225 <&clk IMX8MP 1926 <&clk IMX8MP_CLK_GPU_ROOT>, 2226 <&clk IMX8MP 1927 <&clk IMX8MP_CLK_GPU_AHB>; 2227 clock-names = "core", 1928 clock-names = "core", "bus", "reg"; 2228 assigned-clocks = <&c 1929 assigned-clocks = <&clk IMX8MP_CLK_GPU2D_CORE>; 2229 assigned-clock-parent 1930 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>; 2230 assigned-clock-rates 1931 assigned-clock-rates = <800000000>; 2231 power-domains = <&pgc 1932 power-domains = <&pgc_gpu2d>; 2232 }; 1933 }; 2233 1934 2234 vpu_g1: video-codec@38300000 1935 vpu_g1: video-codec@38300000 { 2235 compatible = "nxp,imx 1936 compatible = "nxp,imx8mm-vpu-g1"; 2236 reg = <0x38300000 0x1 1937 reg = <0x38300000 0x10000>; 2237 interrupts = <GIC_SPI 1938 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 2238 clocks = <&clk IMX8MP 1939 clocks = <&clk IMX8MP_CLK_VPU_G1_ROOT>; 2239 assigned-clocks = <&c 1940 assigned-clocks = <&clk IMX8MP_CLK_VPU_G1>; 2240 assigned-clock-parent 1941 assigned-clock-parents = <&clk IMX8MP_VPU_PLL_OUT>; 2241 assigned-clock-rates 1942 assigned-clock-rates = <600000000>; 2242 power-domains = <&vpu 1943 power-domains = <&vpumix_blk_ctrl IMX8MP_VPUBLK_PD_G1>; 2243 }; 1944 }; 2244 1945 2245 vpu_g2: video-codec@38310000 1946 vpu_g2: video-codec@38310000 { 2246 compatible = "nxp,imx 1947 compatible = "nxp,imx8mq-vpu-g2"; 2247 reg = <0x38310000 0x1 1948 reg = <0x38310000 0x10000>; 2248 interrupts = <GIC_SPI 1949 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 2249 clocks = <&clk IMX8MP 1950 clocks = <&clk IMX8MP_CLK_VPU_G2_ROOT>; 2250 assigned-clocks = <&c 1951 assigned-clocks = <&clk IMX8MP_CLK_VPU_G2>; 2251 assigned-clock-parent 1952 assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_1000M>; 2252 assigned-clock-rates 1953 assigned-clock-rates = <500000000>; 2253 power-domains = <&vpu 1954 power-domains = <&vpumix_blk_ctrl IMX8MP_VPUBLK_PD_G2>; 2254 }; 1955 }; 2255 1956 2256 vpumix_blk_ctrl: blk-ctrl@383 1957 vpumix_blk_ctrl: blk-ctrl@38330000 { 2257 compatible = "fsl,imx 1958 compatible = "fsl,imx8mp-vpu-blk-ctrl", "syscon"; 2258 reg = <0x38330000 0x1 1959 reg = <0x38330000 0x100>; 2259 #power-domain-cells = 1960 #power-domain-cells = <1>; 2260 power-domains = <&pgc 1961 power-domains = <&pgc_vpumix>, <&pgc_vpu_g1>, 2261 <&pgc 1962 <&pgc_vpu_g2>, <&pgc_vpu_vc8000e>; 2262 power-domain-names = 1963 power-domain-names = "bus", "g1", "g2", "vc8000e"; 2263 clocks = <&clk IMX8MP 1964 clocks = <&clk IMX8MP_CLK_VPU_G1_ROOT>, 2264 <&clk IMX8MP 1965 <&clk IMX8MP_CLK_VPU_G2_ROOT>, 2265 <&clk IMX8MP 1966 <&clk IMX8MP_CLK_VPU_VC8KE_ROOT>; 2266 clock-names = "g1", " 1967 clock-names = "g1", "g2", "vc8000e"; 2267 assigned-clocks = <&c 1968 assigned-clocks = <&clk IMX8MP_CLK_VPU_BUS>, <&clk IMX8MP_VPU_PLL>; 2268 assigned-clock-parent 1969 assigned-clock-parents = <&clk IMX8MP_VPU_PLL_OUT>; 2269 assigned-clock-rates 1970 assigned-clock-rates = <600000000>, <600000000>; 2270 interconnects = <&noc 1971 interconnects = <&noc IMX8MP_ICM_VPU_G1 &noc IMX8MP_ICN_VIDEO>, 2271 <&noc 1972 <&noc IMX8MP_ICM_VPU_G2 &noc IMX8MP_ICN_VIDEO>, 2272 <&noc 1973 <&noc IMX8MP_ICM_VPU_H1 &noc IMX8MP_ICN_VIDEO>; 2273 interconnect-names = 1974 interconnect-names = "g1", "g2", "vc8000e"; 2274 }; 1975 }; 2275 1976 2276 npu: npu@38500000 { << 2277 compatible = "vivante << 2278 reg = <0x38500000 0x2 << 2279 interrupts = <GIC_SPI << 2280 clocks = <&clk IMX8MP << 2281 <&clk IMX8MP << 2282 <&clk IMX8MP << 2283 <&clk IMX8MP << 2284 clock-names = "core", << 2285 power-domains = <&pgc << 2286 }; << 2287 << 2288 gic: interrupt-controller@388 1977 gic: interrupt-controller@38800000 { 2289 compatible = "arm,gic 1978 compatible = "arm,gic-v3"; 2290 reg = <0x38800000 0x1 1979 reg = <0x38800000 0x10000>, 2291 <0x38880000 0xc 1980 <0x38880000 0xc0000>; 2292 #interrupt-cells = <3 1981 #interrupt-cells = <3>; 2293 interrupt-controller; 1982 interrupt-controller; 2294 interrupts = <GIC_PPI 1983 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 2295 interrupt-parent = <& 1984 interrupt-parent = <&gic>; 2296 }; 1985 }; 2297 1986 2298 edacmc: memory-controller@3d4 1987 edacmc: memory-controller@3d400000 { 2299 compatible = "snps,dd 1988 compatible = "snps,ddrc-3.80a"; 2300 reg = <0x3d400000 0x4 1989 reg = <0x3d400000 0x400000>; 2301 interrupts = <GIC_SPI 1990 interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>; 2302 }; 1991 }; 2303 1992 2304 ddr-pmu@3d800000 { 1993 ddr-pmu@3d800000 { 2305 compatible = "fsl,imx 1994 compatible = "fsl,imx8mp-ddr-pmu", "fsl,imx8m-ddr-pmu"; 2306 reg = <0x3d800000 0x4 1995 reg = <0x3d800000 0x400000>; 2307 interrupts = <GIC_SPI 1996 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 2308 }; 1997 }; 2309 1998 2310 usb3_phy0: usb-phy@381f0040 { 1999 usb3_phy0: usb-phy@381f0040 { 2311 compatible = "fsl,imx 2000 compatible = "fsl,imx8mp-usb-phy"; 2312 reg = <0x381f0040 0x4 2001 reg = <0x381f0040 0x40>; 2313 clocks = <&clk IMX8MP 2002 clocks = <&clk IMX8MP_CLK_USB_PHY_ROOT>; 2314 clock-names = "phy"; 2003 clock-names = "phy"; 2315 assigned-clocks = <&c 2004 assigned-clocks = <&clk IMX8MP_CLK_USB_PHY_REF>; 2316 assigned-clock-parent 2005 assigned-clock-parents = <&clk IMX8MP_CLK_24M>; 2317 power-domains = <&hsi 2006 power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_USB_PHY1>; 2318 #phy-cells = <0>; 2007 #phy-cells = <0>; 2319 status = "disabled"; 2008 status = "disabled"; 2320 }; 2009 }; 2321 2010 2322 usb3_0: usb@32f10100 { 2011 usb3_0: usb@32f10100 { 2323 compatible = "fsl,imx 2012 compatible = "fsl,imx8mp-dwc3"; 2324 reg = <0x32f10100 0x8 2013 reg = <0x32f10100 0x8>, 2325 <0x381f0000 0x2 2014 <0x381f0000 0x20>; 2326 clocks = <&clk IMX8MP 2015 clocks = <&clk IMX8MP_CLK_HSIO_ROOT>, 2327 <&clk IMX8MP 2016 <&clk IMX8MP_CLK_USB_SUSP>; 2328 clock-names = "hsio", 2017 clock-names = "hsio", "suspend"; 2329 interrupts = <GIC_SPI 2018 interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>; 2330 power-domains = <&hsi 2019 power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_USB>; 2331 #address-cells = <1>; 2020 #address-cells = <1>; 2332 #size-cells = <1>; 2021 #size-cells = <1>; 2333 dma-ranges = <0x40000 2022 dma-ranges = <0x40000000 0x40000000 0xc0000000>; 2334 ranges; 2023 ranges; 2335 status = "disabled"; 2024 status = "disabled"; 2336 2025 2337 usb_dwc3_0: usb@38100 2026 usb_dwc3_0: usb@38100000 { 2338 compatible = 2027 compatible = "snps,dwc3"; 2339 reg = <0x3810 2028 reg = <0x38100000 0x10000>; 2340 clocks = <&cl 2029 clocks = <&clk IMX8MP_CLK_USB_ROOT>, 2341 <&cl 2030 <&clk IMX8MP_CLK_USB_CORE_REF>, 2342 <&cl 2031 <&clk IMX8MP_CLK_USB_SUSP>; 2343 clock-names = 2032 clock-names = "bus_early", "ref", "suspend"; 2344 interrupts = 2033 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 2345 phys = <&usb3 2034 phys = <&usb3_phy0>, <&usb3_phy0>; 2346 phy-names = " 2035 phy-names = "usb2-phy", "usb3-phy"; 2347 snps,gfladj-r 2036 snps,gfladj-refclk-lpm-sel-quirk; 2348 snps,parkmode << 2349 }; 2037 }; 2350 2038 2351 }; 2039 }; 2352 2040 2353 usb3_phy1: usb-phy@382f0040 { 2041 usb3_phy1: usb-phy@382f0040 { 2354 compatible = "fsl,imx 2042 compatible = "fsl,imx8mp-usb-phy"; 2355 reg = <0x382f0040 0x4 2043 reg = <0x382f0040 0x40>; 2356 clocks = <&clk IMX8MP 2044 clocks = <&clk IMX8MP_CLK_USB_PHY_ROOT>; 2357 clock-names = "phy"; 2045 clock-names = "phy"; 2358 assigned-clocks = <&c 2046 assigned-clocks = <&clk IMX8MP_CLK_USB_PHY_REF>; 2359 assigned-clock-parent 2047 assigned-clock-parents = <&clk IMX8MP_CLK_24M>; 2360 power-domains = <&hsi 2048 power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_USB_PHY2>; 2361 #phy-cells = <0>; 2049 #phy-cells = <0>; 2362 status = "disabled"; 2050 status = "disabled"; 2363 }; 2051 }; 2364 2052 2365 usb3_1: usb@32f10108 { 2053 usb3_1: usb@32f10108 { 2366 compatible = "fsl,imx 2054 compatible = "fsl,imx8mp-dwc3"; 2367 reg = <0x32f10108 0x8 2055 reg = <0x32f10108 0x8>, 2368 <0x382f0000 0x2 2056 <0x382f0000 0x20>; 2369 clocks = <&clk IMX8MP 2057 clocks = <&clk IMX8MP_CLK_HSIO_ROOT>, 2370 <&clk IMX8MP 2058 <&clk IMX8MP_CLK_USB_SUSP>; 2371 clock-names = "hsio", 2059 clock-names = "hsio", "suspend"; 2372 interrupts = <GIC_SPI 2060 interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>; 2373 power-domains = <&hsi 2061 power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_USB>; 2374 #address-cells = <1>; 2062 #address-cells = <1>; 2375 #size-cells = <1>; 2063 #size-cells = <1>; 2376 dma-ranges = <0x40000 2064 dma-ranges = <0x40000000 0x40000000 0xc0000000>; 2377 ranges; 2065 ranges; 2378 status = "disabled"; 2066 status = "disabled"; 2379 2067 2380 usb_dwc3_1: usb@38200 2068 usb_dwc3_1: usb@38200000 { 2381 compatible = 2069 compatible = "snps,dwc3"; 2382 reg = <0x3820 2070 reg = <0x38200000 0x10000>; 2383 clocks = <&cl 2071 clocks = <&clk IMX8MP_CLK_USB_ROOT>, 2384 <&cl 2072 <&clk IMX8MP_CLK_USB_CORE_REF>, 2385 <&cl 2073 <&clk IMX8MP_CLK_USB_SUSP>; 2386 clock-names = 2074 clock-names = "bus_early", "ref", "suspend"; 2387 interrupts = 2075 interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 2388 phys = <&usb3 2076 phys = <&usb3_phy1>, <&usb3_phy1>; 2389 phy-names = " 2077 phy-names = "usb2-phy", "usb3-phy"; 2390 snps,gfladj-r 2078 snps,gfladj-refclk-lpm-sel-quirk; 2391 snps,parkmode << 2392 }; 2079 }; 2393 }; 2080 }; 2394 2081 2395 dsp: dsp@3b6e8000 { 2082 dsp: dsp@3b6e8000 { 2396 compatible = "fsl,imx 2083 compatible = "fsl,imx8mp-dsp"; 2397 reg = <0x3b6e8000 0x8 2084 reg = <0x3b6e8000 0x88000>; 2398 mbox-names = "txdb0", 2085 mbox-names = "txdb0", "txdb1", 2399 "rxdb0", "rxd 2086 "rxdb0", "rxdb1"; 2400 mboxes = <&mu2 2 0>, 2087 mboxes = <&mu2 2 0>, <&mu2 2 1>, 2401 <&mu2 3 0>, < 2088 <&mu2 3 0>, <&mu2 3 1>; 2402 memory-region = <&dsp 2089 memory-region = <&dsp_reserved>; 2403 status = "disabled"; 2090 status = "disabled"; 2404 }; 2091 }; 2405 }; 2092 }; 2406 }; 2093 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.