Linux 3.14.25
[platform/adaptation/renesas_rcar/renesas_kernel.git] / arch / arm / boot / dts / sh73a0.dtsi
1 /*
2  * Device Tree Source for the SH73A0 SoC
3  *
4  * Copyright (C) 2012 Renesas Solutions Corp.
5  *
6  * This file is licensed under the terms of the GNU General Public License
7  * version 2.  This program is licensed "as is" without any warranty of any
8  * kind, whether express or implied.
9  */
10
11 /include/ "skeleton.dtsi"
12
13 #include <dt-bindings/interrupt-controller/irq.h>
14
15 / {
16         compatible = "renesas,sh73a0";
17
18         cpus {
19                 #address-cells = <1>;
20                 #size-cells = <0>;
21
22                 cpu@0 {
23                         device_type = "cpu";
24                         compatible = "arm,cortex-a9";
25                         reg = <0>;
26                 };
27                 cpu@1 {
28                         device_type = "cpu";
29                         compatible = "arm,cortex-a9";
30                         reg = <1>;
31                 };
32         };
33
34         gic: interrupt-controller@f0001000 {
35                 compatible = "arm,cortex-a9-gic";
36                 #interrupt-cells = <3>;
37                 #address-cells = <1>;
38                 interrupt-controller;
39                 reg = <0xf0001000 0x1000>,
40                       <0xf0000100 0x100>;
41         };
42
43         pmu {
44                 compatible = "arm,cortex-a9-pmu";
45                 interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>,
46                              <0 56 IRQ_TYPE_LEVEL_HIGH>;
47         };
48
49         irqpin0: irqpin@e6900000 {
50                 compatible = "renesas,intc-irqpin-sh73a0", "renesas,intc-irqpin";
51                 #interrupt-cells = <2>;
52                 interrupt-controller;
53                 reg = <0xe6900000 4>,
54                         <0xe6900010 4>,
55                         <0xe6900020 1>,
56                         <0xe6900040 1>,
57                         <0xe6900060 1>;
58                 interrupt-parent = <&gic>;
59                 interrupts = <0 1 IRQ_TYPE_LEVEL_HIGH
60                               0 2 IRQ_TYPE_LEVEL_HIGH
61                               0 3 IRQ_TYPE_LEVEL_HIGH
62                               0 4 IRQ_TYPE_LEVEL_HIGH
63                               0 5 IRQ_TYPE_LEVEL_HIGH
64                               0 6 IRQ_TYPE_LEVEL_HIGH
65                               0 7 IRQ_TYPE_LEVEL_HIGH
66                               0 8 IRQ_TYPE_LEVEL_HIGH>;
67         };
68
69         irqpin1: irqpin@e6900004 {
70                 compatible = "renesas,intc-irqpin-sh73a0", "renesas,intc-irqpin";
71                 #interrupt-cells = <2>;
72                 interrupt-controller;
73                 reg = <0xe6900004 4>,
74                         <0xe6900014 4>,
75                         <0xe6900024 1>,
76                         <0xe6900044 1>,
77                         <0xe6900064 1>;
78                 interrupt-parent = <&gic>;
79                 interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH
80                               0 10 IRQ_TYPE_LEVEL_HIGH
81                               0 11 IRQ_TYPE_LEVEL_HIGH
82                               0 12 IRQ_TYPE_LEVEL_HIGH
83                               0 13 IRQ_TYPE_LEVEL_HIGH
84                               0 14 IRQ_TYPE_LEVEL_HIGH
85                               0 15 IRQ_TYPE_LEVEL_HIGH
86                               0 16 IRQ_TYPE_LEVEL_HIGH>;
87                 control-parent;
88         };
89
90         irqpin2: irqpin@e6900008 {
91                 compatible = "renesas,intc-irqpin-sh73a0", "renesas,intc-irqpin";
92                 #interrupt-cells = <2>;
93                 interrupt-controller;
94                 reg = <0xe6900008 4>,
95                         <0xe6900018 4>,
96                         <0xe6900028 1>,
97                         <0xe6900048 1>,
98                         <0xe6900068 1>;
99                 interrupt-parent = <&gic>;
100                 interrupts = <0 17 IRQ_TYPE_LEVEL_HIGH
101                               0 18 IRQ_TYPE_LEVEL_HIGH
102                               0 19 IRQ_TYPE_LEVEL_HIGH
103                               0 20 IRQ_TYPE_LEVEL_HIGH
104                               0 21 IRQ_TYPE_LEVEL_HIGH
105                               0 22 IRQ_TYPE_LEVEL_HIGH
106                               0 23 IRQ_TYPE_LEVEL_HIGH
107                               0 24 IRQ_TYPE_LEVEL_HIGH>;
108         };
109
110         irqpin3: irqpin@e690000c {
111                 compatible = "renesas,intc-irqpin-sh73a0", "renesas,intc-irqpin";
112                 #interrupt-cells = <2>;
113                 interrupt-controller;
114                 reg = <0xe690000c 4>,
115                         <0xe690001c 4>,
116                         <0xe690002c 1>,
117                         <0xe690004c 1>,
118                         <0xe690006c 1>;
119                 interrupt-parent = <&gic>;
120                 interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH
121                               0 26 IRQ_TYPE_LEVEL_HIGH
122                               0 27 IRQ_TYPE_LEVEL_HIGH
123                               0 28 IRQ_TYPE_LEVEL_HIGH
124                               0 29 IRQ_TYPE_LEVEL_HIGH
125                               0 30 IRQ_TYPE_LEVEL_HIGH
126                               0 31 IRQ_TYPE_LEVEL_HIGH
127                               0 32 IRQ_TYPE_LEVEL_HIGH>;
128         };
129
130         i2c0: i2c@e6820000 {
131                 #address-cells = <1>;
132                 #size-cells = <0>;
133                 compatible = "renesas,rmobile-iic";
134                 reg = <0xe6820000 0x425>;
135                 interrupt-parent = <&gic>;
136                 interrupts = <0 167 IRQ_TYPE_LEVEL_HIGH
137                               0 168 IRQ_TYPE_LEVEL_HIGH
138                               0 169 IRQ_TYPE_LEVEL_HIGH
139                               0 170 IRQ_TYPE_LEVEL_HIGH>;
140                 status = "disabled";
141         };
142
143         i2c1: i2c@e6822000 {
144                 #address-cells = <1>;
145                 #size-cells = <0>;
146                 compatible = "renesas,rmobile-iic";
147                 reg = <0xe6822000 0x425>;
148                 interrupt-parent = <&gic>;
149                 interrupts = <0 51 IRQ_TYPE_LEVEL_HIGH
150                               0 52 IRQ_TYPE_LEVEL_HIGH
151                               0 53 IRQ_TYPE_LEVEL_HIGH
152                               0 54 IRQ_TYPE_LEVEL_HIGH>;
153                 status = "disabled";
154         };
155
156         i2c2: i2c@e6824000 {
157                 #address-cells = <1>;
158                 #size-cells = <0>;
159                 compatible = "renesas,rmobile-iic";
160                 reg = <0xe6824000 0x425>;
161                 interrupt-parent = <&gic>;
162                 interrupts = <0 171 IRQ_TYPE_LEVEL_HIGH
163                               0 172 IRQ_TYPE_LEVEL_HIGH
164                               0 173 IRQ_TYPE_LEVEL_HIGH
165                               0 174 IRQ_TYPE_LEVEL_HIGH>;
166                 status = "disabled";
167         };
168
169         i2c3: i2c@e6826000 {
170                 #address-cells = <1>;
171                 #size-cells = <0>;
172                 compatible = "renesas,rmobile-iic";
173                 reg = <0xe6826000 0x425>;
174                 interrupt-parent = <&gic>;
175                 interrupts = <0 183 IRQ_TYPE_LEVEL_HIGH
176                               0 184 IRQ_TYPE_LEVEL_HIGH
177                               0 185 IRQ_TYPE_LEVEL_HIGH
178                               0 186 IRQ_TYPE_LEVEL_HIGH>;
179                 status = "disabled";
180         };
181
182         i2c4: i2c@e6828000 {
183                 #address-cells = <1>;
184                 #size-cells = <0>;
185                 compatible = "renesas,rmobile-iic";
186                 reg = <0xe6828000 0x425>;
187                 interrupt-parent = <&gic>;
188                 interrupts = <0 187 IRQ_TYPE_LEVEL_HIGH
189                               0 188 IRQ_TYPE_LEVEL_HIGH
190                               0 189 IRQ_TYPE_LEVEL_HIGH
191                               0 190 IRQ_TYPE_LEVEL_HIGH>;
192                 status = "disabled";
193         };
194
195         mmcif: mmc@e6bd0000 {
196                 compatible = "renesas,sh-mmcif";
197                 reg = <0xe6bd0000 0x100>;
198                 interrupt-parent = <&gic>;
199                 interrupts = <0 140 IRQ_TYPE_LEVEL_HIGH
200                               0 141 IRQ_TYPE_LEVEL_HIGH>;
201                 reg-io-width = <4>;
202                 status = "disabled";
203         };
204
205         sdhi0: sd@ee100000 {
206                 compatible = "renesas,sdhi-sh73a0";
207                 reg = <0xee100000 0x100>;
208                 interrupt-parent = <&gic>;
209                 interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH
210                               0 84 IRQ_TYPE_LEVEL_HIGH
211                               0 85 IRQ_TYPE_LEVEL_HIGH>;
212                 cap-sd-highspeed;
213                 status = "disabled";
214         };
215
216         /* SDHI1 and SDHI2 have no CD pins, no need for CD IRQ */
217         sdhi1: sd@ee120000 {
218                 compatible = "renesas,sdhi-sh73a0";
219                 reg = <0xee120000 0x100>;
220                 interrupt-parent = <&gic>;
221                 interrupts = <0 88 IRQ_TYPE_LEVEL_HIGH
222                               0 89 IRQ_TYPE_LEVEL_HIGH>;
223                 toshiba,mmc-wrprotect-disable;
224                 cap-sd-highspeed;
225                 status = "disabled";
226         };
227
228         sdhi2: sd@ee140000 {
229                 compatible = "renesas,sdhi-sh73a0";
230                 reg = <0xee140000 0x100>;
231                 interrupt-parent = <&gic>;
232                 interrupts = <0 104 IRQ_TYPE_LEVEL_HIGH
233                               0 105 IRQ_TYPE_LEVEL_HIGH>;
234                 toshiba,mmc-wrprotect-disable;
235                 cap-sd-highspeed;
236                 status = "disabled";
237         };
238
239         pfc: pfc@e6050000 {
240                 compatible = "renesas,pfc-sh73a0";
241                 reg = <0xe6050000 0x8000>,
242                       <0xe605801c 0x1c>;
243                 gpio-controller;
244                 #gpio-cells = <2>;
245                 interrupts-extended =
246                         <&irqpin0 0 0>, <&irqpin0 1 0>, <&irqpin0 2 0>, <&irqpin0 3 0>,
247                         <&irqpin0 4 0>, <&irqpin0 5 0>, <&irqpin0 6 0>, <&irqpin0 7 0>,
248                         <&irqpin1 0 0>, <&irqpin1 1 0>, <&irqpin1 2 0>, <&irqpin1 3 0>,
249                         <&irqpin1 4 0>, <&irqpin1 5 0>, <&irqpin1 6 0>, <&irqpin1 7 0>,
250                         <&irqpin2 0 0>, <&irqpin2 1 0>, <&irqpin2 2 0>, <&irqpin2 3 0>,
251                         <&irqpin2 4 0>, <&irqpin2 5 0>, <&irqpin2 6 0>, <&irqpin2 7 0>,
252                         <&irqpin3 0 0>, <&irqpin3 1 0>, <&irqpin3 2 0>, <&irqpin3 3 0>,
253                         <&irqpin3 4 0>, <&irqpin3 5 0>, <&irqpin3 6 0>, <&irqpin3 7 0>;
254         };
255
256         sh_fsi2: sound@ec230000 {
257                 #sound-dai-cells = <1>;
258                 compatible = "renesas,sh_fsi2";
259                 reg = <0xec230000 0x400>;
260                 interrupt-parent = <&gic>;
261                 interrupts = <0 146 0x4>;
262                 status = "disabled";
263         };
264 };