]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/gnu/dts/arm/rtd1195.dtsi
Import DTS files for arm, arm64, riscv from Linux 5.8
[FreeBSD/FreeBSD.git] / sys / gnu / dts / arm / rtd1195.dtsi
1 // SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
2 /*
3  * Copyright (c) 2017-2019 Andreas Färber
4  */
5
6 /memreserve/ 0x00000000 0x0000a800; /* boot code */
7 /memreserve/ 0x0000a800 0x000f5800;
8 /memreserve/ 0x17fff000 0x00001000;
9
10 #include <dt-bindings/interrupt-controller/arm-gic.h>
11 #include <dt-bindings/reset/realtek,rtd1195.h>
12
13 / {
14         compatible = "realtek,rtd1195";
15         interrupt-parent = <&gic>;
16         #address-cells = <1>;
17         #size-cells = <1>;
18
19         cpus {
20                 #address-cells = <1>;
21                 #size-cells = <0>;
22
23                 cpu0: cpu@0 {
24                         device_type = "cpu";
25                         compatible = "arm,cortex-a7";
26                         reg = <0x0>;
27                         clock-frequency = <1000000000>;
28                 };
29
30                 cpu1: cpu@1 {
31                         device_type = "cpu";
32                         compatible = "arm,cortex-a7";
33                         reg = <0x1>;
34                         clock-frequency = <1000000000>;
35                 };
36         };
37
38         reserved-memory {
39                 #address-cells = <1>;
40                 #size-cells = <1>;
41                 ranges;
42
43                 rpc_comm: rpc@b000 {
44                         reg = <0x0000b000 0x1000>;
45                 };
46
47                 audio@1b00000 {
48                         reg = <0x01b00000 0x400000>;
49                 };
50
51                 rpc_ringbuf: rpc@1ffe000 {
52                         reg = <0x01ffe000 0x4000>;
53                 };
54
55                 secure@10000000 {
56                         reg = <0x10000000 0x100000>;
57                         no-map;
58                 };
59         };
60
61         arm-pmu {
62                 compatible = "arm,cortex-a7-pmu";
63                 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
64                              <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
65                 interrupt-affinity = <&cpu0>, <&cpu1>;
66         };
67
68         timer {
69                 compatible = "arm,armv7-timer";
70                 interrupts = <GIC_PPI 13
71                         (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
72                              <GIC_PPI 14
73                         (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
74                              <GIC_PPI 11
75                         (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
76                              <GIC_PPI 10
77                         (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
78                 clock-frequency = <27000000>;
79         };
80
81         osc27M: osc {
82                 compatible = "fixed-clock";
83                 clock-frequency = <27000000>;
84                 #clock-cells = <0>;
85                 clock-output-names = "osc27M";
86         };
87
88         soc {
89                 compatible = "simple-bus";
90                 #address-cells = <1>;
91                 #size-cells = <1>;
92                 ranges = <0x00000000 0x00000000 0x0000a800>,
93                          <0x18000000 0x18000000 0x00070000>,
94                          <0x18100000 0x18100000 0x01000000>,
95                          <0x80000000 0x80000000 0x80000000>;
96
97                 rbus: bus@18000000 {
98                         compatible = "simple-bus";
99                         reg = <0x18000000 0x70000>;
100                         #address-cells = <1>;
101                         #size-cells = <1>;
102                         ranges = <0x0 0x18000000 0x70000>;
103
104                         crt: syscon@0 {
105                                 compatible = "syscon", "simple-mfd";
106                                 reg = <0x0 0x1000>;
107                                 reg-io-width = <4>;
108                                 #address-cells = <1>;
109                                 #size-cells = <1>;
110                                 ranges = <0x0 0x0 0x1000>;
111                         };
112
113                         iso: syscon@7000 {
114                                 compatible = "syscon", "simple-mfd";
115                                 reg = <0x7000 0x1000>;
116                                 reg-io-width = <4>;
117                                 #address-cells = <1>;
118                                 #size-cells = <1>;
119                                 ranges = <0x0 0x7000 0x1000>;
120                         };
121
122                         sb2: syscon@1a000 {
123                                 compatible = "syscon", "simple-mfd";
124                                 reg = <0x1a000 0x1000>;
125                                 reg-io-width = <4>;
126                                 #address-cells = <1>;
127                                 #size-cells = <1>;
128                                 ranges = <0x0 0x1a000 0x1000>;
129                         };
130
131                         misc: syscon@1b000 {
132                                 compatible = "syscon", "simple-mfd";
133                                 reg = <0x1b000 0x1000>;
134                                 reg-io-width = <4>;
135                                 #address-cells = <1>;
136                                 #size-cells = <1>;
137                                 ranges = <0x0 0x1b000 0x1000>;
138                         };
139
140                         scpu_wrapper: syscon@1d000 {
141                                 compatible = "syscon", "simple-mfd";
142                                 reg = <0x1d000 0x1000>;
143                                 reg-io-width = <4>;
144                                 #address-cells = <1>;
145                                 #size-cells = <1>;
146                                 ranges = <0x0 0x1d000 0x1000>;
147                         };
148                 };
149
150                 gic: interrupt-controller@ff011000 {
151                         compatible = "arm,cortex-a7-gic";
152                         reg = <0xff011000 0x1000>,
153                               <0xff012000 0x2000>,
154                               <0xff014000 0x2000>,
155                               <0xff016000 0x2000>;
156                         interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
157                         interrupt-controller;
158                         #interrupt-cells = <3>;
159                 };
160         };
161 };
162
163 &crt {
164         reset1: reset-controller@0 {
165                 compatible = "snps,dw-low-reset";
166                 reg = <0x0 0x4>;
167                 #reset-cells = <1>;
168         };
169
170         reset2: reset-controller@4 {
171                 compatible = "snps,dw-low-reset";
172                 reg = <0x4 0x4>;
173                 #reset-cells = <1>;
174         };
175
176         reset3: reset-controller@8 {
177                 compatible = "snps,dw-low-reset";
178                 reg = <0x8 0x4>;
179                 #reset-cells = <1>;
180         };
181 };
182
183 &iso {
184         iso_reset: reset-controller@88 {
185                 compatible = "snps,dw-low-reset";
186                 reg = <0x88 0x4>;
187                 #reset-cells = <1>;
188         };
189
190         wdt: watchdog@680 {
191                 compatible = "realtek,rtd1295-watchdog";
192                 reg = <0x680 0x100>;
193                 clocks = <&osc27M>;
194         };
195
196         uart0: serial@800 {
197                 compatible = "snps,dw-apb-uart";
198                 reg = <0x800 0x400>;
199                 reg-shift = <2>;
200                 reg-io-width = <4>;
201                 resets = <&iso_reset RTD1195_ISO_RSTN_UR0>;
202                 clock-frequency = <27000000>;
203                 status = "disabled";
204         };
205 };
206
207 &misc {
208         uart1: serial@200 {
209                 compatible = "snps,dw-apb-uart";
210                 reg = <0x200 0x100>;
211                 reg-shift = <2>;
212                 reg-io-width = <4>;
213                 resets = <&reset2 RTD1195_RSTN_UR1>;
214                 clock-frequency = <27000000>;
215                 status = "disabled";
216         };
217 };