12846c905SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+ 22846c905SEmmanuel Vadot/* 32846c905SEmmanuel Vadot * Copyright (c) 2024 Blaize, Inc. All rights reserved. 42846c905SEmmanuel Vadot */ 52846c905SEmmanuel Vadot 62846c905SEmmanuel Vadot/dts-v1/; 72846c905SEmmanuel Vadot 82846c905SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 92846c905SEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 102846c905SEmmanuel Vadot 112846c905SEmmanuel Vadot/ { 122846c905SEmmanuel Vadot interrupt-parent = <&gic>; 132846c905SEmmanuel Vadot #address-cells = <2>; 142846c905SEmmanuel Vadot #size-cells = <2>; 152846c905SEmmanuel Vadot 162846c905SEmmanuel Vadot cpus { 172846c905SEmmanuel Vadot #address-cells = <2>; 182846c905SEmmanuel Vadot #size-cells = <0>; 192846c905SEmmanuel Vadot 202846c905SEmmanuel Vadot cpu0: cpu@0 { 212846c905SEmmanuel Vadot compatible = "arm,cortex-a53"; 222846c905SEmmanuel Vadot reg = <0x0 0x0>; 232846c905SEmmanuel Vadot device_type = "cpu"; 242846c905SEmmanuel Vadot enable-method = "psci"; 252846c905SEmmanuel Vadot next-level-cache = <&l2>; 262846c905SEmmanuel Vadot }; 272846c905SEmmanuel Vadot 282846c905SEmmanuel Vadot cpu1: cpu@1 { 292846c905SEmmanuel Vadot compatible = "arm,cortex-a53"; 302846c905SEmmanuel Vadot reg = <0x0 0x1>; 312846c905SEmmanuel Vadot device_type = "cpu"; 322846c905SEmmanuel Vadot enable-method = "psci"; 332846c905SEmmanuel Vadot next-level-cache = <&l2>; 342846c905SEmmanuel Vadot }; 352846c905SEmmanuel Vadot 362846c905SEmmanuel Vadot l2: l2-cache0 { 372846c905SEmmanuel Vadot compatible = "cache"; 382846c905SEmmanuel Vadot cache-level = <2>; 392846c905SEmmanuel Vadot cache-unified; 402846c905SEmmanuel Vadot }; 412846c905SEmmanuel Vadot }; 422846c905SEmmanuel Vadot 432846c905SEmmanuel Vadot firmware { 442846c905SEmmanuel Vadot scmi { 452846c905SEmmanuel Vadot compatible = "arm,scmi-smc"; 462846c905SEmmanuel Vadot arm,smc-id = <0x82002000>; 472846c905SEmmanuel Vadot #address-cells = <1>; 482846c905SEmmanuel Vadot #size-cells = <0>; 492846c905SEmmanuel Vadot 502846c905SEmmanuel Vadot shmem = <&scmi0_shm>; 512846c905SEmmanuel Vadot 522846c905SEmmanuel Vadot scmi_clk: protocol@14 { 532846c905SEmmanuel Vadot reg = <0x14>; 542846c905SEmmanuel Vadot #clock-cells = <1>; 552846c905SEmmanuel Vadot }; 562846c905SEmmanuel Vadot 572846c905SEmmanuel Vadot scmi_rst: protocol@16 { 582846c905SEmmanuel Vadot reg = <0x16>; 592846c905SEmmanuel Vadot #reset-cells = <1>; 602846c905SEmmanuel Vadot }; 612846c905SEmmanuel Vadot }; 622846c905SEmmanuel Vadot }; 632846c905SEmmanuel Vadot 642846c905SEmmanuel Vadot pmu { 652846c905SEmmanuel Vadot compatible = "arm,cortex-a53-pmu"; 662846c905SEmmanuel Vadot interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>, 672846c905SEmmanuel Vadot <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 682846c905SEmmanuel Vadot interrupt-affinity = <&cpu0>, <&cpu1>; 692846c905SEmmanuel Vadot }; 702846c905SEmmanuel Vadot 712846c905SEmmanuel Vadot psci { 722846c905SEmmanuel Vadot compatible = "arm,psci-1.0", "arm,psci-0.2"; 732846c905SEmmanuel Vadot method = "smc"; 742846c905SEmmanuel Vadot }; 752846c905SEmmanuel Vadot 762846c905SEmmanuel Vadot reserved-memory { 772846c905SEmmanuel Vadot #address-cells = <2>; 782846c905SEmmanuel Vadot #size-cells = <2>; 792846c905SEmmanuel Vadot ranges; 802846c905SEmmanuel Vadot 812846c905SEmmanuel Vadot /* SCMI reserved buffer space on DDR space */ 822846c905SEmmanuel Vadot scmi0_shm: scmi-shmem@800 { 832846c905SEmmanuel Vadot compatible = "arm,scmi-shmem"; 842846c905SEmmanuel Vadot reg = <0x0 0x800 0x0 0x80>; 852846c905SEmmanuel Vadot }; 862846c905SEmmanuel Vadot }; 872846c905SEmmanuel Vadot 882846c905SEmmanuel Vadot timer { 892846c905SEmmanuel Vadot compatible = "arm,armv8-timer"; 902846c905SEmmanuel Vadot interrupts = /* Physical Secure PPI */ 912846c905SEmmanuel Vadot <GIC_PPI 13 (GIC_CPU_MASK_RAW(0x3) | 922846c905SEmmanuel Vadot IRQ_TYPE_LEVEL_LOW)>, 932846c905SEmmanuel Vadot /* Physical Non-Secure PPI */ 942846c905SEmmanuel Vadot <GIC_PPI 14 (GIC_CPU_MASK_RAW(0x3) | 952846c905SEmmanuel Vadot IRQ_TYPE_LEVEL_LOW)>, 962846c905SEmmanuel Vadot /* Hypervisor PPI */ 972846c905SEmmanuel Vadot <GIC_PPI 10 (GIC_CPU_MASK_RAW(0x3) | 982846c905SEmmanuel Vadot IRQ_TYPE_LEVEL_LOW)>, 992846c905SEmmanuel Vadot /* Virtual PPI */ 1002846c905SEmmanuel Vadot <GIC_PPI 11 (GIC_CPU_MASK_RAW(0x3) | 1012846c905SEmmanuel Vadot IRQ_TYPE_LEVEL_LOW)>; 1022846c905SEmmanuel Vadot }; 1032846c905SEmmanuel Vadot 1042846c905SEmmanuel Vadot soc@200000000 { 1052846c905SEmmanuel Vadot compatible = "simple-bus"; 1062846c905SEmmanuel Vadot #address-cells = <1>; 1072846c905SEmmanuel Vadot #size-cells = <1>; 1082846c905SEmmanuel Vadot ranges = <0x0 0x2 0x0 0x850000>; 1092846c905SEmmanuel Vadot 1102846c905SEmmanuel Vadot gic: interrupt-controller@410000 { 1112846c905SEmmanuel Vadot compatible = "arm,gic-400"; 1122846c905SEmmanuel Vadot reg = <0x410000 0x20000>, 1132846c905SEmmanuel Vadot <0x420000 0x20000>, 1142846c905SEmmanuel Vadot <0x440000 0x20000>, 1152846c905SEmmanuel Vadot <0x460000 0x20000>; 1162846c905SEmmanuel Vadot #interrupt-cells = <3>; 1172846c905SEmmanuel Vadot #address-cells = <0>; 1182846c905SEmmanuel Vadot interrupt-controller; 1192846c905SEmmanuel Vadot interrupts = <GIC_PPI 9 (GIC_CPU_MASK_RAW(0x3) | 1202846c905SEmmanuel Vadot IRQ_TYPE_LEVEL_LOW)>; 1212846c905SEmmanuel Vadot }; 1222846c905SEmmanuel Vadot 123*ae5de77eSEmmanuel Vadot gpio0: gpio@4c0000 { 124*ae5de77eSEmmanuel Vadot compatible = "blaize,blzp1600-gpio"; 125*ae5de77eSEmmanuel Vadot reg = <0x4c0000 0x1000>; 126*ae5de77eSEmmanuel Vadot gpio-controller; 127*ae5de77eSEmmanuel Vadot #gpio-cells = <2>; 128*ae5de77eSEmmanuel Vadot ngpios = <32>; 129*ae5de77eSEmmanuel Vadot interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 130*ae5de77eSEmmanuel Vadot interrupt-controller; 131*ae5de77eSEmmanuel Vadot #interrupt-cells = <2>; 132*ae5de77eSEmmanuel Vadot status = "disabled"; 133*ae5de77eSEmmanuel Vadot }; 134*ae5de77eSEmmanuel Vadot 1352846c905SEmmanuel Vadot uart0: serial@4d0000 { 1362846c905SEmmanuel Vadot compatible = "ns16550a"; 1372846c905SEmmanuel Vadot reg = <0x4d0000 0x1000>; 1382846c905SEmmanuel Vadot clocks = <&scmi_clk 59>; 1392846c905SEmmanuel Vadot resets = <&scmi_rst 59>; 1402846c905SEmmanuel Vadot reg-shift = <2>; 1412846c905SEmmanuel Vadot interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 1422846c905SEmmanuel Vadot status = "disabled"; 1432846c905SEmmanuel Vadot }; 1442846c905SEmmanuel Vadot 1452846c905SEmmanuel Vadot uart1: serial@4e0000 { 1462846c905SEmmanuel Vadot compatible = "ns16550a"; 1472846c905SEmmanuel Vadot reg = <0x4e0000 0x1000>; 1482846c905SEmmanuel Vadot clocks = <&scmi_clk 60>; 1492846c905SEmmanuel Vadot resets = <&scmi_rst 60>; 1502846c905SEmmanuel Vadot reg-shift = <2>; 1512846c905SEmmanuel Vadot interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 1522846c905SEmmanuel Vadot status = "disabled"; 1532846c905SEmmanuel Vadot }; 1542846c905SEmmanuel Vadot 1552846c905SEmmanuel Vadot i2c0: i2c@4f0000 { 1562846c905SEmmanuel Vadot compatible = "snps,designware-i2c"; 1572846c905SEmmanuel Vadot reg = <0x4f0000 0x1000>; 1582846c905SEmmanuel Vadot interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 1592846c905SEmmanuel Vadot clocks = <&scmi_clk 54>; 1602846c905SEmmanuel Vadot resets = <&scmi_rst 54>; 1612846c905SEmmanuel Vadot #address-cells = <1>; 1622846c905SEmmanuel Vadot #size-cells = <0>; 1632846c905SEmmanuel Vadot status = "disabled"; 1642846c905SEmmanuel Vadot }; 1652846c905SEmmanuel Vadot 1662846c905SEmmanuel Vadot i2c1: i2c@500000 { 1672846c905SEmmanuel Vadot compatible = "snps,designware-i2c"; 1682846c905SEmmanuel Vadot reg = <0x500000 0x1000>; 1692846c905SEmmanuel Vadot interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 1702846c905SEmmanuel Vadot clocks = <&scmi_clk 55>; 1712846c905SEmmanuel Vadot resets = <&scmi_rst 55>; 1722846c905SEmmanuel Vadot #address-cells = <1>; 1732846c905SEmmanuel Vadot #size-cells = <0>; 1742846c905SEmmanuel Vadot status = "disabled"; 1752846c905SEmmanuel Vadot }; 1762846c905SEmmanuel Vadot 1772846c905SEmmanuel Vadot i2c2: i2c@510000 { 1782846c905SEmmanuel Vadot compatible = "snps,designware-i2c"; 1792846c905SEmmanuel Vadot reg = <0x510000 0x1000>; 1802846c905SEmmanuel Vadot interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 1812846c905SEmmanuel Vadot clocks = <&scmi_clk 56>; 1822846c905SEmmanuel Vadot resets = <&scmi_rst 56>; 1832846c905SEmmanuel Vadot #address-cells = <1>; 1842846c905SEmmanuel Vadot #size-cells = <0>; 1852846c905SEmmanuel Vadot status = "disabled"; 1862846c905SEmmanuel Vadot }; 1872846c905SEmmanuel Vadot 1882846c905SEmmanuel Vadot i2c3: i2c@520000 { 1892846c905SEmmanuel Vadot compatible = "snps,designware-i2c"; 1902846c905SEmmanuel Vadot reg = <0x520000 0x1000>; 1912846c905SEmmanuel Vadot interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 1922846c905SEmmanuel Vadot clocks = <&scmi_clk 57>; 1932846c905SEmmanuel Vadot resets = <&scmi_rst 57>; 1942846c905SEmmanuel Vadot #address-cells = <1>; 1952846c905SEmmanuel Vadot #size-cells = <0>; 1962846c905SEmmanuel Vadot status = "disabled"; 1972846c905SEmmanuel Vadot }; 1982846c905SEmmanuel Vadot 1992846c905SEmmanuel Vadot i2c4: i2c@530000 { 2002846c905SEmmanuel Vadot compatible = "snps,designware-i2c"; 2012846c905SEmmanuel Vadot reg = <0x530000 0x1000>; 2022846c905SEmmanuel Vadot interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 2032846c905SEmmanuel Vadot clocks = <&scmi_clk 58>; 2042846c905SEmmanuel Vadot resets = <&scmi_rst 58>; 2052846c905SEmmanuel Vadot #address-cells = <1>; 2062846c905SEmmanuel Vadot #size-cells = <0>; 2072846c905SEmmanuel Vadot status = "disabled"; 2082846c905SEmmanuel Vadot }; 2092846c905SEmmanuel Vadot 2102846c905SEmmanuel Vadot arm_cc712: crypto@550000 { 2112846c905SEmmanuel Vadot compatible = "arm,cryptocell-712-ree"; 2122846c905SEmmanuel Vadot reg = <0x550000 0x1000>; 2132846c905SEmmanuel Vadot interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 2142846c905SEmmanuel Vadot clocks = <&scmi_clk 7>; 2152846c905SEmmanuel Vadot }; 2162846c905SEmmanuel Vadot }; 2172846c905SEmmanuel Vadot}; 218