]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blame - arch/arm64/boot/dts/rockchip/rk3368-r88.dts
arm64: dts: rockchip: replace gpio-key,wakeup with wakeup-source property
[mirror_ubuntu-zesty-kernel.git] / arch / arm64 / boot / dts / rockchip / rk3368-r88.dts
CommitLineData
b790c2ca
HS
1/*
2 * Copyright (c) 2015 Heiko Stuebner <heiko@sntech.de>
3 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPL or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This file is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This file is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */
42
43/dts-v1/;
44#include "rk3368.dtsi"
45
46/ {
47 model = "Rockchip R88";
48 compatible = "rockchip,r88", "rockchip,rk3368";
49
50 chosen {
51 stdout-path = "serial2:115200n8";
52 };
53
54 memory {
55 device_type = "memory";
56 reg = <0x0 0x0 0x0 0x40000000>;
57 };
58
59 emmc_pwrseq: emmc-pwrseq {
60 compatible = "mmc-pwrseq-emmc";
61 pinctrl-0 = <&emmc_reset>;
62 pinctrl-names = "default";
63 reset-gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
64 };
65
66 keys: gpio-keys {
67 compatible = "gpio-keys";
68 #address-cells = <1>;
69 #size-cells = <0>;
70 pinctrl-names = "default";
71 pinctrl-0 = <&pwr_key>;
72
73 button@0 {
e6f49b11 74 wakeup-source;
b790c2ca
HS
75 gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
76 label = "GPIO Power";
77 linux,code = <116>;
78 };
79 };
80
81 leds: gpio-leds {
82 compatible = "gpio-leds";
83
84 work {
85 gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>;
86 label = "r88:green:led";
87 pinctrl-names = "default";
88 pinctrl-0 = <&led_ctl>;
89 };
90 };
91
92 ir: ir-receiver {
93 compatible = "gpio-ir-receiver";
94 gpios = <&gpio3 30 GPIO_ACTIVE_LOW>;
95 pinctrl-names = "default";
96 pinctrl-0 = <&ir_int>;
97 };
98
99 sdio_pwrseq: sdio-pwrseq {
100 compatible = "mmc-pwrseq-simple";
101 clocks = <&hym8563>;
102 clock-names = "ext_clock";
103 pinctrl-names = "default";
104 pinctrl-0 = <&bt_rst>, <&wifi_reg_on>;
105
106 reset-gpios =
107 /* BT_RST_N */
108 <&gpio3 5 GPIO_ACTIVE_LOW>,
109
110 /* WL_REG_ON */
111 <&gpio3 4 GPIO_ACTIVE_LOW>;
112 };
113
114 vcc_18: vcc18-regulator {
115 compatible = "regulator-fixed";
116 regulator-name = "vcc_18";
117 regulator-min-microvolt = <1800000>;
118 regulator-max-microvolt = <1800000>;
119 regulator-always-on;
120 regulator-boot-on;
121 vin-supply = <&vcc_sys>;
122 };
123
124 /* supplies both host and otg */
125 vcc_host: vcc-host-regulator {
126 compatible = "regulator-fixed";
127 enable-active-high;
128 gpio = <&gpio0 4 GPIO_ACTIVE_HIGH>;
129 pinctrl-names = "default";
130 pinctrl-0 = <&host_vbus_drv>;
131 regulator-name = "vcc_host";
132 regulator-always-on;
133 regulator-boot-on;
134 vin-supply = <&vcc_sys>;
135 };
136
137 vcc_io: vcc-io-regulator {
138 compatible = "regulator-fixed";
139 regulator-name = "vcc_io";
140 regulator-min-microvolt = <3300000>;
141 regulator-max-microvolt = <3300000>;
142 regulator-always-on;
143 regulator-boot-on;
144 vin-supply = <&vcc_sys>;
145 };
146
147 vcc_lan: vcc-lan-regulator {
148 compatible = "regulator-fixed";
149 regulator-name = "vcc_lan";
150 regulator-min-microvolt = <3300000>;
151 regulator-max-microvolt = <3300000>;
152 regulator-always-on;
153 regulator-boot-on;
154 vin-supply = <&vcc_io>;
155 };
156
157 vcc_sys: vcc-sys-regulator {
158 compatible = "regulator-fixed";
159 regulator-name = "vcc_sys";
160 regulator-min-microvolt = <5000000>;
161 regulator-max-microvolt = <5000000>;
162 regulator-always-on;
163 regulator-boot-on;
164 };
165
166 vccio_wl: vccio-wl-regulator {
167 compatible = "regulator-fixed";
168 regulator-name = "vccio_wl";
169 regulator-min-microvolt = <3300000>;
170 regulator-max-microvolt = <3300000>;
171 regulator-always-on;
172 regulator-boot-on;
173 vin-supply = <&vcc_io>;
174 };
175
176 vdd_10: vdd-10-regulator {
177 compatible = "regulator-fixed";
178 regulator-name = "vdd_10";
179 regulator-min-microvolt = <1000000>;
180 regulator-max-microvolt = <1000000>;
181 regulator-always-on;
182 regulator-boot-on;
183 vin-supply = <&vcc_sys>;
184 };
185};
186
187&emmc {
188 broken-cd;
189 bus-width = <8>;
190 cap-mmc-highspeed;
191 disable-wp;
192 mmc-pwrseq = <&emmc_pwrseq>;
193 non-removable;
194 num-slots = <1>;
195 pinctrl-names = "default";
196 pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
197 status = "okay";
198};
199
200&gmac {
201 phy-supply = <&vcc_lan>;
202 phy-mode = "rmii";
203 clock_in_out = "output";
204 snps,reset-gpio = <&gpio3 12 0>;
205 snps,reset-active-low;
206 snps,reset-delays-us = <0 10000 1000000>;
207 pinctrl-names = "default";
208 pinctrl-0 = <&rmii_pins>;
209 tx_delay = <0x30>;
210 rx_delay = <0x10>;
211 status = "ok";
212};
213
214&i2c0 {
215 status = "okay";
216
217 vdd_cpu: syr827@40 {
218 compatible = "silergy,syr827";
219 reg = <0x40>;
220 fcs,suspend-voltage-selector = <1>;
221 regulator-name = "vdd_cpu";
222 regulator-enable-ramp-delay = <300>;
223 regulator-min-microvolt = <712500>;
224 regulator-max-microvolt = <1500000>;
225 regulator-ramp-delay = <8000>;
226 regulator-always-on;
227 regulator-boot-on;
228 vin-supply = <&vcc_sys>;
229 };
230
231 hym8563: hym8563@51 {
232 compatible = "haoyu,hym8563";
233 reg = <0x51>;
234 #clock-cells = <0>;
235 clock-frequency = <32768>;
236 clock-output-names = "xin32k";
237 /* rtc_int is not connected */
238 };
239};
240
241&sdio0 {
242 assigned-clocks = <&cru SCLK_SDIO0>;
243 assigned-clock-parents = <&cru PLL_CPLL>;
244 broken-cd;
245 bus-width = <4>;
246 cap-sd-highspeed;
247 cap-sdio-irq;
248 keep-power-in-suspend;
249 mmc-pwrseq = <&sdio_pwrseq>;
250 non-removable;
251 num-slots = <1>;
252 pinctrl-names = "default";
253 pinctrl-0 = <&sdio0_clk &sdio0_cmd &sdio0_bus4>;
254 vmmc-supply = <&vcc_io>;
255 vqmmc-supply = <&vccio_wl>;
256 status = "okay";
257};
258
259&pinctrl {
260 pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma {
261 bias-disable;
262 drive-strength = <8>;
263 };
264
265 pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma {
266 bias-pull-up;
267 drive-strength = <8>;
268 };
269
270 emmc {
271 emmc_bus8: emmc-bus8 {
272 rockchip,pins = <1 18 RK_FUNC_2 &pcfg_pull_up_drv_8ma>,
273 <1 19 RK_FUNC_2 &pcfg_pull_up_drv_8ma>,
274 <1 20 RK_FUNC_2 &pcfg_pull_up_drv_8ma>,
275 <1 21 RK_FUNC_2 &pcfg_pull_up_drv_8ma>,
276 <1 22 RK_FUNC_2 &pcfg_pull_up_drv_8ma>,
277 <1 23 RK_FUNC_2 &pcfg_pull_up_drv_8ma>,
278 <1 24 RK_FUNC_2 &pcfg_pull_up_drv_8ma>,
279 <1 25 RK_FUNC_2 &pcfg_pull_up_drv_8ma>;
280 };
281
282 emmc-clk {
283 rockchip,pins = <2 4 RK_FUNC_2 &pcfg_pull_none_drv_8ma>;
284 };
285
286 emmc-cmd {
287 rockchip,pins = <1 26 RK_FUNC_2 &pcfg_pull_up_drv_8ma>;
288 };
289
290 emmc_reset: emmc-reset {
291 rockchip,pins = <2 3 RK_FUNC_GPIO &pcfg_pull_none>;
292 };
293 };
294
295 ir {
296 ir_int: ir-int {
297 rockchip,pins = <3 30 RK_FUNC_GPIO &pcfg_pull_up>;
298 };
299 };
300
301 keys {
302 pwr_key: pwr-key {
303 rockchip,pins = <0 2 RK_FUNC_GPIO &pcfg_pull_up>;
304 };
305 };
306
307 leds {
308 stby_pwren: stby-pwren {
309 rockchip,pins = <0 12 RK_FUNC_GPIO &pcfg_pull_none>;
310 };
311
312 led_ctl: led-ctl {
313 rockchip,pins = <3 29 RK_FUNC_GPIO &pcfg_pull_none>;
314 };
315 };
316
317 sdio {
318 wifi_reg_on: wifi-reg-on {
319 rockchip,pins = <3 4 RK_FUNC_GPIO &pcfg_pull_none>;
320 };
321
322 bt_rst: bt-rst {
323 rockchip,pins = <3 5 RK_FUNC_GPIO &pcfg_pull_none>;
324 };
325 };
326
327 usb {
328 host_vbus_drv: host-vbus-drv {
329 rockchip,pins = <0 4 RK_FUNC_GPIO &pcfg_pull_none>;
330 };
331 };
332};
333
334&saradc {
335 vref-supply = <&vcc_18>;
336 status = "okay";
337};
338
10a37de3
CW
339&tsadc {
340 rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */
341 rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */
342 status = "okay";
343};
344
b790c2ca
HS
345&uart2 {
346 status = "okay";
347};
348
349&usb_host0_ehci {
350 status = "okay";
351};
352
353&usb_otg {
354 dr_mode = "host";
355 status = "okay";
356};
357
358&wdt {
359 status = "okay";
360};