GNU Linux-libre 4.19.264-gnu1
[releases.git] / arch / arm / boot / dts / rk3066a-bqcurie2.dts
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         disable-wp;
175 };
176
177 &pwm3 {
178         status = "okay";
179 };
180
181 &uart0 {
182         status = "okay";
183 };
184
185 &uart1 {
186         status = "okay";
187 };
188
189 &uart2 {
190         status = "okay";
191 };
192
193 &uart3 {
194         status = "okay";
195 };
196
197 &wdt {
198         status = "okay";
199 };