18cc087a1SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 28cc087a1SEmmanuel Vadot/* 38cc087a1SEmmanuel Vadot * NXP S32G2 SoC family 48cc087a1SEmmanuel Vadot * 58cc087a1SEmmanuel Vadot * Copyright (c) 2021 SUSE LLC 67d0873ebSEmmanuel Vadot * Copyright 2017-2021, 2024 NXP 78cc087a1SEmmanuel Vadot */ 88cc087a1SEmmanuel Vadot 98cc087a1SEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 108cc087a1SEmmanuel Vadot 118cc087a1SEmmanuel Vadot/ { 128cc087a1SEmmanuel Vadot compatible = "nxp,s32g2"; 138cc087a1SEmmanuel Vadot interrupt-parent = <&gic>; 148cc087a1SEmmanuel Vadot #address-cells = <2>; 158cc087a1SEmmanuel Vadot #size-cells = <2>; 168cc087a1SEmmanuel Vadot 177d0873ebSEmmanuel Vadot reserved-memory { 187d0873ebSEmmanuel Vadot #address-cells = <2>; 197d0873ebSEmmanuel Vadot #size-cells = <2>; 207d0873ebSEmmanuel Vadot ranges; 217d0873ebSEmmanuel Vadot 227d0873ebSEmmanuel Vadot scmi_buf: shm@d0000000 { 237d0873ebSEmmanuel Vadot compatible = "arm,scmi-shmem"; 247d0873ebSEmmanuel Vadot reg = <0x0 0xd0000000 0x0 0x80>; 257d0873ebSEmmanuel Vadot no-map; 267d0873ebSEmmanuel Vadot }; 277d0873ebSEmmanuel Vadot }; 287d0873ebSEmmanuel Vadot 298cc087a1SEmmanuel Vadot cpus { 308cc087a1SEmmanuel Vadot #address-cells = <1>; 318cc087a1SEmmanuel Vadot #size-cells = <0>; 328cc087a1SEmmanuel Vadot 338cc087a1SEmmanuel Vadot cpu0: cpu@0 { 348cc087a1SEmmanuel Vadot device_type = "cpu"; 358cc087a1SEmmanuel Vadot compatible = "arm,cortex-a53"; 368cc087a1SEmmanuel Vadot reg = <0x0>; 378cc087a1SEmmanuel Vadot enable-method = "psci"; 388cc087a1SEmmanuel Vadot next-level-cache = <&cluster0_l2>; 398cc087a1SEmmanuel Vadot }; 408cc087a1SEmmanuel Vadot 418cc087a1SEmmanuel Vadot cpu1: cpu@1 { 428cc087a1SEmmanuel Vadot device_type = "cpu"; 438cc087a1SEmmanuel Vadot compatible = "arm,cortex-a53"; 448cc087a1SEmmanuel Vadot reg = <0x1>; 458cc087a1SEmmanuel Vadot enable-method = "psci"; 468cc087a1SEmmanuel Vadot next-level-cache = <&cluster0_l2>; 478cc087a1SEmmanuel Vadot }; 488cc087a1SEmmanuel Vadot 498cc087a1SEmmanuel Vadot cpu2: cpu@100 { 508cc087a1SEmmanuel Vadot device_type = "cpu"; 518cc087a1SEmmanuel Vadot compatible = "arm,cortex-a53"; 528cc087a1SEmmanuel Vadot reg = <0x100>; 538cc087a1SEmmanuel Vadot enable-method = "psci"; 548cc087a1SEmmanuel Vadot next-level-cache = <&cluster1_l2>; 558cc087a1SEmmanuel Vadot }; 568cc087a1SEmmanuel Vadot 578cc087a1SEmmanuel Vadot cpu3: cpu@101 { 588cc087a1SEmmanuel Vadot device_type = "cpu"; 598cc087a1SEmmanuel Vadot compatible = "arm,cortex-a53"; 608cc087a1SEmmanuel Vadot reg = <0x101>; 618cc087a1SEmmanuel Vadot enable-method = "psci"; 628cc087a1SEmmanuel Vadot next-level-cache = <&cluster1_l2>; 638cc087a1SEmmanuel Vadot }; 648cc087a1SEmmanuel Vadot 658cc087a1SEmmanuel Vadot cluster0_l2: l2-cache0 { 668cc087a1SEmmanuel Vadot compatible = "cache"; 678bab661aSEmmanuel Vadot cache-level = <2>; 68f126890aSEmmanuel Vadot cache-unified; 698cc087a1SEmmanuel Vadot }; 708cc087a1SEmmanuel Vadot 718cc087a1SEmmanuel Vadot cluster1_l2: l2-cache1 { 728cc087a1SEmmanuel Vadot compatible = "cache"; 738bab661aSEmmanuel Vadot cache-level = <2>; 74f126890aSEmmanuel Vadot cache-unified; 758cc087a1SEmmanuel Vadot }; 768cc087a1SEmmanuel Vadot }; 778cc087a1SEmmanuel Vadot 788cc087a1SEmmanuel Vadot pmu { 798cc087a1SEmmanuel Vadot compatible = "arm,cortex-a53-pmu"; 808cc087a1SEmmanuel Vadot interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>; 818cc087a1SEmmanuel Vadot }; 828cc087a1SEmmanuel Vadot 838cc087a1SEmmanuel Vadot timer { 848cc087a1SEmmanuel Vadot compatible = "arm,armv8-timer"; 858cc087a1SEmmanuel Vadot interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, 868cc087a1SEmmanuel Vadot <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, 878cc087a1SEmmanuel Vadot <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, 888cc087a1SEmmanuel Vadot <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; 898cc087a1SEmmanuel Vadot }; 908cc087a1SEmmanuel Vadot 918cc087a1SEmmanuel Vadot firmware { 927d0873ebSEmmanuel Vadot scmi { 937d0873ebSEmmanuel Vadot compatible = "arm,scmi-smc"; 947d0873ebSEmmanuel Vadot arm,smc-id = <0xc20000fe>; 957d0873ebSEmmanuel Vadot #address-cells = <1>; 967d0873ebSEmmanuel Vadot #size-cells = <0>; 977d0873ebSEmmanuel Vadot shmem = <&scmi_buf>; 987d0873ebSEmmanuel Vadot 997d0873ebSEmmanuel Vadot clks: protocol@14 { 1007d0873ebSEmmanuel Vadot reg = <0x14>; 1017d0873ebSEmmanuel Vadot #clock-cells = <1>; 1027d0873ebSEmmanuel Vadot }; 1037d0873ebSEmmanuel Vadot }; 1047d0873ebSEmmanuel Vadot 1058cc087a1SEmmanuel Vadot psci { 1068cc087a1SEmmanuel Vadot compatible = "arm,psci-1.0"; 1078cc087a1SEmmanuel Vadot method = "smc"; 1088cc087a1SEmmanuel Vadot }; 1098cc087a1SEmmanuel Vadot }; 1108cc087a1SEmmanuel Vadot 111d5b0e70fSEmmanuel Vadot soc@0 { 1128cc087a1SEmmanuel Vadot compatible = "simple-bus"; 1138cc087a1SEmmanuel Vadot #address-cells = <1>; 1148cc087a1SEmmanuel Vadot #size-cells = <1>; 1158cc087a1SEmmanuel Vadot ranges = <0 0 0 0x80000000>; 1168cc087a1SEmmanuel Vadot 117*b2d2a78aSEmmanuel Vadot pinctrl: pinctrl@4009c240 { 118*b2d2a78aSEmmanuel Vadot compatible = "nxp,s32g2-siul2-pinctrl"; 119*b2d2a78aSEmmanuel Vadot /* MSCR0-MSCR101 registers on siul2_0 */ 120*b2d2a78aSEmmanuel Vadot reg = <0x4009c240 0x198>, 121*b2d2a78aSEmmanuel Vadot /* MSCR112-MSCR122 registers on siul2_1 */ 122*b2d2a78aSEmmanuel Vadot <0x44010400 0x2c>, 123*b2d2a78aSEmmanuel Vadot /* MSCR144-MSCR190 registers on siul2_1 */ 124*b2d2a78aSEmmanuel Vadot <0x44010480 0xbc>, 125*b2d2a78aSEmmanuel Vadot /* IMCR0-IMCR83 registers on siul2_0 */ 126*b2d2a78aSEmmanuel Vadot <0x4009ca40 0x150>, 127*b2d2a78aSEmmanuel Vadot /* IMCR119-IMCR397 registers on siul2_1 */ 128*b2d2a78aSEmmanuel Vadot <0x44010c1c 0x45c>, 129*b2d2a78aSEmmanuel Vadot /* IMCR430-IMCR495 registers on siul2_1 */ 130*b2d2a78aSEmmanuel Vadot <0x440110f8 0x108>; 131*b2d2a78aSEmmanuel Vadot 132*b2d2a78aSEmmanuel Vadot jtag_pins: jtag-pins { 133*b2d2a78aSEmmanuel Vadot jtag-grp0 { 134*b2d2a78aSEmmanuel Vadot pinmux = <0x0>; 135*b2d2a78aSEmmanuel Vadot input-enable; 136*b2d2a78aSEmmanuel Vadot bias-pull-up; 137*b2d2a78aSEmmanuel Vadot slew-rate = <166>; 138*b2d2a78aSEmmanuel Vadot }; 139*b2d2a78aSEmmanuel Vadot 140*b2d2a78aSEmmanuel Vadot jtag-grp1 { 141*b2d2a78aSEmmanuel Vadot pinmux = <0x11>; 142*b2d2a78aSEmmanuel Vadot slew-rate = <166>; 143*b2d2a78aSEmmanuel Vadot }; 144*b2d2a78aSEmmanuel Vadot 145*b2d2a78aSEmmanuel Vadot jtag-grp2 { 146*b2d2a78aSEmmanuel Vadot pinmux = <0x40>; 147*b2d2a78aSEmmanuel Vadot input-enable; 148*b2d2a78aSEmmanuel Vadot bias-pull-down; 149*b2d2a78aSEmmanuel Vadot slew-rate = <166>; 150*b2d2a78aSEmmanuel Vadot }; 151*b2d2a78aSEmmanuel Vadot 152*b2d2a78aSEmmanuel Vadot jtag-grp3 { 153*b2d2a78aSEmmanuel Vadot pinmux = <0x23c0>, 154*b2d2a78aSEmmanuel Vadot <0x23d0>, 155*b2d2a78aSEmmanuel Vadot <0x2320>; 156*b2d2a78aSEmmanuel Vadot }; 157*b2d2a78aSEmmanuel Vadot 158*b2d2a78aSEmmanuel Vadot jtag-grp4 { 159*b2d2a78aSEmmanuel Vadot pinmux = <0x51>; 160*b2d2a78aSEmmanuel Vadot input-enable; 161*b2d2a78aSEmmanuel Vadot bias-pull-up; 162*b2d2a78aSEmmanuel Vadot slew-rate = <166>; 163*b2d2a78aSEmmanuel Vadot }; 164*b2d2a78aSEmmanuel Vadot }; 165*b2d2a78aSEmmanuel Vadot }; 166*b2d2a78aSEmmanuel Vadot 1678cc087a1SEmmanuel Vadot uart0: serial@401c8000 { 1688cc087a1SEmmanuel Vadot compatible = "nxp,s32g2-linflexuart", 1698cc087a1SEmmanuel Vadot "fsl,s32v234-linflexuart"; 1708cc087a1SEmmanuel Vadot reg = <0x401c8000 0x3000>; 1718cc087a1SEmmanuel Vadot interrupts = <GIC_SPI 82 IRQ_TYPE_EDGE_RISING>; 1728cc087a1SEmmanuel Vadot status = "disabled"; 1738cc087a1SEmmanuel Vadot }; 1748cc087a1SEmmanuel Vadot 1758cc087a1SEmmanuel Vadot uart1: serial@401cc000 { 1768cc087a1SEmmanuel Vadot compatible = "nxp,s32g2-linflexuart", 1778cc087a1SEmmanuel Vadot "fsl,s32v234-linflexuart"; 1788cc087a1SEmmanuel Vadot reg = <0x401cc000 0x3000>; 1798cc087a1SEmmanuel Vadot interrupts = <GIC_SPI 83 IRQ_TYPE_EDGE_RISING>; 1808cc087a1SEmmanuel Vadot status = "disabled"; 1818cc087a1SEmmanuel Vadot }; 1828cc087a1SEmmanuel Vadot 1838cc087a1SEmmanuel Vadot uart2: serial@402bc000 { 1848cc087a1SEmmanuel Vadot compatible = "nxp,s32g2-linflexuart", 1858cc087a1SEmmanuel Vadot "fsl,s32v234-linflexuart"; 1868cc087a1SEmmanuel Vadot reg = <0x402bc000 0x3000>; 1878cc087a1SEmmanuel Vadot interrupts = <GIC_SPI 84 IRQ_TYPE_EDGE_RISING>; 1888cc087a1SEmmanuel Vadot status = "disabled"; 1898cc087a1SEmmanuel Vadot }; 1908cc087a1SEmmanuel Vadot 1917d0873ebSEmmanuel Vadot usdhc0: mmc@402f0000 { 1927d0873ebSEmmanuel Vadot compatible = "nxp,s32g2-usdhc"; 1937d0873ebSEmmanuel Vadot reg = <0x402f0000 0x1000>; 1947d0873ebSEmmanuel Vadot interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 1957d0873ebSEmmanuel Vadot clocks = <&clks 32>, <&clks 31>, <&clks 33>; 1967d0873ebSEmmanuel Vadot clock-names = "ipg", "ahb", "per"; 1977d0873ebSEmmanuel Vadot bus-width = <8>; 1987d0873ebSEmmanuel Vadot status = "disabled"; 1997d0873ebSEmmanuel Vadot }; 2007d0873ebSEmmanuel Vadot 2018cc087a1SEmmanuel Vadot gic: interrupt-controller@50800000 { 2028cc087a1SEmmanuel Vadot compatible = "arm,gic-v3"; 2038cc087a1SEmmanuel Vadot reg = <0x50800000 0x10000>, 2048cc087a1SEmmanuel Vadot <0x50880000 0x80000>, 2058cc087a1SEmmanuel Vadot <0x50400000 0x2000>, 2068cc087a1SEmmanuel Vadot <0x50410000 0x2000>, 2078cc087a1SEmmanuel Vadot <0x50420000 0x2000>; 2088cc087a1SEmmanuel Vadot interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 2098cc087a1SEmmanuel Vadot interrupt-controller; 2108cc087a1SEmmanuel Vadot #interrupt-cells = <3>; 2118cc087a1SEmmanuel Vadot }; 2128cc087a1SEmmanuel Vadot }; 2138cc087a1SEmmanuel Vadot}; 214