Loading...
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};
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2013 MundoReader S.L.
4 * Author: Heiko Stuebner <heiko@sntech.de>
5 */
6
7/dts-v1/;
8#include <dt-bindings/input/input.h>
9#include "rk3066a.dtsi"
10
11/ {
12 model = "bq Curie 2";
13 compatible = "mundoreader,bq-curie2", "rockchip,rk3066a";
14
15 aliases {
16 mmc0 = &mmc0;
17 mmc1 = &mmc1;
18 };
19
20 memory@60000000 {
21 device_type = "memory";
22 reg = <0x60000000 0x40000000>;
23 };
24
25 vdd_log: vdd-log {
26 compatible = "pwm-regulator";
27 pwms = <&pwm3 0 1000>;
28 regulator-name = "vdd_log";
29 regulator-min-microvolt = <1200000>;
30 regulator-max-microvolt = <1200000>;
31 regulator-always-on;
32 voltage-table = <1000000 100>,
33 <1200000 42>;
34 status = "okay";
35 };
36
37 vcc_sd0: fixed-regulator {
38 compatible = "regulator-fixed";
39 regulator-name = "sdmmc-supply";
40 regulator-min-microvolt = <3000000>;
41 regulator-max-microvolt = <3000000>;
42 gpio = <&gpio3 RK_PA7 GPIO_ACTIVE_LOW>;
43 startup-delay-us = <100000>;
44 vin-supply = <&vcc_io>;
45 };
46
47 gpio-keys {
48 compatible = "gpio-keys";
49 autorepeat;
50
51 power {
52 gpios = <&gpio6 RK_PA2 GPIO_ACTIVE_LOW>; /* GPIO6_A2 */
53 linux,code = <KEY_POWER>;
54 label = "GPIO Key Power";
55 linux,input-type = <1>;
56 wakeup-source;
57 debounce-interval = <100>;
58 };
59 volume-down {
60 gpios = <&gpio4 RK_PC5 GPIO_ACTIVE_LOW>; /* GPIO4_C5 */
61 linux,code = <KEY_VOLUMEDOWN>;
62 label = "GPIO Key Vol-";
63 linux,input-type = <1>;
64 debounce-interval = <100>;
65 };
66 /* VOL+ comes somehow thru the ADC */
67 };
68};
69
70&cpu0 {
71 cpu-supply = <&vdd_arm>;
72};
73
74&cpu1 {
75 cpu-supply = <&vdd_arm>;
76};
77
78&i2c1 {
79 status = "okay";
80 clock-frequency = <400000>;
81
82 tps: tps@2d {
83 reg = <0x2d>;
84
85 interrupt-parent = <&gpio6>;
86 interrupts = <RK_PA6 IRQ_TYPE_LEVEL_LOW>;
87
88 vcc5-supply = <&vcc_io>;
89 vcc6-supply = <&vcc_io>;
90
91 regulators {
92 vcc_rtc: regulator@0 {
93 regulator-name = "vcc_rtc";
94 regulator-always-on;
95 };
96
97 vcc_io: regulator@1 {
98 regulator-name = "vcc_io";
99 regulator-always-on;
100 };
101
102 vdd_arm: regulator@2 {
103 regulator-name = "vdd_arm";
104 regulator-min-microvolt = <600000>;
105 regulator-max-microvolt = <1500000>;
106 regulator-boot-on;
107 regulator-always-on;
108 };
109
110 vcc_ddr: regulator@3 {
111 regulator-name = "vcc_ddr";
112 regulator-min-microvolt = <600000>;
113 regulator-max-microvolt = <1500000>;
114 regulator-boot-on;
115 regulator-always-on;
116 };
117
118 vcc18_cif: regulator@5 {
119 regulator-name = "vcc18_cif";
120 regulator-always-on;
121 };
122
123 vdd_11: regulator@6 {
124 regulator-name = "vdd_11";
125 regulator-always-on;
126 };
127
128 vcc_25: regulator@7 {
129 regulator-name = "vcc_25";
130 regulator-always-on;
131 };
132
133 vcc_18: regulator@8 {
134 regulator-name = "vcc_18";
135 regulator-always-on;
136 };
137
138 vcc25_hdmi: regulator@9 {
139 regulator-name = "vcc25_hdmi";
140 regulator-always-on;
141 };
142
143 vcca_33: regulator@10 {
144 regulator-name = "vcca_33";
145 regulator-always-on;
146 };
147
148 vcc_tp: regulator@11 {
149 regulator-name = "vcc_tp";
150 regulator-always-on;
151 };
152
153 vcc28_cif: regulator@12 {
154 regulator-name = "vcc28_cif";
155 regulator-always-on;
156 };
157 };
158 };
159};
160
161/* must be included after &tps gets defined */
162#include "tps65910.dtsi"
163
164&mmc0 { /* sdmmc */
165 status = "okay";
166 pinctrl-names = "default";
167 pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
168 vmmc-supply = <&vcc_sd0>;
169 bus-width = <4>;
170 cap-mmc-highspeed;
171 cap-sd-highspeed;
172 disable-wp;
173};
174
175&mmc1 { /* wifi */
176 status = "okay";
177 non-removable;
178
179 pinctrl-names = "default";
180 pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus4>;
181
182 bus-width = <4>;
183};
184
185&pwm3 {
186 status = "okay";
187};
188
189&uart0 {
190 status = "okay";
191};
192
193&uart1 {
194 status = "okay";
195};
196
197&uart2 {
198 status = "okay";
199};
200
201&uart3 {
202 status = "okay";
203};
204
205&wdt {
206 status = "okay";
207};