139cb62cbSJoseph Lo#include <dt-bindings/interrupt-controller/arm-gic.h>
239cb62cbSJoseph Lo
339cb62cbSJoseph Lo/ {
439cb62cbSJoseph Lo	compatible = "nvidia,tegra186";
539cb62cbSJoseph Lo	interrupt-parent = <&gic>;
639cb62cbSJoseph Lo	#address-cells = <2>;
739cb62cbSJoseph Lo	#size-cells = <2>;
839cb62cbSJoseph Lo
939cb62cbSJoseph Lo	uarta: serial@3100000 {
1039cb62cbSJoseph Lo		compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
1139cb62cbSJoseph Lo		reg = <0x0 0x03100000 0x0 0x40>;
1239cb62cbSJoseph Lo		reg-shift = <2>;
1339cb62cbSJoseph Lo		interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
1439cb62cbSJoseph Lo		status = "disabled";
1539cb62cbSJoseph Lo	};
1639cb62cbSJoseph Lo
1739cb62cbSJoseph Lo	gic: interrupt-controller@3881000 {
1839cb62cbSJoseph Lo		compatible = "arm,gic-400";
1939cb62cbSJoseph Lo		#interrupt-cells = <3>;
2039cb62cbSJoseph Lo		interrupt-controller;
2139cb62cbSJoseph Lo		reg = <0x0 0x03881000 0x0 0x1000>,
2239cb62cbSJoseph Lo		      <0x0 0x03882000 0x0 0x2000>;
2339cb62cbSJoseph Lo		interrupts = <GIC_PPI 9
2439cb62cbSJoseph Lo			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
2539cb62cbSJoseph Lo		interrupt-parent = <&gic>;
2639cb62cbSJoseph Lo	};
2739cb62cbSJoseph Lo
2839cb62cbSJoseph Lo	hsp_top0: hsp@3c00000 {
2939cb62cbSJoseph Lo		compatible = "nvidia,tegra186-hsp";
3039cb62cbSJoseph Lo		reg = <0x0 0x03c00000 0x0 0xa0000>;
3139cb62cbSJoseph Lo		interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
3239cb62cbSJoseph Lo		interrupt-names = "doorbell";
3339cb62cbSJoseph Lo		#mbox-cells = <2>;
3439cb62cbSJoseph Lo		status = "disabled";
3539cb62cbSJoseph Lo	};
3639cb62cbSJoseph Lo
3739cb62cbSJoseph Lo	sysram@30000000 {
3839cb62cbSJoseph Lo		compatible = "nvidia,tegra186-sysram", "mmio-sram";
3939cb62cbSJoseph Lo		reg = <0x0 0x30000000 0x0 0x50000>;
4039cb62cbSJoseph Lo		#address-cells = <2>;
4139cb62cbSJoseph Lo		#size-cells = <2>;
4239cb62cbSJoseph Lo		ranges = <0 0x0 0x0 0x30000000 0x0 0x50000>;
4339cb62cbSJoseph Lo
4439cb62cbSJoseph Lo		cpu_bpmp_tx: shmem@4e000 {
4539cb62cbSJoseph Lo			compatible = "nvidia,tegra186-bpmp-shmem";
4639cb62cbSJoseph Lo			reg = <0x0 0x4e000 0x0 0x1000>;
4739cb62cbSJoseph Lo			label = "cpu-bpmp-tx";
4839cb62cbSJoseph Lo			pool;
4939cb62cbSJoseph Lo		};
5039cb62cbSJoseph Lo
5139cb62cbSJoseph Lo		cpu_bpmp_rx: shmem@4f000 {
5239cb62cbSJoseph Lo			compatible = "nvidia,tegra186-bpmp-shmem";
5339cb62cbSJoseph Lo			reg = <0x0 0x4f000 0x0 0x1000>;
5439cb62cbSJoseph Lo			label = "cpu-bpmp-rx";
5539cb62cbSJoseph Lo			pool;
5639cb62cbSJoseph Lo		};
5739cb62cbSJoseph Lo	};
5839cb62cbSJoseph Lo
5939cb62cbSJoseph Lo	bpmp: bpmp {
6039cb62cbSJoseph Lo		compatible = "nvidia,tegra186-bpmp";
6139cb62cbSJoseph Lo		mboxes = <&hsp_top0 0 19>;
6239cb62cbSJoseph Lo		shmem = <&cpu_bpmp_tx &cpu_bpmp_rx>;
6339cb62cbSJoseph Lo		#clock-cells = <1>;
6439cb62cbSJoseph Lo		#reset-cells = <1>;
6539cb62cbSJoseph Lo
6639cb62cbSJoseph Lo		bpmp_i2c: i2c {
6739cb62cbSJoseph Lo			compatible = "nvidia,tegra186-bpmp-i2c";
6839cb62cbSJoseph Lo			nvidia,bpmp-bus-id = <5>;
6939cb62cbSJoseph Lo			#address-cells = <1>;
7039cb62cbSJoseph Lo			#size-cells = <0>;
7139cb62cbSJoseph Lo			status = "disabled";
7239cb62cbSJoseph Lo		};
7339cb62cbSJoseph Lo	};
7439cb62cbSJoseph Lo
7539cb62cbSJoseph Lo	timer {
7639cb62cbSJoseph Lo		compatible = "arm,armv8-timer";
7739cb62cbSJoseph Lo		interrupts = <GIC_PPI 13
7839cb62cbSJoseph Lo				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
7939cb62cbSJoseph Lo			     <GIC_PPI 14
8039cb62cbSJoseph Lo				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
8139cb62cbSJoseph Lo			     <GIC_PPI 11
8239cb62cbSJoseph Lo				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
8339cb62cbSJoseph Lo			     <GIC_PPI 10
8439cb62cbSJoseph Lo				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
8539cb62cbSJoseph Lo		interrupt-parent = <&gic>;
8639cb62cbSJoseph Lo	};
8739cb62cbSJoseph Lo};
88