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