// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) /* * Copyright 2021-2024 NXP * * Authors: Ghennadi Procopciuc * Ciprian Costea * Andra-Teodora Ilie */ #include / { compatible = "nxp,s32g3"; interrupt-parent = <&gic>; #address-cells = <0x02>; #size-cells = <0x02>; cpus { #address-cells = <1>; #size-cells = <0>; cpu-map { cluster0 { core0 { cpu = <&cpu0>; }; core1 { cpu = <&cpu1>; }; core2 { cpu = <&cpu2>; }; core3 { cpu = <&cpu3>; }; }; cluster1 { core0 { cpu = <&cpu4>; }; core1 { cpu = <&cpu5>; }; core2 { cpu = <&cpu6>; }; core3 { cpu = <&cpu7>; }; }; }; cpu0: cpu@0 { device_type = "cpu"; compatible = "arm,cortex-a53"; reg = <0x0>; enable-method = "psci"; clocks = <&dfs 0>; }; cpu1: cpu@1 { device_type = "cpu"; compatible = "arm,cortex-a53"; reg = <0x1>; enable-method = "psci"; clocks = <&dfs 0>; }; cpu2: cpu@2 { device_type = "cpu"; compatible = "arm,cortex-a53"; reg = <0x2>; enable-method = "psci"; clocks = <&dfs 0>; }; cpu3: cpu@3 { device_type = "cpu"; compatible = "arm,cortex-a53"; reg = <0x3>; enable-method = "psci"; clocks = <&dfs 0>; }; cpu4: cpu@100 { device_type = "cpu"; compatible = "arm,cortex-a53"; reg = <0x100>; enable-method = "psci"; clocks = <&dfs 0>; }; cpu5: cpu@101 { device_type = "cpu"; compatible = "arm,cortex-a53"; reg = <0x101>; enable-method = "psci"; clocks = <&dfs 0>; }; cpu6: cpu@102 { device_type = "cpu"; compatible = "arm,cortex-a53"; reg = <0x102>; enable-method = "psci"; clocks = <&dfs 0>; }; cpu7: cpu@103 { device_type = "cpu"; compatible = "arm,cortex-a53"; reg = <0x103>; enable-method = "psci"; clocks = <&dfs 0>; }; }; firmware { scmi: scmi { compatible = "arm,scmi-smc"; shmem = <&scmi_shmem>; arm,smc-id = <0xc20000fe>; #address-cells = <1>; #size-cells = <0>; dfs: protocol@13 { reg = <0x13>; #clock-cells = <1>; }; clks: protocol@14 { reg = <0x14>; #clock-cells = <1>; }; }; psci: psci { compatible = "arm,psci-1.0"; method = "smc"; }; }; pmu { compatible = "arm,cortex-a53-pmu"; interrupts = ; }; reserved-memory { #address-cells = <2>; #size-cells = <2>; ranges; scmi_shmem: shm@d0000000 { compatible = "arm,scmi-shmem"; reg = <0x0 0xd0000000 0x0 0x80>; no-map; }; }; soc@0 { compatible = "simple-bus"; #address-cells = <1>; #size-cells = <1>; ranges = <0 0 0 0x80000000>; pinctrl: pinctrl@4009c240 { compatible = "nxp,s32g2-siul2-pinctrl"; /* MSCR0-MSCR101 registers on siul2_0 */ reg = <0x4009c240 0x198>, /* MSCR112-MSCR122 registers on siul2_1 */ <0x44010400 0x2c>, /* MSCR144-MSCR190 registers on siul2_1 */ <0x44010480 0xbc>, /* IMCR0-IMCR83 registers on siul2_0 */ <0x4009ca40 0x150>, /* IMCR119-IMCR397 registers on siul2_1 */ <0x44010c1c 0x45c>, /* IMCR430-IMCR495 registers on siul2_1 */ <0x440110f8 0x108>; jtag_pins: jtag-pins { jtag-grp0 { pinmux = <0x0>; input-enable; bias-pull-up; slew-rate = <166>; }; jtag-grp1 { pinmux = <0x11>; slew-rate = <166>; }; jtag-grp2 { pinmux = <0x40>; input-enable; bias-pull-down; slew-rate = <166>; }; jtag-grp3 { pinmux = <0x23c0>, <0x23d0>, <0x2320>; }; jtag-grp4 { pinmux = <0x51>; input-enable; bias-pull-up; slew-rate = <166>; }; }; pinctrl_usdhc0: usdhc0grp-pins { usdhc0-grp0 { pinmux = <0x2e1>, <0x381>; output-enable; bias-pull-down; slew-rate = <150>; }; usdhc0-grp1 { pinmux = <0x2f1>, <0x301>, <0x311>, <0x321>, <0x331>, <0x341>, <0x351>, <0x361>, <0x371>; output-enable; input-enable; bias-pull-up; slew-rate = <150>; }; usdhc0-grp2 { pinmux = <0x391>; output-enable; slew-rate = <150>; }; usdhc0-grp3 { pinmux = <0x3a0>; input-enable; slew-rate = <150>; }; usdhc0-grp4 { pinmux = <0x2032>, <0x2042>, <0x2052>, <0x2062>, <0x2072>, <0x2082>, <0x2092>, <0x20a2>, <0x20b2>, <0x20c2>; }; }; pinctrl_usdhc0_100mhz: usdhc0-100mhzgrp-pins { usdhc0-100mhz-grp0 { pinmux = <0x2e1>, <0x381>; output-enable; bias-pull-down; slew-rate = <150>; }; usdhc0-100mhz-grp1 { pinmux = <0x2f1>, <0x301>, <0x311>, <0x321>, <0x331>, <0x341>, <0x351>, <0x361>, <0x371>; output-enable; input-enable; bias-pull-up; slew-rate = <150>; }; usdhc0-100mhz-grp2 { pinmux = <0x391>; output-enable; slew-rate = <150>; }; usdhc0-100mhz-grp3 { pinmux = <0x3a0>; input-enable; slew-rate = <150>; }; usdhc0-100mhz-grp4 { pinmux = <0x2032>, <0x2042>, <0x2052>, <0x2062>, <0x2072>, <0x2082>, <0x2092>, <0x20a2>, <0x20b2>, <0x20c2>; }; }; pinctrl_usdhc0_200mhz: usdhc0-200mhzgrp-pins { usdhc0-200mhz-grp0 { pinmux = <0x2e1>, <0x381>; output-enable; bias-pull-down; slew-rate = <208>; }; usdhc0-200mhz-grp1 { pinmux = <0x2f1>, <0x301>, <0x311>, <0x321>, <0x331>, <0x341>, <0x351>, <0x361>, <0x371>; output-enable; input-enable; bias-pull-up; slew-rate = <208>; }; usdhc0-200mhz-grp2 { pinmux = <0x391>; output-enable; slew-rate = <208>; }; usdhc0-200mhz-grp3 { pinmux = <0x3a0>; input-enable; slew-rate = <208>; }; usdhc0-200mhz-grp4 { pinmux = <0x2032>, <0x2042>, <0x2052>, <0x2062>, <0x2072>, <0x2082>, <0x2092>, <0x20a2>, <0x20b2>, <0x20c2>; }; }; }; uart0: serial@401c8000 { compatible = "nxp,s32g3-linflexuart", "fsl,s32v234-linflexuart"; reg = <0x401c8000 0x3000>; interrupts = ; status = "disabled"; }; uart1: serial@401cc000 { compatible = "nxp,s32g3-linflexuart", "fsl,s32v234-linflexuart"; reg = <0x401cc000 0x3000>; interrupts = ; status = "disabled"; }; uart2: serial@402bc000 { compatible = "nxp,s32g3-linflexuart", "fsl,s32v234-linflexuart"; reg = <0x402bc000 0x3000>; interrupts = ; status = "disabled"; }; usdhc0: mmc@402f0000 { compatible = "nxp,s32g3-usdhc", "nxp,s32g2-usdhc"; reg = <0x402f0000 0x1000>; interrupts = ; clocks = <&clks 32>, <&clks 31>, <&clks 33>; clock-names = "ipg", "ahb", "per"; status = "disabled"; }; gic: interrupt-controller@50800000 { compatible = "arm,gic-v3"; #interrupt-cells = <3>; interrupt-controller; reg = <0x50800000 0x10000>, <0x50900000 0x200000>, <0x50400000 0x2000>, <0x50410000 0x2000>, <0x50420000 0x2000>; interrupts = ; }; }; timer { compatible = "arm,armv8-timer"; interrupt-parent = <&gic>; interrupts = , /* sec-phys */ , /* phys */ , /* virt */ , /* hyp-phys */ ; /* hyp-virt */ arm,no-tick-in-suspend; }; };