Merge tag 'nfs-for-4.6-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs
[sfrench/cifs-2.6.git] / arch / arm64 / boot / dts / amd / amd-seattle-soc.dtsi
1 /*
2  * DTS file for AMD Seattle SoC
3  *
4  * Copyright (C) 2014 Advanced Micro Devices, Inc.
5  */
6
7 / {
8         compatible = "amd,seattle";
9         interrupt-parent = <&gic0>;
10         #address-cells = <2>;
11         #size-cells = <2>;
12
13         gic0: interrupt-controller@e1101000 {
14                 compatible = "arm,gic-400", "arm,cortex-a15-gic";
15                 interrupt-controller;
16                 #interrupt-cells = <3>;
17                 #address-cells = <2>;
18                 #size-cells = <2>;
19                 reg = <0x0 0xe1110000 0 0x1000>,
20                       <0x0 0xe112f000 0 0x2000>,
21                       <0x0 0xe1140000 0 0x2000>,
22                       <0x0 0xe1160000 0 0x2000>;
23                 interrupts = <1 9 0xf04>;
24                 ranges = <0 0 0 0xe1100000 0 0x100000>;
25                 v2m0: v2m@e0080000 {
26                         compatible = "arm,gic-v2m-frame";
27                         msi-controller;
28                         reg = <0x0 0x00080000 0 0x1000>;
29                 };
30         };
31
32         timer {
33                 compatible = "arm,armv8-timer";
34                 interrupts = <1 13 0xff04>,
35                              <1 14 0xff04>,
36                              <1 11 0xff04>,
37                              <1 10 0xff04>;
38         };
39
40         pmu {
41                 compatible = "arm,armv8-pmuv3";
42                 interrupts = <0 7 4>,
43                              <0 8 4>,
44                              <0 9 4>,
45                              <0 10 4>,
46                              <0 11 4>,
47                              <0 12 4>,
48                              <0 13 4>,
49                              <0 14 4>;
50         };
51
52         smb0: smb {
53                 compatible = "simple-bus";
54                 #address-cells = <2>;
55                 #size-cells = <2>;
56                 ranges;
57
58                 /*
59                  * dma-ranges is 40-bit address space containing:
60                  * - GICv2m MSI register is at 0xe0080000
61                  * - DRAM range [0x8000000000 to 0xffffffffff]
62                  */
63                 dma-ranges = <0x0 0x0 0x0 0x0 0x100 0x0>;
64
65                 /include/ "amd-seattle-clks.dtsi"
66
67                 sata0: sata@e0300000 {
68                         compatible = "snps,dwc-ahci";
69                         reg = <0 0xe0300000 0 0xf0000>;
70                         interrupts = <0 355 4>;
71                         clocks = <&sataclk_333mhz>;
72                         dma-coherent;
73                 };
74
75                 /* This is for Rev B only */
76                 sata1: sata@e0d00000 {
77                         status = "disabled";
78                         compatible = "snps,dwc-ahci";
79                         reg = <0 0xe0d00000 0 0xf0000>;
80                         interrupts = <0 354 4>;
81                         clocks = <&sataclk_333mhz>;
82                         dma-coherent;
83                 };
84
85                 i2c0: i2c@e1000000 {
86                         status = "disabled";
87                         compatible = "snps,designware-i2c";
88                         reg = <0 0xe1000000 0 0x1000>;
89                         interrupts = <0 357 4>;
90                         clocks = <&miscclk_250mhz>;
91                 };
92
93                 i2c1: i2c@e0050000 {
94                         status = "disabled";
95                         compatible = "snps,designware-i2c";
96                         reg = <0 0xe0050000 0 0x1000>;
97                         interrupts = <0 340 4>;
98                         clocks = <&miscclk_250mhz>;
99                 };
100
101                 serial0: serial@e1010000 {
102                         compatible = "arm,pl011", "arm,primecell";
103                         reg = <0 0xe1010000 0 0x1000>;
104                         interrupts = <0 328 4>;
105                         clocks = <&uartspiclk_100mhz>, <&uartspiclk_100mhz>;
106                         clock-names = "uartclk", "apb_pclk";
107                 };
108
109                 spi0: ssp@e1020000 {
110                         status = "disabled";
111                         compatible = "arm,pl022", "arm,primecell";
112                         reg = <0 0xe1020000 0 0x1000>;
113                         spi-controller;
114                         interrupts = <0 330 4>;
115                         clocks = <&uartspiclk_100mhz>;
116                         clock-names = "apb_pclk";
117                 };
118
119                 spi1: ssp@e1030000 {
120                         status = "disabled";
121                         compatible = "arm,pl022", "arm,primecell";
122                         reg = <0 0xe1030000 0 0x1000>;
123                         spi-controller;
124                         interrupts = <0 329 4>;
125                         clocks = <&uartspiclk_100mhz>;
126                         clock-names = "apb_pclk";
127                         num-cs = <1>;
128                         #address-cells = <1>;
129                         #size-cells = <0>;
130                 };
131
132                 gpio0: gpio@e1040000 { /* Not available to OS for B0 */
133                         status = "disabled";
134                         compatible = "arm,pl061", "arm,primecell";
135                         #gpio-cells = <2>;
136                         reg = <0 0xe1040000 0 0x1000>;
137                         gpio-controller;
138                         interrupts = <0 359 4>;
139                         interrupt-controller;
140                         #interrupt-cells = <2>;
141                         clocks = <&miscclk_250mhz>;
142                         clock-names = "apb_pclk";
143                 };
144
145                 gpio1: gpio@e1050000 { /* [0:7] */
146                         status = "disabled";
147                         compatible = "arm,pl061", "arm,primecell";
148                         #gpio-cells = <2>;
149                         reg = <0 0xe1050000 0 0x1000>;
150                         gpio-controller;
151                         interrupt-controller;
152                         #interrupt-cells = <2>;
153                         interrupts = <0 358 4>;
154                         clocks = <&miscclk_250mhz>;
155                         clock-names = "apb_pclk";
156                 };
157
158                 gpio2: gpio@e0020000 { /* [8:15] */
159                         status = "disabled";
160                         compatible = "arm,pl061", "arm,primecell";
161                         #gpio-cells = <2>;
162                         reg = <0 0xe0020000 0 0x1000>;
163                         gpio-controller;
164                         interrupt-controller;
165                         #interrupt-cells = <2>;
166                         interrupts = <0 366 4>;
167                         clocks = <&miscclk_250mhz>;
168                         clock-names = "apb_pclk";
169                 };
170
171                 gpio3: gpio@e0030000 { /* [16:23] */
172                         status = "disabled";
173                         compatible = "arm,pl061", "arm,primecell";
174                         #gpio-cells = <2>;
175                         reg = <0 0xe0030000 0 0x1000>;
176                         gpio-controller;
177                         interrupt-controller;
178                         #interrupt-cells = <2>;
179                         interrupts = <0 365 4>;
180                         clocks = <&miscclk_250mhz>;
181                         clock-names = "apb_pclk";
182                 };
183
184                 gpio4: gpio@e0080000 { /* [24] */
185                         status = "disabled";
186                         compatible = "arm,pl061", "arm,primecell";
187                         #gpio-cells = <2>;
188                         reg = <0 0xe0080000 0 0x1000>;
189                         gpio-controller;
190                         interrupt-controller;
191                         #interrupt-cells = <2>;
192                         interrupts = <0 361 4>;
193                         clocks = <&miscclk_250mhz>;
194                         clock-names = "apb_pclk";
195                 };
196
197                 ccp0: ccp@e0100000 {
198                         status = "disabled";
199                         compatible = "amd,ccp-seattle-v1a";
200                         reg = <0 0xe0100000 0 0x10000>;
201                         interrupts = <0 3 4>;
202                         dma-coherent;
203                 };
204
205                 pcie0: pcie@f0000000 {
206                         compatible = "pci-host-ecam-generic";
207                         #address-cells = <3>;
208                         #size-cells = <2>;
209                         #interrupt-cells = <1>;
210                         device_type = "pci";
211                         bus-range = <0 0x7f>;
212                         msi-parent = <&v2m0>;
213                         reg = <0 0xf0000000 0 0x10000000>;
214
215                         interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
216                         interrupt-map =
217                                 <0x1000 0x0 0x0 0x1 &gic0 0x0 0x0 0x0 0x120 0x1>,
218                                 <0x1000 0x0 0x0 0x2 &gic0 0x0 0x0 0x0 0x121 0x1>,
219                                 <0x1000 0x0 0x0 0x3 &gic0 0x0 0x0 0x0 0x122 0x1>,
220                                 <0x1000 0x0 0x0 0x4 &gic0 0x0 0x0 0x0 0x123 0x1>;
221
222                         dma-coherent;
223                         dma-ranges = <0x43000000 0x0 0x0 0x0 0x0 0x100 0x0>;
224                         ranges =
225                                 /* I/O Memory (size=64K) */
226                                 <0x01000000 0x00 0x00000000 0x00 0xefff0000 0x00 0x00010000>,
227                                 /* 32-bit MMIO (size=2G) */
228                                 <0x02000000 0x00 0x40000000 0x00 0x40000000 0x00 0x80000000>,
229                                 /* 64-bit MMIO (size= 124G) */
230                                 <0x03000000 0x01 0x00000000 0x01 0x00000000 0x7f 0x00000000>;
231                 };
232
233                 /* Perf CCN504 PMU */
234                 ccn: ccn@e8000000 {
235                         compatible = "arm,ccn-504";
236                         reg = <0x0 0xe8000000 0 0x1000000>;
237                         interrupts = <0 380 4>;
238                 };
239
240                 ipmi_kcs: kcs@e0010000 {
241                         status = "disabled";
242                         compatible = "ipmi-kcs";
243                         device_type = "ipmi";
244                         reg = <0x0 0xe0010000 0 0x8>;
245                         interrupts = <0 389 4>;
246                         reg-size = <1>;
247                         reg-spacing = <4>;
248                 };
249         };
250 };