1/*
2 * Copyright (c) 2019 Stephanos Ioannidis <root@stephanos.io>
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#include <arm/xilinx/zynqmp.dtsi>
8
9/ {
10	cpus {
11		#address-cells = <1>;
12		#size-cells = <0>;
13
14		cpu@0 {
15			device_type = "cpu";
16			compatible = "arm,cortex-r5f";
17			reg = <0>;
18		};
19	};
20
21	soc {
22
23		rpu0_ipi: zynqmp-ipi@ff310000 {
24			status = "disabled";
25			compatible = "xlnx,zynqmp-ipi-mailbox";
26			#address-cells = <1>;
27			#size-cells = <1>;
28
29			reg = <0xff310000 0x10000>;
30			reg-names = "host_ipi_reg";
31			interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL
32					IRQ_DEFAULT_PRIORITY>;
33			local-ipi-id = <1>;
34
35			rpu0_apu_mailbox: mailbox@ff990200 {
36				remote-ipi-id = <0>;
37				reg = <0xff990200 0x20>,
38				      <0xff990220 0x20>,
39				      <0xff990040 0x20>,
40				      <0xff990060 0x20>;
41				reg-names = "local_request_region",
42					    "local_response_region",
43					    "remote_request_region",
44					    "remote_response_region";
45			};
46
47			rpu0_rpu1_mailbox: mailbox@ff990260 {
48				remote-ipi-id = <2>;
49				reg = <0xff990260 0x20>,
50				      <0xff990280 0x20>,
51				      <0xff990420 0x20>,
52				      <0xff990440 0x20>;
53
54				reg-names = "local_request_region",
55					    "local_response_region",
56					    "remote_request_region",
57					    "remote_response_region";
58			};
59		};
60
61		rpu1_ipi: zynqmp-ipi@ff320000 {
62			status = "disabled";
63			#address-cells = <1>;
64			#size-cells = <1>;
65			compatible = "xlnx,zynqmp-ipi-mailbox";
66			local-ipi-id = <2>;
67
68			reg = <0xff320000 0x10000>;
69			reg-names = "host_ipi_reg";
70
71			interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL
72					IRQ_DEFAULT_PRIORITY>;
73
74			rpu1_apu_mailbox: mailbox@ff990400 {
75				remote-ipi-id = <0>;
76				reg = <0xff990400 0x20>,
77				      <0xff990420 0x20>,
78				      <0xff990080 0x20>,
79				      <0xff9900a0 0x20>;
80				reg-names = "local_request_region",
81					    "local_response_region",
82					    "remote_request_region",
83					    "remote_response_region";
84			};
85
86			rpu1_rpu0_mailbox: mailbox@ff990420 {
87				remote-ipi-id = <1>;
88				reg = <0xff990420 0x20>,
89				      <0xff990440 0x20>,
90				      <0xff990260 0x20>,
91				      <0xff990280 0x20>;
92				reg-names = "local_request_region",
93					    "local_response_region",
94					    "remote_request_region",
95					    "remote_response_region";
96			};
97		};
98
99		interrupt-parent = <&gic>;
100
101		gic: interrupt-controller@f9000000 {
102			compatible = "arm,gic-v1", "arm,gic";
103			reg = <0xf9000000 0x1000>,
104					<0xf9001000 0x100>;
105			interrupt-controller;
106			#interrupt-cells = <4>;
107			status = "okay";
108		};
109	};
110};
111