Merge branch 'for-4.19/i2c-hid' into for-linus
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / rk3288-veyron-minnie.dts
1 /*
2  * Google Veyron Minnie Rev 0+ board device tree source
3  *
4  * Copyright 2015 Google, Inc
5  *
6  * This file is dual-licensed: you can use it either under the terms
7  * of the GPL or the X11 license, at your option. Note that this dual
8  * licensing only applies to this file, and not this project as a
9  * whole.
10  *
11  *  a) This file is free software; you can redistribute it and/or
12  *     modify it under the terms of the GNU General Public License as
13  *     published by the Free Software Foundation; either version 2 of the
14  *     License, or (at your option) any later version.
15  *
16  *     This file is distributed in the hope that it will be useful,
17  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
18  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19  *     GNU General Public License for more details.
20  *
21  *  Or, alternatively,
22  *
23  *  b) Permission is hereby granted, free of charge, to any person
24  *     obtaining a copy of this software and associated documentation
25  *     files (the "Software"), to deal in the Software without
26  *     restriction, including without limitation the rights to use,
27  *     copy, modify, merge, publish, distribute, sublicense, and/or
28  *     sell copies of the Software, and to permit persons to whom the
29  *     Software is furnished to do so, subject to the following
30  *     conditions:
31  *
32  *     The above copyright notice and this permission notice shall be
33  *     included in all copies or substantial portions of the Software.
34  *
35  *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37  *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38  *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40  *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42  *     OTHER DEALINGS IN THE SOFTWARE.
43  */
44
45 /dts-v1/;
46 #include "rk3288-veyron-chromebook.dtsi"
47
48 / {
49         model = "Google Minnie";
50         compatible = "google,veyron-minnie-rev4", "google,veyron-minnie-rev3",
51                      "google,veyron-minnie-rev2", "google,veyron-minnie-rev1",
52                      "google,veyron-minnie-rev0", "google,veyron-minnie",
53                      "google,veyron", "rockchip,rk3288";
54
55         backlight_regulator: backlight-regulator {
56                 compatible = "regulator-fixed";
57                 enable-active-high;
58                 gpio = <&gpio2 RK_PB4 GPIO_ACTIVE_HIGH>;
59                 pinctrl-names = "default";
60                 pinctrl-0 = <&bl_pwr_en>;
61                 regulator-name = "backlight_regulator";
62                 vin-supply = <&vcc33_sys>;
63                 startup-delay-us = <15000>;
64         };
65
66         panel_regulator: panel-regulator {
67                 compatible = "regulator-fixed";
68                 enable-active-high;
69                 gpio = <&gpio7 RK_PB6 GPIO_ACTIVE_HIGH>;
70                 pinctrl-names = "default";
71                 pinctrl-0 = <&lcd_enable_h>;
72                 regulator-name = "panel_regulator";
73                 startup-delay-us = <100000>;
74                 vin-supply = <&vcc33_sys>;
75         };
76
77         vcc18_lcd: vcc18-lcd {
78                 compatible = "regulator-fixed";
79                 enable-active-high;
80                 gpio = <&gpio2 RK_PB5 GPIO_ACTIVE_HIGH>;
81                 pinctrl-names = "default";
82                 pinctrl-0 = <&avdd_1v8_disp_en>;
83                 regulator-name = "vcc18_lcd";
84                 regulator-always-on;
85                 regulator-boot-on;
86                 vin-supply = <&vcc18_wl>;
87         };
88 };
89
90 &backlight {
91         /* Minnie panel PWM must be >= 1%, so start non-zero brightness at 3 */
92         brightness-levels = <
93                           0   3   4   5   6   7
94                           8   9  10  11  12  13  14  15
95                          16  17  18  19  20  21  22  23
96                          24  25  26  27  28  29  30  31
97                          32  33  34  35  36  37  38  39
98                          40  41  42  43  44  45  46  47
99                          48  49  50  51  52  53  54  55
100                          56  57  58  59  60  61  62  63
101                          64  65  66  67  68  69  70  71
102                          72  73  74  75  76  77  78  79
103                          80  81  82  83  84  85  86  87
104                          88  89  90  91  92  93  94  95
105                          96  97  98  99 100 101 102 103
106                         104 105 106 107 108 109 110 111
107                         112 113 114 115 116 117 118 119
108                         120 121 122 123 124 125 126 127
109                         128 129 130 131 132 133 134 135
110                         136 137 138 139 140 141 142 143
111                         144 145 146 147 148 149 150 151
112                         152 153 154 155 156 157 158 159
113                         160 161 162 163 164 165 166 167
114                         168 169 170 171 172 173 174 175
115                         176 177 178 179 180 181 182 183
116                         184 185 186 187 188 189 190 191
117                         192 193 194 195 196 197 198 199
118                         200 201 202 203 204 205 206 207
119                         208 209 210 211 212 213 214 215
120                         216 217 218 219 220 221 222 223
121                         224 225 226 227 228 229 230 231
122                         232 233 234 235 236 237 238 239
123                         240 241 242 243 244 245 246 247
124                         248 249 250 251 252 253 254 255>;
125         power-supply = <&backlight_regulator>;
126         post-pwm-on-delay-ms = <200>;
127         pwm-off-delay-ms = <200>;
128 };
129
130 &emmc {
131         /delete-property/mmc-hs200-1_8v;
132 };
133
134 &gpio_keys {
135         pinctrl-0 = <&pwr_key_l &ap_lid_int_l &volum_down_l &volum_up_l>;
136
137         volum_down {
138                 label = "Volum_down";
139                 gpios = <&gpio5 RK_PB3 GPIO_ACTIVE_LOW>;
140                 linux,code = <KEY_VOLUMEDOWN>;
141                 debounce-interval = <100>;
142         };
143
144         volum_up {
145                 label = "Volum_up";
146                 gpios = <&gpio5 RK_PB2 GPIO_ACTIVE_LOW>;
147                 linux,code = <KEY_VOLUMEUP>;
148                 debounce-interval = <100>;
149         };
150 };
151
152 &i2c_tunnel {
153         battery: bq27500@55 {
154                 compatible = "ti,bq27500";
155                 reg = <0x55>;
156         };
157 };
158
159 &i2c3 {
160         status = "okay";
161
162         clock-frequency = <400000>;
163         i2c-scl-falling-time-ns = <50>;
164         i2c-scl-rising-time-ns = <300>;
165
166         touchscreen@10 {
167                 compatible = "elan,ekth3500";
168                 reg = <0x10>;
169                 interrupt-parent = <&gpio2>;
170                 interrupts = <RK_PB6 IRQ_TYPE_EDGE_FALLING>;
171                 pinctrl-names = "default";
172                 pinctrl-0 = <&touch_int &touch_rst>;
173                 reset-gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_LOW>;
174                 vcc33-supply = <&vcc33_touch>;
175                 vccio-supply = <&vcc33_touch>;
176         };
177 };
178
179 &panel {
180         compatible = "auo,b101ean01", "simple-panel";
181         power-supply= <&panel_regulator>;
182 };
183
184 &rk808 {
185         pinctrl-names = "default";
186         pinctrl-0 = <&pmic_int_l &dvs_1 &dvs_2>;
187
188         regulators {
189                 vcc33_touch: LDO_REG2 {
190                         regulator-min-microvolt = <3300000>;
191                         regulator-max-microvolt = <3300000>;
192                         regulator-name = "vcc33_touch";
193                         regulator-state-mem {
194                                 regulator-off-in-suspend;
195                         };
196                 };
197
198                 vcc5v_touch: SWITCH_REG2 {
199                         regulator-name = "vcc5v_touch";
200                         regulator-state-mem {
201                                 regulator-off-in-suspend;
202                         };
203                 };
204         };
205 };
206
207 &sdmmc {
208         disable-wp;
209         pinctrl-names = "default";
210         pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd_disabled &sdmmc_cd_gpio
211                         &sdmmc_bus4>;
212 };
213
214 &vcc_5v {
215         enable-active-high;
216         gpio = <&gpio7 RK_PC5 GPIO_ACTIVE_HIGH>;
217         pinctrl-names = "default";
218         pinctrl-0 = <&drv_5v>;
219 };
220
221 &vcc50_hdmi {
222         enable-active-high;
223         gpio = <&gpio5 RK_PC3 GPIO_ACTIVE_HIGH>;
224         pinctrl-names = "default";
225         pinctrl-0 = <&vcc50_hdmi_en>;
226 };
227
228 &pinctrl {
229         backlight {
230                 bl_pwr_en: bl_pwr_en {
231                         rockchip,pins = <2 12 RK_FUNC_GPIO &pcfg_pull_none>;
232                 };
233         };
234
235         buck-5v {
236                 drv_5v: drv-5v {
237                         rockchip,pins = <7 21 RK_FUNC_GPIO &pcfg_pull_none>;
238                 };
239         };
240
241         buttons {
242                 volum_down_l: volum-down-l {
243                         rockchip,pins = <5 11 RK_FUNC_GPIO &pcfg_pull_up>;
244                 };
245
246                 volum_up_l: volum-up-l {
247                         rockchip,pins = <5 10 RK_FUNC_GPIO &pcfg_pull_up>;
248                 };
249         };
250
251         hdmi {
252                 vcc50_hdmi_en: vcc50-hdmi-en {
253                         rockchip,pins = <5 19 RK_FUNC_GPIO &pcfg_pull_none>;
254                 };
255         };
256
257         lcd {
258                 lcd_enable_h: lcd-en {
259                         rockchip,pins = <7 14 RK_FUNC_GPIO &pcfg_pull_none>;
260                 };
261
262                 avdd_1v8_disp_en: avdd-1v8-disp-en {
263                         rockchip,pins = <2 13 RK_FUNC_GPIO &pcfg_pull_none>;
264                 };
265         };
266
267         pmic {
268                 dvs_1: dvs-1 {
269                         rockchip,pins = <7 12 RK_FUNC_GPIO &pcfg_pull_down>;
270                 };
271
272                 dvs_2: dvs-2 {
273                         rockchip,pins = <7 15 RK_FUNC_GPIO &pcfg_pull_down>;
274                 };
275         };
276
277         prochot {
278                 gpio_prochot: gpio-prochot {
279                         rockchip,pins = <2 8 RK_FUNC_GPIO &pcfg_pull_none>;
280                 };
281         };
282
283         touchscreen {
284                 touch_int: touch-int {
285                         rockchip,pins = <2 14 RK_FUNC_GPIO &pcfg_pull_none>;
286                 };
287
288                 touch_rst: touch-rst {
289                         rockchip,pins = <2 15 RK_FUNC_GPIO &pcfg_pull_none>;
290                 };
291         };
292 };