xref: /linux/scripts/dtc/include-prefixes/arm64/blaize/blaize-blzp1600.dtsi (revision ec71f661a572a770d7c861cd52a50cbbb0e1a8d1)
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