17d0873ebSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 27d0873ebSEmmanuel Vadot/* 3*b2d2a78aSEmmanuel Vadot * Copyright 2021-2024 NXP 47d0873ebSEmmanuel Vadot * 57d0873ebSEmmanuel Vadot * Authors: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com> 67d0873ebSEmmanuel Vadot * Ciprian Costea <ciprianmarian.costea@nxp.com> 77d0873ebSEmmanuel Vadot * Andra-Teodora Ilie <andra.ilie@nxp.com> 87d0873ebSEmmanuel Vadot */ 97d0873ebSEmmanuel Vadot 107d0873ebSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 117d0873ebSEmmanuel Vadot 127d0873ebSEmmanuel Vadot/ { 137d0873ebSEmmanuel Vadot compatible = "nxp,s32g3"; 147d0873ebSEmmanuel Vadot interrupt-parent = <&gic>; 157d0873ebSEmmanuel Vadot #address-cells = <0x02>; 167d0873ebSEmmanuel Vadot #size-cells = <0x02>; 177d0873ebSEmmanuel Vadot 187d0873ebSEmmanuel Vadot cpus { 197d0873ebSEmmanuel Vadot #address-cells = <1>; 207d0873ebSEmmanuel Vadot #size-cells = <0>; 217d0873ebSEmmanuel Vadot 227d0873ebSEmmanuel Vadot cpu-map { 237d0873ebSEmmanuel Vadot cluster0 { 247d0873ebSEmmanuel Vadot core0 { 257d0873ebSEmmanuel Vadot cpu = <&cpu0>; 267d0873ebSEmmanuel Vadot }; 277d0873ebSEmmanuel Vadot 287d0873ebSEmmanuel Vadot core1 { 297d0873ebSEmmanuel Vadot cpu = <&cpu1>; 307d0873ebSEmmanuel Vadot }; 317d0873ebSEmmanuel Vadot 327d0873ebSEmmanuel Vadot core2 { 337d0873ebSEmmanuel Vadot cpu = <&cpu2>; 347d0873ebSEmmanuel Vadot }; 357d0873ebSEmmanuel Vadot 367d0873ebSEmmanuel Vadot core3 { 377d0873ebSEmmanuel Vadot cpu = <&cpu3>; 387d0873ebSEmmanuel Vadot }; 397d0873ebSEmmanuel Vadot }; 407d0873ebSEmmanuel Vadot 417d0873ebSEmmanuel Vadot cluster1 { 427d0873ebSEmmanuel Vadot core0 { 437d0873ebSEmmanuel Vadot cpu = <&cpu4>; 447d0873ebSEmmanuel Vadot }; 457d0873ebSEmmanuel Vadot 467d0873ebSEmmanuel Vadot core1 { 477d0873ebSEmmanuel Vadot cpu = <&cpu5>; 487d0873ebSEmmanuel Vadot }; 497d0873ebSEmmanuel Vadot 507d0873ebSEmmanuel Vadot core2 { 517d0873ebSEmmanuel Vadot cpu = <&cpu6>; 527d0873ebSEmmanuel Vadot }; 537d0873ebSEmmanuel Vadot 547d0873ebSEmmanuel Vadot core3 { 557d0873ebSEmmanuel Vadot cpu = <&cpu7>; 567d0873ebSEmmanuel Vadot }; 577d0873ebSEmmanuel Vadot }; 587d0873ebSEmmanuel Vadot }; 597d0873ebSEmmanuel Vadot 607d0873ebSEmmanuel Vadot cpu0: cpu@0 { 617d0873ebSEmmanuel Vadot device_type = "cpu"; 627d0873ebSEmmanuel Vadot compatible = "arm,cortex-a53"; 637d0873ebSEmmanuel Vadot reg = <0x0>; 647d0873ebSEmmanuel Vadot enable-method = "psci"; 657d0873ebSEmmanuel Vadot clocks = <&dfs 0>; 667d0873ebSEmmanuel Vadot }; 677d0873ebSEmmanuel Vadot 687d0873ebSEmmanuel Vadot cpu1: cpu@1 { 697d0873ebSEmmanuel Vadot device_type = "cpu"; 707d0873ebSEmmanuel Vadot compatible = "arm,cortex-a53"; 717d0873ebSEmmanuel Vadot reg = <0x1>; 727d0873ebSEmmanuel Vadot enable-method = "psci"; 737d0873ebSEmmanuel Vadot clocks = <&dfs 0>; 747d0873ebSEmmanuel Vadot }; 757d0873ebSEmmanuel Vadot 767d0873ebSEmmanuel Vadot cpu2: cpu@2 { 777d0873ebSEmmanuel Vadot device_type = "cpu"; 787d0873ebSEmmanuel Vadot compatible = "arm,cortex-a53"; 797d0873ebSEmmanuel Vadot reg = <0x2>; 807d0873ebSEmmanuel Vadot enable-method = "psci"; 817d0873ebSEmmanuel Vadot clocks = <&dfs 0>; 827d0873ebSEmmanuel Vadot }; 837d0873ebSEmmanuel Vadot 847d0873ebSEmmanuel Vadot cpu3: cpu@3 { 857d0873ebSEmmanuel Vadot device_type = "cpu"; 867d0873ebSEmmanuel Vadot compatible = "arm,cortex-a53"; 877d0873ebSEmmanuel Vadot reg = <0x3>; 887d0873ebSEmmanuel Vadot enable-method = "psci"; 897d0873ebSEmmanuel Vadot clocks = <&dfs 0>; 907d0873ebSEmmanuel Vadot }; 917d0873ebSEmmanuel Vadot 927d0873ebSEmmanuel Vadot cpu4: cpu@100 { 937d0873ebSEmmanuel Vadot device_type = "cpu"; 947d0873ebSEmmanuel Vadot compatible = "arm,cortex-a53"; 957d0873ebSEmmanuel Vadot reg = <0x100>; 967d0873ebSEmmanuel Vadot enable-method = "psci"; 977d0873ebSEmmanuel Vadot clocks = <&dfs 0>; 987d0873ebSEmmanuel Vadot }; 997d0873ebSEmmanuel Vadot 1007d0873ebSEmmanuel Vadot cpu5: cpu@101 { 1017d0873ebSEmmanuel Vadot device_type = "cpu"; 1027d0873ebSEmmanuel Vadot compatible = "arm,cortex-a53"; 1037d0873ebSEmmanuel Vadot reg = <0x101>; 1047d0873ebSEmmanuel Vadot enable-method = "psci"; 1057d0873ebSEmmanuel Vadot clocks = <&dfs 0>; 1067d0873ebSEmmanuel Vadot }; 1077d0873ebSEmmanuel Vadot 1087d0873ebSEmmanuel Vadot cpu6: cpu@102 { 1097d0873ebSEmmanuel Vadot device_type = "cpu"; 1107d0873ebSEmmanuel Vadot compatible = "arm,cortex-a53"; 1117d0873ebSEmmanuel Vadot reg = <0x102>; 1127d0873ebSEmmanuel Vadot enable-method = "psci"; 1137d0873ebSEmmanuel Vadot clocks = <&dfs 0>; 1147d0873ebSEmmanuel Vadot }; 1157d0873ebSEmmanuel Vadot 1167d0873ebSEmmanuel Vadot cpu7: cpu@103 { 1177d0873ebSEmmanuel Vadot device_type = "cpu"; 1187d0873ebSEmmanuel Vadot compatible = "arm,cortex-a53"; 1197d0873ebSEmmanuel Vadot reg = <0x103>; 1207d0873ebSEmmanuel Vadot enable-method = "psci"; 1217d0873ebSEmmanuel Vadot clocks = <&dfs 0>; 1227d0873ebSEmmanuel Vadot }; 1237d0873ebSEmmanuel Vadot }; 1247d0873ebSEmmanuel Vadot 1257d0873ebSEmmanuel Vadot firmware { 1267d0873ebSEmmanuel Vadot scmi: scmi { 1277d0873ebSEmmanuel Vadot compatible = "arm,scmi-smc"; 1287d0873ebSEmmanuel Vadot shmem = <&scmi_shmem>; 1297d0873ebSEmmanuel Vadot arm,smc-id = <0xc20000fe>; 1307d0873ebSEmmanuel Vadot #address-cells = <1>; 1317d0873ebSEmmanuel Vadot #size-cells = <0>; 1327d0873ebSEmmanuel Vadot 1337d0873ebSEmmanuel Vadot dfs: protocol@13 { 1347d0873ebSEmmanuel Vadot reg = <0x13>; 1357d0873ebSEmmanuel Vadot #clock-cells = <1>; 1367d0873ebSEmmanuel Vadot }; 1377d0873ebSEmmanuel Vadot 1387d0873ebSEmmanuel Vadot clks: protocol@14 { 1397d0873ebSEmmanuel Vadot reg = <0x14>; 1407d0873ebSEmmanuel Vadot #clock-cells = <1>; 1417d0873ebSEmmanuel Vadot }; 1427d0873ebSEmmanuel Vadot }; 1437d0873ebSEmmanuel Vadot 1447d0873ebSEmmanuel Vadot psci: psci { 1457d0873ebSEmmanuel Vadot compatible = "arm,psci-1.0"; 1467d0873ebSEmmanuel Vadot method = "smc"; 1477d0873ebSEmmanuel Vadot }; 1487d0873ebSEmmanuel Vadot }; 1497d0873ebSEmmanuel Vadot 1507d0873ebSEmmanuel Vadot 1517d0873ebSEmmanuel Vadot pmu { 1527d0873ebSEmmanuel Vadot compatible = "arm,cortex-a53-pmu"; 1537d0873ebSEmmanuel Vadot interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>; 1547d0873ebSEmmanuel Vadot }; 1557d0873ebSEmmanuel Vadot 1567d0873ebSEmmanuel Vadot reserved-memory { 1577d0873ebSEmmanuel Vadot #address-cells = <2>; 1587d0873ebSEmmanuel Vadot #size-cells = <2>; 1597d0873ebSEmmanuel Vadot ranges; 1607d0873ebSEmmanuel Vadot 1617d0873ebSEmmanuel Vadot scmi_shmem: shm@d0000000 { 1627d0873ebSEmmanuel Vadot compatible = "arm,scmi-shmem"; 1637d0873ebSEmmanuel Vadot reg = <0x0 0xd0000000 0x0 0x80>; 1647d0873ebSEmmanuel Vadot no-map; 1657d0873ebSEmmanuel Vadot }; 1667d0873ebSEmmanuel Vadot }; 1677d0873ebSEmmanuel Vadot 1687d0873ebSEmmanuel Vadot soc@0 { 1697d0873ebSEmmanuel Vadot compatible = "simple-bus"; 1707d0873ebSEmmanuel Vadot #address-cells = <1>; 1717d0873ebSEmmanuel Vadot #size-cells = <1>; 1727d0873ebSEmmanuel Vadot ranges = <0 0 0 0x80000000>; 1737d0873ebSEmmanuel Vadot 174*b2d2a78aSEmmanuel Vadot pinctrl: pinctrl@4009c240 { 175*b2d2a78aSEmmanuel Vadot compatible = "nxp,s32g2-siul2-pinctrl"; 176*b2d2a78aSEmmanuel Vadot /* MSCR0-MSCR101 registers on siul2_0 */ 177*b2d2a78aSEmmanuel Vadot reg = <0x4009c240 0x198>, 178*b2d2a78aSEmmanuel Vadot /* MSCR112-MSCR122 registers on siul2_1 */ 179*b2d2a78aSEmmanuel Vadot <0x44010400 0x2c>, 180*b2d2a78aSEmmanuel Vadot /* MSCR144-MSCR190 registers on siul2_1 */ 181*b2d2a78aSEmmanuel Vadot <0x44010480 0xbc>, 182*b2d2a78aSEmmanuel Vadot /* IMCR0-IMCR83 registers on siul2_0 */ 183*b2d2a78aSEmmanuel Vadot <0x4009ca40 0x150>, 184*b2d2a78aSEmmanuel Vadot /* IMCR119-IMCR397 registers on siul2_1 */ 185*b2d2a78aSEmmanuel Vadot <0x44010c1c 0x45c>, 186*b2d2a78aSEmmanuel Vadot /* IMCR430-IMCR495 registers on siul2_1 */ 187*b2d2a78aSEmmanuel Vadot <0x440110f8 0x108>; 188*b2d2a78aSEmmanuel Vadot 189*b2d2a78aSEmmanuel Vadot jtag_pins: jtag-pins { 190*b2d2a78aSEmmanuel Vadot jtag-grp0 { 191*b2d2a78aSEmmanuel Vadot pinmux = <0x0>; 192*b2d2a78aSEmmanuel Vadot input-enable; 193*b2d2a78aSEmmanuel Vadot bias-pull-up; 194*b2d2a78aSEmmanuel Vadot slew-rate = <166>; 195*b2d2a78aSEmmanuel Vadot }; 196*b2d2a78aSEmmanuel Vadot 197*b2d2a78aSEmmanuel Vadot jtag-grp1 { 198*b2d2a78aSEmmanuel Vadot pinmux = <0x11>; 199*b2d2a78aSEmmanuel Vadot slew-rate = <166>; 200*b2d2a78aSEmmanuel Vadot }; 201*b2d2a78aSEmmanuel Vadot 202*b2d2a78aSEmmanuel Vadot jtag-grp2 { 203*b2d2a78aSEmmanuel Vadot pinmux = <0x40>; 204*b2d2a78aSEmmanuel Vadot input-enable; 205*b2d2a78aSEmmanuel Vadot bias-pull-down; 206*b2d2a78aSEmmanuel Vadot slew-rate = <166>; 207*b2d2a78aSEmmanuel Vadot }; 208*b2d2a78aSEmmanuel Vadot 209*b2d2a78aSEmmanuel Vadot jtag-grp3 { 210*b2d2a78aSEmmanuel Vadot pinmux = <0x23c0>, 211*b2d2a78aSEmmanuel Vadot <0x23d0>, 212*b2d2a78aSEmmanuel Vadot <0x2320>; 213*b2d2a78aSEmmanuel Vadot }; 214*b2d2a78aSEmmanuel Vadot 215*b2d2a78aSEmmanuel Vadot jtag-grp4 { 216*b2d2a78aSEmmanuel Vadot pinmux = <0x51>; 217*b2d2a78aSEmmanuel Vadot input-enable; 218*b2d2a78aSEmmanuel Vadot bias-pull-up; 219*b2d2a78aSEmmanuel Vadot slew-rate = <166>; 220*b2d2a78aSEmmanuel Vadot }; 221*b2d2a78aSEmmanuel Vadot }; 222*b2d2a78aSEmmanuel Vadot }; 223*b2d2a78aSEmmanuel Vadot 2247d0873ebSEmmanuel Vadot uart0: serial@401c8000 { 2257d0873ebSEmmanuel Vadot compatible = "nxp,s32g3-linflexuart", 2267d0873ebSEmmanuel Vadot "fsl,s32v234-linflexuart"; 2277d0873ebSEmmanuel Vadot reg = <0x401c8000 0x3000>; 2287d0873ebSEmmanuel Vadot interrupts = <GIC_SPI 82 IRQ_TYPE_EDGE_RISING>; 2297d0873ebSEmmanuel Vadot status = "disabled"; 2307d0873ebSEmmanuel Vadot }; 2317d0873ebSEmmanuel Vadot 2327d0873ebSEmmanuel Vadot uart1: serial@401cc000 { 2337d0873ebSEmmanuel Vadot compatible = "nxp,s32g3-linflexuart", 2347d0873ebSEmmanuel Vadot "fsl,s32v234-linflexuart"; 2357d0873ebSEmmanuel Vadot reg = <0x401cc000 0x3000>; 2367d0873ebSEmmanuel Vadot interrupts = <GIC_SPI 83 IRQ_TYPE_EDGE_RISING>; 2377d0873ebSEmmanuel Vadot status = "disabled"; 2387d0873ebSEmmanuel Vadot }; 2397d0873ebSEmmanuel Vadot 2407d0873ebSEmmanuel Vadot uart2: serial@402bc000 { 2417d0873ebSEmmanuel Vadot compatible = "nxp,s32g3-linflexuart", 2427d0873ebSEmmanuel Vadot "fsl,s32v234-linflexuart"; 2437d0873ebSEmmanuel Vadot reg = <0x402bc000 0x3000>; 2447d0873ebSEmmanuel Vadot interrupts = <GIC_SPI 84 IRQ_TYPE_EDGE_RISING>; 2457d0873ebSEmmanuel Vadot status = "disabled"; 2467d0873ebSEmmanuel Vadot }; 2477d0873ebSEmmanuel Vadot 2487d0873ebSEmmanuel Vadot usdhc0: mmc@402f0000 { 2497d0873ebSEmmanuel Vadot compatible = "nxp,s32g3-usdhc", 2507d0873ebSEmmanuel Vadot "nxp,s32g2-usdhc"; 2517d0873ebSEmmanuel Vadot reg = <0x402f0000 0x1000>; 2527d0873ebSEmmanuel Vadot interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 2537d0873ebSEmmanuel Vadot clocks = <&clks 32>, 2547d0873ebSEmmanuel Vadot <&clks 31>, 2557d0873ebSEmmanuel Vadot <&clks 33>; 2567d0873ebSEmmanuel Vadot clock-names = "ipg", "ahb", "per"; 2577d0873ebSEmmanuel Vadot status = "disabled"; 2587d0873ebSEmmanuel Vadot }; 2597d0873ebSEmmanuel Vadot 2607d0873ebSEmmanuel Vadot gic: interrupt-controller@50800000 { 2617d0873ebSEmmanuel Vadot compatible = "arm,gic-v3"; 2627d0873ebSEmmanuel Vadot #interrupt-cells = <3>; 2637d0873ebSEmmanuel Vadot interrupt-controller; 2647d0873ebSEmmanuel Vadot reg = <0x50800000 0x10000>, 2657d0873ebSEmmanuel Vadot <0x50900000 0x200000>, 2667d0873ebSEmmanuel Vadot <0x50400000 0x2000>, 2677d0873ebSEmmanuel Vadot <0x50410000 0x2000>, 2687d0873ebSEmmanuel Vadot <0x50420000 0x2000>; 2697d0873ebSEmmanuel Vadot interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 2707d0873ebSEmmanuel Vadot }; 2717d0873ebSEmmanuel Vadot }; 2727d0873ebSEmmanuel Vadot 2737d0873ebSEmmanuel Vadot timer { 2747d0873ebSEmmanuel Vadot compatible = "arm,armv8-timer"; 2757d0873ebSEmmanuel Vadot interrupt-parent = <&gic>; 2767d0873ebSEmmanuel Vadot interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, /* sec-phys */ 2777d0873ebSEmmanuel Vadot <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, /* phys */ 2787d0873ebSEmmanuel Vadot <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, /* virt */ 2797d0873ebSEmmanuel Vadot <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>, /* hyp-phys */ 2807d0873ebSEmmanuel Vadot <GIC_PPI 12 IRQ_TYPE_LEVEL_LOW>; /* hyp-virt */ 2817d0873ebSEmmanuel Vadot arm,no-tick-in-suspend; 2827d0873ebSEmmanuel Vadot }; 2837d0873ebSEmmanuel Vadot}; 284