• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2013 MundoReader S.L.
3 * Author: Heiko Stuebner <heiko@sntech.de>
4 *
5 * 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.
9 *
10 *  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.
42 */
43
44/dts-v1/;
45#include <dt-bindings/input/input.h>
46#include "rk3066a.dtsi"
47
48/ {
49	model = "bq Curie 2";
50	compatible = "mundoreader,bq-curie2", "rockchip,rk3066a";
51
52	memory@60000000 {
53		device_type = "memory";
54		reg = <0x60000000 0x40000000>;
55	};
56
57	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
69	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 RK_PA7 GPIO_ACTIVE_LOW>;
75		startup-delay-us = <100000>;
76		vin-supply = <&vcc_io>;
77	};
78
79	gpio-keys {
80		compatible = "gpio-keys";
81		autorepeat;
82
83		power {
84			gpios = <&gpio6 RK_PA2 GPIO_ACTIVE_LOW>; /* GPIO6_A2 */
85			linux,code = <KEY_POWER>;
86			label = "GPIO Key Power";
87			linux,input-type = <1>;
88			wakeup-source;
89			debounce-interval = <100>;
90		};
91		volume-down {
92			gpios = <&gpio4 RK_PC5 GPIO_ACTIVE_LOW>; /* GPIO4_C5 */
93			linux,code = <KEY_VOLUMEDOWN>;
94			label = "GPIO Key Vol-";
95			linux,input-type = <1>;
96			debounce-interval = <100>;
97		};
98		/* VOL+ comes somehow thru the ADC */
99	};
100};
101
102&cpu0 {
103	cpu0-supply = <&vdd_arm>;
104};
105
106&i2c1 {
107	status = "okay";
108	clock-frequency = <400000>;
109
110	tps: tps@2d {
111		reg = <0x2d>;
112
113		interrupt-parent = <&gpio6>;
114		interrupts = <RK_PA6 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
192&mmc0 { /* sdmmc */
193	status = "okay";
194	pinctrl-names = "default";
195	pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
196	vmmc-supply = <&vcc_sd0>;
197	bus-width = <4>;
198	cap-mmc-highspeed;
199	cap-sd-highspeed;
200	disable-wp;
201};
202
203&mmc1 { /* wifi */
204	status = "okay";
205	non-removable;
206
207	pinctrl-names = "default";
208	pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus4>;
209
210	bus-width = <4>;
211	disable-wp;
212};
213
214&pwm3 {
215	status = "okay";
216};
217
218&uart0 {
219	status = "okay";
220};
221
222&uart1 {
223	status = "okay";
224};
225
226&uart2 {
227	status = "okay";
228};
229
230&uart3 {
231	status = "okay";
232};
233
234&wdt {
235	status = "okay";
236};
237