Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / sh73a0-kzm9g.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Device Tree Source for the KZM-A9-GT board
4  *
5  * Copyright (C) 2012 Horms Solutions Ltd.
6  *
7  * Based on sh73a0-kzm9g.dts
8  * Copyright (C) 2012 Renesas Solutions Corp.
9  */
10
11 /dts-v1/;
12 #include "sh73a0.dtsi"
13 #include <dt-bindings/gpio/gpio.h>
14 #include <dt-bindings/input/input.h>
15 #include <dt-bindings/interrupt-controller/irq.h>
16
17 / {
18         model = "KZM-A9-GT";
19         compatible = "renesas,kzm9g", "renesas,sh73a0";
20
21         aliases {
22                 serial0 = &scifa4;
23         };
24
25         cpus {
26                 cpu@0 {
27                         cpu0-supply = <&vdd_dvfs>;
28                         operating-points = <
29                                 /* kHz  uV */
30                                 1196000 1315000
31                                  598000 1175000
32                                  398667 1065000
33                         >;
34                         voltage-tolerance = <1>; /* 1% */
35                 };
36         };
37
38         chosen {
39                 bootargs = "root=/dev/nfs ip=dhcp ignore_loglevel rw";
40                 stdout-path = "serial0:115200n8";
41         };
42
43         memory@40000000 {
44                 device_type = "memory";
45                 reg = <0x40000000 0x20000000>;
46         };
47
48         reg_1p8v: regulator-1p8v {
49                 compatible = "regulator-fixed";
50                 regulator-name = "fixed-1.8V";
51                 regulator-min-microvolt = <1800000>;
52                 regulator-max-microvolt = <1800000>;
53                 regulator-always-on;
54                 regulator-boot-on;
55         };
56
57         reg_3p3v: regulator-3p3v {
58                 compatible = "regulator-fixed";
59                 regulator-name = "fixed-3.3V";
60                 regulator-min-microvolt = <3300000>;
61                 regulator-max-microvolt = <3300000>;
62                 regulator-always-on;
63                 regulator-boot-on;
64         };
65
66         vmmc_sdhi0: regulator-vmmc-sdhi0 {
67                 compatible = "regulator-fixed";
68                 regulator-name = "SDHI0 Vcc";
69                 regulator-min-microvolt = <3300000>;
70                 regulator-max-microvolt = <3300000>;
71                 gpio = <&pfc 15 GPIO_ACTIVE_HIGH>;
72                 enable-active-high;
73         };
74
75         vmmc_sdhi2: regulator-vmmc-sdhi2 {
76                 compatible = "regulator-fixed";
77                 regulator-name = "SDHI2 Vcc";
78                 regulator-min-microvolt = <3300000>;
79                 regulator-max-microvolt = <3300000>;
80                 gpio = <&pfc 14 GPIO_ACTIVE_HIGH>;
81                 enable-active-high;
82         };
83
84         leds {
85                 compatible = "gpio-leds";
86                 led1 {
87                         gpios = <&pfc 20 GPIO_ACTIVE_LOW>;
88                         label = "LED1";
89                 };
90                 led2 {
91                         gpios = <&pfc 21 GPIO_ACTIVE_LOW>;
92                         label = "LED2";
93                 };
94                 led3 {
95                         gpios = <&pfc 22 GPIO_ACTIVE_LOW>;
96                         label = "LED3";
97                 };
98                 led4 {
99                         gpios = <&pfc 23 GPIO_ACTIVE_LOW>;
100                         label = "LED4";
101                 };
102         };
103
104         keyboard {
105                 compatible = "gpio-keys";
106
107                 back-key {
108                         gpios = <&pcf8575 8 GPIO_ACTIVE_LOW>;
109                         linux,code = <KEY_BACK>;
110                         label = "SW3";
111                 };
112
113                 right-key {
114                         gpios = <&pcf8575 9 GPIO_ACTIVE_LOW>;
115                         linux,code = <KEY_RIGHT>;
116                         label = "SW2-R";
117                 };
118
119                 left-key {
120                         gpios = <&pcf8575 10 GPIO_ACTIVE_LOW>;
121                         linux,code = <KEY_LEFT>;
122                         label = "SW2-L";
123                 };
124
125                 enter-key {
126                         gpios = <&pcf8575 11 GPIO_ACTIVE_LOW>;
127                         linux,code = <KEY_ENTER>;
128                         label = "SW2-P";
129                 };
130
131                 up-key {
132                         gpios = <&pcf8575 12 GPIO_ACTIVE_LOW>;
133                         linux,code = <KEY_UP>;
134                         label = "SW2-U";
135                 };
136
137                 down-key {
138                         gpios = <&pcf8575 13 GPIO_ACTIVE_LOW>;
139                         linux,code = <KEY_DOWN>;
140                         label = "SW2-D";
141                 };
142
143                 home-key {
144                         gpios = <&pcf8575 14 GPIO_ACTIVE_LOW>;
145                         linux,code = <KEY_HOME>;
146                         label = "SW1";
147                         wakeup-source;
148                 };
149
150                 wakeup-key {
151                         gpios = <&pfc 159 GPIO_ACTIVE_LOW>;
152                         linux,code = <KEY_WAKEUP>;
153                         label = "NMI";
154                         wakeup-source;
155                 };
156         };
157
158         sound {
159                 compatible = "simple-audio-card";
160                 simple-audio-card,format = "left_j";
161                 simple-audio-card,cpu {
162                         sound-dai = <&sh_fsi2 0>;
163                 };
164                 simple-audio-card,codec {
165                         sound-dai = <&ak4648>;
166                         bitclock-master;
167                         frame-master;
168                         system-clock-frequency = <11289600>;
169                 };
170         };
171 };
172
173 &bsc {
174         ethernet@10000000 {
175                 compatible = "smsc,lan9220", "smsc,lan9115";
176                 reg = <0x10000000 0x100>;
177                 phy-mode = "mii";
178                 interrupt-parent = <&irqpin0>;
179                 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
180                 reg-io-width = <4>;
181                 smsc,irq-push-pull;
182                 smsc,save-mac-address;
183                 vddvario-supply = <&reg_1p8v>;
184                 vdd33a-supply = <&reg_3p3v>;
185         };
186 };
187
188 &cmt1 {
189         status = "okay";
190 };
191
192 &extal2_clk {
193         clock-frequency = <48000000>;
194 };
195
196 &i2c0 {
197         status = "okay";
198
199         compass@c {
200                 compatible = "asahi-kasei,ak8975";
201                 reg = <0x0c>;
202                 interrupt-parent = <&irqpin3>;
203                 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
204         };
205
206         ak4648: codec@12 {
207                 compatible = "asahi-kasei,ak4648";
208                 reg = <0x12>;
209                 #sound-dai-cells = <0>;
210         };
211
212         accelerometer@1d {
213                 compatible = "adi,adxl345";
214                 reg = <0x1d>;
215                 interrupt-parent = <&irqpin3>;
216                 interrupts = <2 IRQ_TYPE_LEVEL_HIGH>,
217                              <3 IRQ_TYPE_LEVEL_HIGH>;
218         };
219
220         rtc@32 {
221                 compatible = "ricoh,r2025sd";
222                 reg = <0x32>;
223         };
224
225         as3711@40 {
226                 compatible = "ams,as3711";
227                 reg = <0x40>;
228
229                 regulators {
230                         vdd_dvfs: sd1 {
231                                 regulator-name = "1.315V CPU";
232                                 regulator-min-microvolt = <1050000>;
233                                 regulator-max-microvolt = <1350000>;
234                                 regulator-always-on;
235                                 regulator-boot-on;
236                         };
237                         sd2 {
238                                 regulator-name = "1.8V";
239                                 regulator-min-microvolt = <1800000>;
240                                 regulator-max-microvolt = <1800000>;
241                                 regulator-always-on;
242                                 regulator-boot-on;
243                         };
244                         sd4 {
245                                 regulator-name = "1.215V";
246                                 regulator-min-microvolt = <1215000>;
247                                 regulator-max-microvolt = <1235000>;
248                                 regulator-always-on;
249                                 regulator-boot-on;
250                         };
251                         ldo2 {
252                                 regulator-name = "2.8V CPU";
253                                 regulator-min-microvolt = <2800000>;
254                                 regulator-max-microvolt = <2800000>;
255                                 regulator-always-on;
256                                 regulator-boot-on;
257                         };
258                         ldo3 {
259                                 regulator-name = "3.0V CPU";
260                                 regulator-min-microvolt = <3000000>;
261                                 regulator-max-microvolt = <3000000>;
262                                 regulator-always-on;
263                                 regulator-boot-on;
264                         };
265                         ldo4 {
266                                 regulator-name = "2.8V";
267                                 regulator-min-microvolt = <2800000>;
268                                 regulator-max-microvolt = <2800000>;
269                                 regulator-always-on;
270                                 regulator-boot-on;
271                         };
272                         ldo5 {
273                                 regulator-name = "2.8V #2";
274                                 regulator-min-microvolt = <2800000>;
275                                 regulator-max-microvolt = <2800000>;
276                                 regulator-always-on;
277                                 regulator-boot-on;
278                         };
279                         ldo7 {
280                                 regulator-name = "1.15V CPU";
281                                 regulator-min-microvolt = <1150000>;
282                                 regulator-max-microvolt = <1150000>;
283                                 regulator-always-on;
284                                 regulator-boot-on;
285                         };
286                         ldo8 {
287                                 regulator-name = "1.15V CPU #2";
288                                 regulator-min-microvolt = <1150000>;
289                                 regulator-max-microvolt = <1150000>;
290                                 regulator-always-on;
291                                 regulator-boot-on;
292                         };
293                 };
294         };
295 };
296
297 &i2c1 {
298         status = "okay";
299
300         touchscreen@55 {
301                 compatible = "sitronix,st1232";
302                 reg = <0x55>;
303                 interrupt-parent = <&irqpin1>;
304                 interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
305         };
306 };
307
308 &i2c3 {
309         pinctrl-0 = <&i2c3_pins>;
310         pinctrl-names = "default";
311         status = "okay";
312
313         pcf8575: gpio@20 {
314                 compatible = "nxp,pcf8575";
315                 reg = <0x20>;
316                 interrupt-parent = <&irqpin2>;
317                 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
318                 gpio-controller;
319                 #gpio-cells = <2>;
320                 interrupt-controller;
321                 #interrupt-cells = <2>;
322         };
323 };
324
325 &mmcif {
326         pinctrl-0 = <&mmcif_pins>;
327         pinctrl-names = "default";
328
329         bus-width = <8>;
330         vmmc-supply = <&reg_1p8v>;
331         status = "okay";
332 };
333
334 &pfc {
335         i2c3_pins: i2c3 {
336                 groups = "i2c3_1";
337                 function = "i2c3";
338         };
339
340         mmcif_pins: mmc {
341                 mux {
342                         groups = "mmc0_data8_0", "mmc0_ctrl_0";
343                         function = "mmc0";
344                 };
345                 cfg {
346                         groups = "mmc0_data8_0";
347                         pins = "PORT279";
348                         bias-pull-up;
349                 };
350         };
351
352         scifa4_pins: scifa4 {
353                 groups = "scifa4_data", "scifa4_ctrl";
354                 function = "scifa4";
355         };
356
357         sdhi0_pins: sd0 {
358                 groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_cd", "sdhi0_wp";
359                 function = "sdhi0";
360         };
361
362         sdhi2_pins: sd2 {
363                 groups = "sdhi2_data4", "sdhi2_ctrl";
364                 function = "sdhi2";
365         };
366
367         fsia_pins: sounda {
368                 groups = "fsia_mclk_in", "fsia_sclk_in",
369                          "fsia_data_in", "fsia_data_out";
370                 function = "fsia";
371         };
372 };
373
374 &scifa4 {
375         pinctrl-0 = <&scifa4_pins>;
376         pinctrl-names = "default";
377
378         uart-has-rtscts;
379         status = "okay";
380 };
381
382 &sdhi0 {
383         pinctrl-0 = <&sdhi0_pins>;
384         pinctrl-names = "default";
385
386         vmmc-supply = <&vmmc_sdhi0>;
387         bus-width = <4>;
388         status = "okay";
389 };
390
391 &sdhi2 {
392         pinctrl-0 = <&sdhi2_pins>;
393         pinctrl-names = "default";
394
395         vmmc-supply = <&vmmc_sdhi2>;
396         bus-width = <4>;
397         broken-cd;
398         status = "okay";
399 };
400
401 &sh_fsi2 {
402         pinctrl-0 = <&fsia_pins>;
403         pinctrl-names = "default";
404
405         status = "okay";
406 };