12e976f19SNikolaos Pasaloukos// SPDX-License-Identifier: GPL-2.0+ 22e976f19SNikolaos Pasaloukos/* 32e976f19SNikolaos Pasaloukos * Copyright (c) 2024 Blaize, Inc. All rights reserved. 42e976f19SNikolaos Pasaloukos */ 52e976f19SNikolaos Pasaloukos 62e976f19SNikolaos Pasaloukos/dts-v1/; 72e976f19SNikolaos Pasaloukos 82e976f19SNikolaos Pasaloukos#include <dt-bindings/gpio/gpio.h> 92e976f19SNikolaos Pasaloukos#include <dt-bindings/interrupt-controller/arm-gic.h> 102e976f19SNikolaos Pasaloukos 112e976f19SNikolaos Pasaloukos/ { 122e976f19SNikolaos Pasaloukos interrupt-parent = <&gic>; 132e976f19SNikolaos Pasaloukos #address-cells = <2>; 142e976f19SNikolaos Pasaloukos #size-cells = <2>; 152e976f19SNikolaos Pasaloukos 162e976f19SNikolaos Pasaloukos cpus { 172e976f19SNikolaos Pasaloukos #address-cells = <2>; 182e976f19SNikolaos Pasaloukos #size-cells = <0>; 192e976f19SNikolaos Pasaloukos 202e976f19SNikolaos Pasaloukos cpu0: cpu@0 { 212e976f19SNikolaos Pasaloukos compatible = "arm,cortex-a53"; 222e976f19SNikolaos Pasaloukos reg = <0x0 0x0>; 232e976f19SNikolaos Pasaloukos device_type = "cpu"; 242e976f19SNikolaos Pasaloukos enable-method = "psci"; 252e976f19SNikolaos Pasaloukos next-level-cache = <&l2>; 262e976f19SNikolaos Pasaloukos }; 272e976f19SNikolaos Pasaloukos 282e976f19SNikolaos Pasaloukos cpu1: cpu@1 { 292e976f19SNikolaos Pasaloukos compatible = "arm,cortex-a53"; 302e976f19SNikolaos Pasaloukos reg = <0x0 0x1>; 312e976f19SNikolaos Pasaloukos device_type = "cpu"; 322e976f19SNikolaos Pasaloukos enable-method = "psci"; 332e976f19SNikolaos Pasaloukos next-level-cache = <&l2>; 342e976f19SNikolaos Pasaloukos }; 352e976f19SNikolaos Pasaloukos 362e976f19SNikolaos Pasaloukos l2: l2-cache0 { 372e976f19SNikolaos Pasaloukos compatible = "cache"; 382e976f19SNikolaos Pasaloukos cache-level = <2>; 392e976f19SNikolaos Pasaloukos cache-unified; 402e976f19SNikolaos Pasaloukos }; 412e976f19SNikolaos Pasaloukos }; 422e976f19SNikolaos Pasaloukos 432e976f19SNikolaos Pasaloukos firmware { 442e976f19SNikolaos Pasaloukos scmi { 452e976f19SNikolaos Pasaloukos compatible = "arm,scmi-smc"; 462e976f19SNikolaos Pasaloukos arm,smc-id = <0x82002000>; 472e976f19SNikolaos Pasaloukos #address-cells = <1>; 482e976f19SNikolaos Pasaloukos #size-cells = <0>; 492e976f19SNikolaos Pasaloukos 502e976f19SNikolaos Pasaloukos shmem = <&scmi0_shm>; 512e976f19SNikolaos Pasaloukos 522e976f19SNikolaos Pasaloukos scmi_clk: protocol@14 { 532e976f19SNikolaos Pasaloukos reg = <0x14>; 542e976f19SNikolaos Pasaloukos #clock-cells = <1>; 552e976f19SNikolaos Pasaloukos }; 562e976f19SNikolaos Pasaloukos 572e976f19SNikolaos Pasaloukos scmi_rst: protocol@16 { 582e976f19SNikolaos Pasaloukos reg = <0x16>; 592e976f19SNikolaos Pasaloukos #reset-cells = <1>; 602e976f19SNikolaos Pasaloukos }; 612e976f19SNikolaos Pasaloukos }; 622e976f19SNikolaos Pasaloukos }; 632e976f19SNikolaos Pasaloukos 642e976f19SNikolaos Pasaloukos pmu { 652e976f19SNikolaos Pasaloukos compatible = "arm,cortex-a53-pmu"; 662e976f19SNikolaos Pasaloukos interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>, 672e976f19SNikolaos Pasaloukos <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 682e976f19SNikolaos Pasaloukos interrupt-affinity = <&cpu0>, <&cpu1>; 692e976f19SNikolaos Pasaloukos }; 702e976f19SNikolaos Pasaloukos 712e976f19SNikolaos Pasaloukos psci { 722e976f19SNikolaos Pasaloukos compatible = "arm,psci-1.0", "arm,psci-0.2"; 732e976f19SNikolaos Pasaloukos method = "smc"; 742e976f19SNikolaos Pasaloukos }; 752e976f19SNikolaos Pasaloukos 762e976f19SNikolaos Pasaloukos reserved-memory { 772e976f19SNikolaos Pasaloukos #address-cells = <2>; 782e976f19SNikolaos Pasaloukos #size-cells = <2>; 792e976f19SNikolaos Pasaloukos ranges; 802e976f19SNikolaos Pasaloukos 812e976f19SNikolaos Pasaloukos /* SCMI reserved buffer space on DDR space */ 822e976f19SNikolaos Pasaloukos scmi0_shm: scmi-shmem@800 { 832e976f19SNikolaos Pasaloukos compatible = "arm,scmi-shmem"; 842e976f19SNikolaos Pasaloukos reg = <0x0 0x800 0x0 0x80>; 852e976f19SNikolaos Pasaloukos }; 862e976f19SNikolaos Pasaloukos }; 872e976f19SNikolaos Pasaloukos 882e976f19SNikolaos Pasaloukos timer { 892e976f19SNikolaos Pasaloukos compatible = "arm,armv8-timer"; 902e976f19SNikolaos Pasaloukos interrupts = /* Physical Secure PPI */ 912e976f19SNikolaos Pasaloukos <GIC_PPI 13 (GIC_CPU_MASK_RAW(0x3) | 922e976f19SNikolaos Pasaloukos IRQ_TYPE_LEVEL_LOW)>, 932e976f19SNikolaos Pasaloukos /* Physical Non-Secure PPI */ 942e976f19SNikolaos Pasaloukos <GIC_PPI 14 (GIC_CPU_MASK_RAW(0x3) | 952e976f19SNikolaos Pasaloukos IRQ_TYPE_LEVEL_LOW)>, 962e976f19SNikolaos Pasaloukos /* Hypervisor PPI */ 972e976f19SNikolaos Pasaloukos <GIC_PPI 10 (GIC_CPU_MASK_RAW(0x3) | 982e976f19SNikolaos Pasaloukos IRQ_TYPE_LEVEL_LOW)>, 992e976f19SNikolaos Pasaloukos /* Virtual PPI */ 1002e976f19SNikolaos Pasaloukos <GIC_PPI 11 (GIC_CPU_MASK_RAW(0x3) | 1012e976f19SNikolaos Pasaloukos IRQ_TYPE_LEVEL_LOW)>; 1022e976f19SNikolaos Pasaloukos }; 1032e976f19SNikolaos Pasaloukos 1042e976f19SNikolaos Pasaloukos soc@200000000 { 1052e976f19SNikolaos Pasaloukos compatible = "simple-bus"; 1062e976f19SNikolaos Pasaloukos #address-cells = <1>; 1072e976f19SNikolaos Pasaloukos #size-cells = <1>; 1082e976f19SNikolaos Pasaloukos ranges = <0x0 0x2 0x0 0x850000>; 1092e976f19SNikolaos Pasaloukos 1102e976f19SNikolaos Pasaloukos gic: interrupt-controller@410000 { 1112e976f19SNikolaos Pasaloukos compatible = "arm,gic-400"; 1122e976f19SNikolaos Pasaloukos reg = <0x410000 0x20000>, 1132e976f19SNikolaos Pasaloukos <0x420000 0x20000>, 1142e976f19SNikolaos Pasaloukos <0x440000 0x20000>, 1152e976f19SNikolaos Pasaloukos <0x460000 0x20000>; 1162e976f19SNikolaos Pasaloukos #interrupt-cells = <3>; 1172e976f19SNikolaos Pasaloukos #address-cells = <0>; 1182e976f19SNikolaos Pasaloukos interrupt-controller; 1192e976f19SNikolaos Pasaloukos interrupts = <GIC_PPI 9 (GIC_CPU_MASK_RAW(0x3) | 1202e976f19SNikolaos Pasaloukos IRQ_TYPE_LEVEL_LOW)>; 1212e976f19SNikolaos Pasaloukos }; 1222e976f19SNikolaos Pasaloukos 123*c07da6deSNikolaos Pasaloukos gpio0: gpio@4c0000 { 124*c07da6deSNikolaos Pasaloukos compatible = "blaize,blzp1600-gpio"; 125*c07da6deSNikolaos Pasaloukos reg = <0x4c0000 0x1000>; 126*c07da6deSNikolaos Pasaloukos gpio-controller; 127*c07da6deSNikolaos Pasaloukos #gpio-cells = <2>; 128*c07da6deSNikolaos Pasaloukos ngpios = <32>; 129*c07da6deSNikolaos Pasaloukos interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 130*c07da6deSNikolaos Pasaloukos interrupt-controller; 131*c07da6deSNikolaos Pasaloukos #interrupt-cells = <2>; 132*c07da6deSNikolaos Pasaloukos status = "disabled"; 133*c07da6deSNikolaos Pasaloukos }; 134*c07da6deSNikolaos Pasaloukos 1352e976f19SNikolaos Pasaloukos uart0: serial@4d0000 { 1362e976f19SNikolaos Pasaloukos compatible = "ns16550a"; 1372e976f19SNikolaos Pasaloukos reg = <0x4d0000 0x1000>; 1382e976f19SNikolaos Pasaloukos clocks = <&scmi_clk 59>; 1392e976f19SNikolaos Pasaloukos resets = <&scmi_rst 59>; 1402e976f19SNikolaos Pasaloukos reg-shift = <2>; 1412e976f19SNikolaos Pasaloukos interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 1422e976f19SNikolaos Pasaloukos status = "disabled"; 1432e976f19SNikolaos Pasaloukos }; 1442e976f19SNikolaos Pasaloukos 1452e976f19SNikolaos Pasaloukos uart1: serial@4e0000 { 1462e976f19SNikolaos Pasaloukos compatible = "ns16550a"; 1472e976f19SNikolaos Pasaloukos reg = <0x4e0000 0x1000>; 1482e976f19SNikolaos Pasaloukos clocks = <&scmi_clk 60>; 1492e976f19SNikolaos Pasaloukos resets = <&scmi_rst 60>; 1502e976f19SNikolaos Pasaloukos reg-shift = <2>; 1512e976f19SNikolaos Pasaloukos interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 1522e976f19SNikolaos Pasaloukos status = "disabled"; 1532e976f19SNikolaos Pasaloukos }; 1542e976f19SNikolaos Pasaloukos 1552e976f19SNikolaos Pasaloukos i2c0: i2c@4f0000 { 1562e976f19SNikolaos Pasaloukos compatible = "snps,designware-i2c"; 1572e976f19SNikolaos Pasaloukos reg = <0x4f0000 0x1000>; 1582e976f19SNikolaos Pasaloukos interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 1592e976f19SNikolaos Pasaloukos clocks = <&scmi_clk 54>; 1602e976f19SNikolaos Pasaloukos resets = <&scmi_rst 54>; 1612e976f19SNikolaos Pasaloukos #address-cells = <1>; 1622e976f19SNikolaos Pasaloukos #size-cells = <0>; 1632e976f19SNikolaos Pasaloukos status = "disabled"; 1642e976f19SNikolaos Pasaloukos }; 1652e976f19SNikolaos Pasaloukos 1662e976f19SNikolaos Pasaloukos i2c1: i2c@500000 { 1672e976f19SNikolaos Pasaloukos compatible = "snps,designware-i2c"; 1682e976f19SNikolaos Pasaloukos reg = <0x500000 0x1000>; 1692e976f19SNikolaos Pasaloukos interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 1702e976f19SNikolaos Pasaloukos clocks = <&scmi_clk 55>; 1712e976f19SNikolaos Pasaloukos resets = <&scmi_rst 55>; 1722e976f19SNikolaos Pasaloukos #address-cells = <1>; 1732e976f19SNikolaos Pasaloukos #size-cells = <0>; 1742e976f19SNikolaos Pasaloukos status = "disabled"; 1752e976f19SNikolaos Pasaloukos }; 1762e976f19SNikolaos Pasaloukos 1772e976f19SNikolaos Pasaloukos i2c2: i2c@510000 { 1782e976f19SNikolaos Pasaloukos compatible = "snps,designware-i2c"; 1792e976f19SNikolaos Pasaloukos reg = <0x510000 0x1000>; 1802e976f19SNikolaos Pasaloukos interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 1812e976f19SNikolaos Pasaloukos clocks = <&scmi_clk 56>; 1822e976f19SNikolaos Pasaloukos resets = <&scmi_rst 56>; 1832e976f19SNikolaos Pasaloukos #address-cells = <1>; 1842e976f19SNikolaos Pasaloukos #size-cells = <0>; 1852e976f19SNikolaos Pasaloukos status = "disabled"; 1862e976f19SNikolaos Pasaloukos }; 1872e976f19SNikolaos Pasaloukos 1882e976f19SNikolaos Pasaloukos i2c3: i2c@520000 { 1892e976f19SNikolaos Pasaloukos compatible = "snps,designware-i2c"; 1902e976f19SNikolaos Pasaloukos reg = <0x520000 0x1000>; 1912e976f19SNikolaos Pasaloukos interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 1922e976f19SNikolaos Pasaloukos clocks = <&scmi_clk 57>; 1932e976f19SNikolaos Pasaloukos resets = <&scmi_rst 57>; 1942e976f19SNikolaos Pasaloukos #address-cells = <1>; 1952e976f19SNikolaos Pasaloukos #size-cells = <0>; 1962e976f19SNikolaos Pasaloukos status = "disabled"; 1972e976f19SNikolaos Pasaloukos }; 1982e976f19SNikolaos Pasaloukos 1992e976f19SNikolaos Pasaloukos i2c4: i2c@530000 { 2002e976f19SNikolaos Pasaloukos compatible = "snps,designware-i2c"; 2012e976f19SNikolaos Pasaloukos reg = <0x530000 0x1000>; 2022e976f19SNikolaos Pasaloukos interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 2032e976f19SNikolaos Pasaloukos clocks = <&scmi_clk 58>; 2042e976f19SNikolaos Pasaloukos resets = <&scmi_rst 58>; 2052e976f19SNikolaos Pasaloukos #address-cells = <1>; 2062e976f19SNikolaos Pasaloukos #size-cells = <0>; 2072e976f19SNikolaos Pasaloukos status = "disabled"; 2082e976f19SNikolaos Pasaloukos }; 2092e976f19SNikolaos Pasaloukos 2102e976f19SNikolaos Pasaloukos arm_cc712: crypto@550000 { 2112e976f19SNikolaos Pasaloukos compatible = "arm,cryptocell-712-ree"; 2122e976f19SNikolaos Pasaloukos reg = <0x550000 0x1000>; 2132e976f19SNikolaos Pasaloukos interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 2142e976f19SNikolaos Pasaloukos clocks = <&scmi_clk 7>; 2152e976f19SNikolaos Pasaloukos }; 2162e976f19SNikolaos Pasaloukos }; 2172e976f19SNikolaos Pasaloukos}; 218