GNU Linux-libre 4.19.264-gnu1
[releases.git] / arch / arm / boot / dts / r8a73a4-ape6evm.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Device Tree Source for the APE6EVM board
4  *
5  * Copyright (C) 2013 Renesas Solutions Corp.
6  */
7
8 /dts-v1/;
9 #include "r8a73a4.dtsi"
10 #include <dt-bindings/gpio/gpio.h>
11 #include <dt-bindings/input/input.h>
12
13 / {
14         model = "APE6EVM";
15         compatible = "renesas,ape6evm", "renesas,r8a73a4";
16
17         aliases {
18                 serial0 = &scifa0;
19         };
20
21         chosen {
22                 bootargs = "ignore_loglevel root=/dev/nfs ip=dhcp rw";
23                 stdout-path = "serial0:115200n8";
24         };
25
26         memory@40000000 {
27                 device_type = "memory";
28                 reg = <0 0x40000000 0 0x40000000>;
29         };
30
31         memory@200000000 {
32                 device_type = "memory";
33                 reg = <2 0x00000000 0 0x40000000>;
34         };
35
36         vcc_mmc0: regulator-mmc0 {
37                 compatible = "regulator-fixed";
38                 regulator-name = "MMC0 Vcc";
39                 regulator-min-microvolt = <2800000>;
40                 regulator-max-microvolt = <2800000>;
41                 regulator-always-on;
42         };
43
44         vcc_sdhi0: regulator-sdhi0 {
45                 compatible = "regulator-fixed";
46
47                 regulator-name = "SDHI0 Vcc";
48                 regulator-min-microvolt = <3300000>;
49                 regulator-max-microvolt = <3300000>;
50
51                 gpio = <&pfc 76 GPIO_ACTIVE_HIGH>;
52                 enable-active-high;
53         };
54
55         /* Common 1.8V and 3.3V rails, used by several devices on APE6EVM */
56         ape6evm_fixed_1v8: regulator-1v8 {
57                 compatible = "regulator-fixed";
58                 regulator-name = "1V8";
59                 regulator-min-microvolt = <1800000>;
60                 regulator-max-microvolt = <1800000>;
61                 regulator-always-on;
62         };
63
64         ape6evm_fixed_3v3: regulator-3v3 {
65                 compatible = "regulator-fixed";
66                 regulator-name = "3V3";
67                 regulator-min-microvolt = <3300000>;
68                 regulator-max-microvolt = <3300000>;
69                 regulator-always-on;
70         };
71
72         leds {
73                 compatible = "gpio-leds";
74                 led1 {
75                         gpios = <&pfc 28 GPIO_ACTIVE_HIGH>;
76                         label = "GNSS_EN";
77                 };
78                 led2 {
79                         gpios = <&pfc 126 GPIO_ACTIVE_HIGH>;
80                         label = "NFC_NRST";
81                 };
82                 led3 {
83                         gpios = <&pfc 132 GPIO_ACTIVE_HIGH>;
84                         label = "GNSS_NRST";
85                 };
86                 led4 {
87                         gpios = <&pfc 232 GPIO_ACTIVE_HIGH>;
88                         label = "BT_WAKEUP";
89                 };
90                 led5 {
91                         gpios = <&pfc 250 GPIO_ACTIVE_HIGH>;
92                         label = "STROBE";
93                 };
94                 led6 {
95                         gpios = <&pfc 288 GPIO_ACTIVE_HIGH>;
96                         label = "BBRESETOUT";
97                 };
98         };
99
100         keyboard {
101                 compatible = "gpio-keys";
102
103                 pinctrl-names = "default";
104                 pinctrl-0 = <&keyboard_pins>;
105
106                 zero-key {
107                         gpios = <&pfc 324 GPIO_ACTIVE_LOW>;
108                         linux,code = <KEY_0>;
109                         label = "S16";
110                         wakeup-source;
111                 };
112
113                 menu-key {
114                         gpios = <&pfc 325 GPIO_ACTIVE_LOW>;
115                         linux,code = <KEY_MENU>;
116                         label = "S17";
117                 };
118
119                 home-key {
120                         gpios = <&pfc 326 GPIO_ACTIVE_LOW>;
121                         linux,code = <KEY_HOME>;
122                         label = "S18";
123                 };
124
125                 back-key {
126                         gpios = <&pfc 327 GPIO_ACTIVE_LOW>;
127                         linux,code = <KEY_BACK>;
128                         label = "S19";
129                 };
130
131                 volup-key {
132                         gpios = <&pfc 328 GPIO_ACTIVE_LOW>;
133                         linux,code = <KEY_VOLUMEUP>;
134                         label = "S20";
135                 };
136
137                 voldown-key {
138                         gpios = <&pfc 329 GPIO_ACTIVE_LOW>;
139                         linux,code = <KEY_VOLUMEDOWN>;
140                         label = "S21";
141                 };
142         };
143 };
144
145 &i2c5 {
146         status = "okay";
147         vdd_dvfs: regulator@1b {
148                 compatible = "maxim,max8973";
149                 reg = <0x1b>;
150
151                 regulator-min-microvolt = <935000>;
152                 regulator-max-microvolt = <1200000>;
153                 regulator-boot-on;
154                 regulator-always-on;
155         };
156 };
157
158 &cpu0 {
159         cpu0-supply = <&vdd_dvfs>;
160         operating-points = <
161                 /* kHz  uV */
162                 1950000 1115000
163                 1462500  995000
164         >;
165         voltage-tolerance = <1>; /* 1% */
166 };
167
168 &bsc {
169         ethernet@8000000 {
170                 compatible = "smsc,lan9220", "smsc,lan9115";
171                 reg = <0x08000000 0x1000>;
172                 interrupt-parent = <&irqc1>;
173                 interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
174                 phy-mode = "mii";
175                 reg-io-width = <4>;
176                 smsc,irq-active-high;
177                 smsc,irq-push-pull;
178                 vdd33a-supply = <&ape6evm_fixed_3v3>;
179                 vddvario-supply = <&ape6evm_fixed_1v8>;
180         };
181 };
182
183 &cmt1 {
184         status = "okay";
185 };
186
187 &pfc {
188         scifa0_pins: scifa0 {
189                 groups = "scifa0_data";
190                 function = "scifa0";
191         };
192
193         mmc0_pins: mmc0 {
194                 groups = "mmc0_data8", "mmc0_ctrl";
195                 function = "mmc0";
196         };
197
198         sdhi0_pins: sd0 {
199                 groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_cd";
200                 function = "sdhi0";
201         };
202
203         sdhi1_pins: sd1 {
204                 groups = "sdhi1_data4", "sdhi1_ctrl";
205                 function = "sdhi1";
206         };
207
208         keyboard_pins: keyboard {
209                 pins = "PORT324", "PORT325", "PORT326", "PORT327", "PORT328",
210                        "PORT329";
211                 bias-pull-up;
212         };
213 };
214
215 &mmcif0 {
216         vmmc-supply = <&vcc_mmc0>;
217         bus-width = <8>;
218         non-removable;
219         pinctrl-names = "default";
220         pinctrl-0 = <&mmc0_pins>;
221         status = "okay";
222 };
223
224 &scifa0 {
225         pinctrl-0 = <&scifa0_pins>;
226         pinctrl-names = "default";
227
228         status = "okay";
229 };
230
231 &sdhi0 {
232         vmmc-supply = <&vcc_sdhi0>;
233         bus-width = <4>;
234         disable-wp;
235         pinctrl-names = "default";
236         pinctrl-0 = <&sdhi0_pins>;
237         status = "okay";
238 };
239
240 &sdhi1 {
241         vmmc-supply = <&ape6evm_fixed_3v3>;
242         bus-width = <4>;
243         broken-cd;
244         disable-wp;
245         pinctrl-names = "default";
246         pinctrl-0 = <&sdhi1_pins>;
247         status = "okay";
248 };