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