blob: bc674ee206ec96ac2e96a92a40dcbc5ea8bba20e [file] [log] [blame]
Heiko Stuebner958660962013-10-14 17:28:32 +02001/*
2 * Copyright (c) 2013 MundoReader S.L.
3 * Author: Heiko Stuebner <heiko@sntech.de>
4 *
Heiko Stuebner38fed862015-03-06 19:04:04 +01005 * This file is dual-licensed: you can use it either under the terms
6 * of the GPL or the X11 license, at your option. Note that this dual
7 * licensing only applies to this file, and not this project as a
8 * whole.
Heiko Stuebner958660962013-10-14 17:28:32 +02009 *
Heiko Stuebner38fed862015-03-06 19:04:04 +010010 * a) This file is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public License as
12 * published by the Free Software Foundation; either version 2 of the
13 * License, or (at your option) any later version.
14 *
15 * This file is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * Or, alternatively,
21 *
22 * b) Permission is hereby granted, free of charge, to any person
23 * obtaining a copy of this software and associated documentation
24 * files (the "Software"), to deal in the Software without
25 * restriction, including without limitation the rights to use,
26 * copy, modify, merge, publish, distribute, sublicense, and/or
27 * sell copies of the Software, and to permit persons to whom the
28 * Software is furnished to do so, subject to the following
29 * conditions:
30 *
31 * The above copyright notice and this permission notice shall be
32 * included in all copies or substantial portions of the Software.
33 *
34 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
35 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
36 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
37 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
38 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
39 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
40 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
41 * OTHER DEALINGS IN THE SOFTWARE.
Heiko Stuebner958660962013-10-14 17:28:32 +020042 */
43
44/dts-v1/;
Heiko Stuebner8b30c892016-03-31 20:24:29 +020045#include <dt-bindings/input/input.h>
Heiko Stuebner958660962013-10-14 17:28:32 +020046#include "rk3066a.dtsi"
47
48/ {
49 model = "bq Curie 2";
Beniamino Galvaniac4eba82014-05-06 19:10:11 +020050 compatible = "mundoreader,bq-curie2", "rockchip,rk3066a";
Heiko Stuebner958660962013-10-14 17:28:32 +020051
52 memory {
Heiko Stuebner6158e6d2015-07-15 20:57:21 +020053 device_type = "memory";
Heiko Stuebner958660962013-10-14 17:28:32 +020054 reg = <0x60000000 0x40000000>;
55 };
56
Andy Yanac79e0e2016-01-15 21:26:18 +080057 vdd_log: vdd-log {
58 compatible = "pwm-regulator";
59 pwms = <&pwm3 0 1000>;
60 regulator-name = "vdd_log";
61 regulator-min-microvolt = <1200000>;
62 regulator-max-microvolt = <1200000>;
63 regulator-always-on;
64 voltage-table = <1000000 100>,
65 <1200000 42>;
66 status = "okay";
67 };
68
Heiko Stuebnerc3030d32014-07-26 18:44:35 +020069 vcc_sd0: fixed-regulator {
70 compatible = "regulator-fixed";
71 regulator-name = "sdmmc-supply";
72 regulator-min-microvolt = <3000000>;
73 regulator-max-microvolt = <3000000>;
74 gpio = <&gpio3 7 GPIO_ACTIVE_LOW>;
75 startup-delay-us = <100000>;
Heiko Stuebnera953a6c2014-06-26 01:33:58 +020076 vin-supply = <&vcc_io>;
Heiko Stuebnerc3030d32014-07-26 18:44:35 +020077 };
78
Heiko Stuebnerc3030d32014-07-26 18:44:35 +020079 gpio-keys {
80 compatible = "gpio-keys";
Heiko Stuebnerc3030d32014-07-26 18:44:35 +020081 autorepeat;
82
Heiko Stuebner8b30c892016-03-31 20:24:29 +020083 power {
Heiko Stuebnerc3030d32014-07-26 18:44:35 +020084 gpios = <&gpio6 2 GPIO_ACTIVE_LOW>; /* GPIO6_A2 */
Heiko Stuebner8b30c892016-03-31 20:24:29 +020085 linux,code = <KEY_POWER>;
Heiko Stuebnerc3030d32014-07-26 18:44:35 +020086 label = "GPIO Key Power";
87 linux,input-type = <1>;
Sudeep Holla4f66f242016-02-08 21:55:12 +000088 wakeup-source;
Heiko Stuebnerc3030d32014-07-26 18:44:35 +020089 debounce-interval = <100>;
Heiko Stuebner958660962013-10-14 17:28:32 +020090 };
Heiko Stuebner8b30c892016-03-31 20:24:29 +020091 volume-down {
Heiko Stuebnerc3030d32014-07-26 18:44:35 +020092 gpios = <&gpio4 21 GPIO_ACTIVE_LOW>; /* GPIO4_C5 */
Heiko Stuebner8b30c892016-03-31 20:24:29 +020093 linux,code = <KEY_VOLUMEDOWN>;
Heiko Stuebnerc3030d32014-07-26 18:44:35 +020094 label = "GPIO Key Vol-";
95 linux,input-type = <1>;
Heiko Stuebnerc3030d32014-07-26 18:44:35 +020096 debounce-interval = <100>;
Heiko Stuebner958660962013-10-14 17:28:32 +020097 };
Heiko Stuebnerc3030d32014-07-26 18:44:35 +020098 /* VOL+ comes somehow thru the ADC */
Heiko Stuebner958660962013-10-14 17:28:32 +020099 };
100};
Heiko Stuebnerfcbbf962014-07-26 23:08:06 +0200101
Heiko Stuebner3adb1322014-09-13 00:34:30 +0200102&cpu0 {
103 cpu0-supply = <&vdd_arm>;
104};
105
Heiko Stuebnera953a6c2014-06-26 01:33:58 +0200106&i2c1 {
107 status = "okay";
108 clock-frequency = <400000>;
109
110 tps: tps@2d {
111 reg = <0x2d>;
112
113 interrupt-parent = <&gpio6>;
114 interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
115
116 vcc5-supply = <&vcc_io>;
117 vcc6-supply = <&vcc_io>;
118
119 regulators {
120 vcc_rtc: regulator@0 {
121 regulator-name = "vcc_rtc";
122 regulator-always-on;
123 };
124
125 vcc_io: regulator@1 {
126 regulator-name = "vcc_io";
127 regulator-always-on;
128 };
129
130 vdd_arm: regulator@2 {
131 regulator-name = "vdd_arm";
132 regulator-min-microvolt = <600000>;
133 regulator-max-microvolt = <1500000>;
134 regulator-boot-on;
135 regulator-always-on;
136 };
137
138 vcc_ddr: regulator@3 {
139 regulator-name = "vcc_ddr";
140 regulator-min-microvolt = <600000>;
141 regulator-max-microvolt = <1500000>;
142 regulator-boot-on;
143 regulator-always-on;
144 };
145
146 vcc18_cif: regulator@5 {
147 regulator-name = "vcc18_cif";
148 regulator-always-on;
149 };
150
151 vdd_11: regulator@6 {
152 regulator-name = "vdd_11";
153 regulator-always-on;
154 };
155
156 vcc_25: regulator@7 {
157 regulator-name = "vcc_25";
158 regulator-always-on;
159 };
160
161 vcc_18: regulator@8 {
162 regulator-name = "vcc_18";
163 regulator-always-on;
164 };
165
166 vcc25_hdmi: regulator@9 {
167 regulator-name = "vcc25_hdmi";
168 regulator-always-on;
169 };
170
171 vcca_33: regulator@10 {
172 regulator-name = "vcca_33";
173 regulator-always-on;
174 };
175
176 vcc_tp: regulator@11 {
177 regulator-name = "vcc_tp";
178 regulator-always-on;
179 };
180
181 vcc28_cif: regulator@12 {
182 regulator-name = "vcc28_cif";
183 regulator-always-on;
184 };
185 };
186 };
187};
188
189/* must be included after &tps gets defined */
190#include "tps65910.dtsi"
191
Heiko Stuebnerfcbbf962014-07-26 23:08:06 +0200192&mmc0 { /* sdmmc */
193 num-slots = <1>;
194 status = "okay";
Heiko Stuebner1302d322014-08-11 19:51:44 +0200195 pinctrl-names = "default";
196 pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
Heiko Stuebnerfcbbf962014-07-26 23:08:06 +0200197 vmmc-supply = <&vcc_sd0>;
Jaehoon Chung356649a2014-08-07 16:38:02 +0900198 bus-width = <4>;
Shawn Lin1d727ec2015-09-12 18:01:39 +0800199 cap-mmc-highspeed;
200 cap-sd-highspeed;
Jaehoon Chung356649a2014-08-07 16:38:02 +0900201 disable-wp;
Heiko Stuebnerfcbbf962014-07-26 23:08:06 +0200202};
203
204&mmc1 { /* wifi */
205 num-slots = <1>;
206 status = "okay";
207 non-removable;
208
209 pinctrl-names = "default";
210 pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus4>;
211
Jaehoon Chung356649a2014-08-07 16:38:02 +0900212 bus-width = <4>;
213 disable-wp;
Heiko Stuebnerfcbbf962014-07-26 23:08:06 +0200214};
215
Andy Yanac79e0e2016-01-15 21:26:18 +0800216&pwm3 {
217 status = "okay";
218};
219
Heiko Stuebnerfcbbf962014-07-26 23:08:06 +0200220&uart0 {
221 status = "okay";
222};
223
224&uart1 {
225 status = "okay";
226};
227
228&uart2 {
229 status = "okay";
230};
231
232&uart3 {
233 status = "okay";
234};
Heiko Stuebnereb2b9d42014-07-30 10:16:17 +0200235
236&wdt {
237 status = "okay";
238};