]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/gnu/dts/arm/rk3288-veyron-chromebook.dtsi
MFV r348596: 9689 zfs range lock code should not be zpl-specific
[FreeBSD/FreeBSD.git] / sys / gnu / dts / arm / rk3288-veyron-chromebook.dtsi
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Google Veyron (and derivatives) board device tree source
4  * Chromebook specific parts
5  *
6  * Copyright 2015 Google, Inc
7  */
8
9 #include <dt-bindings/clock/rockchip,rk808.h>
10 #include <dt-bindings/input/input.h>
11 #include "rk3288-veyron.dtsi"
12 #include "rk3288-veyron-analog-audio.dtsi"
13 #include "rk3288-veyron-sdmmc.dtsi"
14
15 / {
16         aliases {
17                 /* Assign 20 so we don't get confused w/ builtin ones */
18                 i2c20 = &i2c_tunnel;
19         };
20
21         backlight: backlight {
22                 compatible = "pwm-backlight";
23                 brightness-levels = <
24                           0   1   2   3   4   5   6   7
25                           8   9  10  11  12  13  14  15
26                          16  17  18  19  20  21  22  23
27                          24  25  26  27  28  29  30  31
28                          32  33  34  35  36  37  38  39
29                          40  41  42  43  44  45  46  47
30                          48  49  50  51  52  53  54  55
31                          56  57  58  59  60  61  62  63
32                          64  65  66  67  68  69  70  71
33                          72  73  74  75  76  77  78  79
34                          80  81  82  83  84  85  86  87
35                          88  89  90  91  92  93  94  95
36                          96  97  98  99 100 101 102 103
37                         104 105 106 107 108 109 110 111
38                         112 113 114 115 116 117 118 119
39                         120 121 122 123 124 125 126 127
40                         128 129 130 131 132 133 134 135
41                         136 137 138 139 140 141 142 143
42                         144 145 146 147 148 149 150 151
43                         152 153 154 155 156 157 158 159
44                         160 161 162 163 164 165 166 167
45                         168 169 170 171 172 173 174 175
46                         176 177 178 179 180 181 182 183
47                         184 185 186 187 188 189 190 191
48                         192 193 194 195 196 197 198 199
49                         200 201 202 203 204 205 206 207
50                         208 209 210 211 212 213 214 215
51                         216 217 218 219 220 221 222 223
52                         224 225 226 227 228 229 230 231
53                         232 233 234 235 236 237 238 239
54                         240 241 242 243 244 245 246 247
55                         248 249 250 251 252 253 254 255>;
56                 default-brightness-level = <128>;
57                 enable-gpios = <&gpio7 RK_PA2 GPIO_ACTIVE_HIGH>;
58                 pinctrl-names = "default";
59                 pinctrl-0 = <&bl_en>;
60                 pwms = <&pwm0 0 1000000 0>;
61                 post-pwm-on-delay-ms = <10>;
62                 pwm-off-delay-ms = <10>;
63         };
64
65         gpio-charger {
66                 compatible = "gpio-charger";
67                 charger-type = "mains";
68                 gpios = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
69                 pinctrl-names = "default";
70                 pinctrl-0 = <&ac_present_ap>;
71         };
72
73         lid_switch: lid-switch {
74                 compatible = "gpio-keys";
75                 pinctrl-names = "default";
76                 pinctrl-0 = <&ap_lid_int_l>;
77
78                 lid {
79                         label = "Lid";
80                         gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
81                         wakeup-source;
82                         linux,code = <SW_LID>;
83                         linux,input-type = <EV_SW>;
84                         debounce-interval = <1>;
85                 };
86         };
87
88         panel: panel {
89                 compatible ="innolux,n116bge", "simple-panel";
90                 status = "okay";
91                 power-supply = <&vcc33_lcd>;
92                 backlight = <&backlight>;
93
94                 ports {
95                         panel_in: port {
96                                 panel_in_edp: endpoint {
97                                         remote-endpoint = <&edp_out_panel>;
98                                 };
99                         };
100                 };
101         };
102
103         /* A non-regulated voltage from power supply or battery */
104         vccsys: vccsys {
105                 compatible = "regulator-fixed";
106                 regulator-name = "vccsys";
107                 regulator-boot-on;
108                 regulator-always-on;
109         };
110
111         vcc33_sys: vcc33-sys {
112                 vin-supply = <&vccsys>;
113         };
114
115         vcc_5v: vcc-5v {
116                 vin-supply = <&vccsys>;
117         };
118
119         /* This turns on vbus for host1 (dwc2) */
120         vcc5_host1: vcc5-host1-regulator {
121                 compatible = "regulator-fixed";
122                 enable-active-high;
123                 gpio = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
124                 pinctrl-names = "default";
125                 pinctrl-0 = <&host1_pwr_en>;
126                 regulator-name = "vcc5_host1";
127                 regulator-always-on;
128                 regulator-boot-on;
129         };
130
131         /* This turns on vbus for otg for host mode (dwc2) */
132         vcc5v_otg: vcc5v-otg-regulator {
133                 compatible = "regulator-fixed";
134                 enable-active-high;
135                 gpio = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
136                 pinctrl-names = "default";
137                 pinctrl-0 = <&usbotg_pwren_h>;
138                 regulator-name = "vcc5_host2";
139                 regulator-always-on;
140                 regulator-boot-on;
141         };
142 };
143
144 &edp {
145         status = "okay";
146
147         pinctrl-names = "default";
148         pinctrl-0 = <&edp_hpd>;
149
150         ports {
151                 edp_out: port@1 {
152                         reg = <1>;
153                         #address-cells = <1>;
154                         #size-cells = <0>;
155                         edp_out_panel: endpoint@0 {
156                                 reg = <0>;
157                                 remote-endpoint = <&panel_in_edp>;
158                         };
159                 };
160         };
161 };
162
163 &edp_phy {
164         status = "okay";
165 };
166
167 &pwm0 {
168         status = "okay";
169 };
170
171 &rk808 {
172         vcc11-supply = <&vcc_5v>;
173
174         regulators {
175                 vcc33_ccd: LDO_REG8 {
176                         regulator-name = "vcc33_ccd";
177                         regulator-always-on;
178                         regulator-boot-on;
179                         regulator-min-microvolt = <3300000>;
180                         regulator-max-microvolt = <3300000>;
181                         regulator-state-mem {
182                                 regulator-off-in-suspend;
183                         };
184                 };
185         };
186 };
187
188 &spi0 {
189         status = "okay";
190
191         cros_ec: ec@0 {
192                 compatible = "google,cros-ec-spi";
193                 reg = <0>;
194                 google,cros-ec-spi-pre-delay = <30>;
195                 interrupt-parent = <&gpio7>;
196                 interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>;
197                 pinctrl-names = "default";
198                 pinctrl-0 = <&ec_int>;
199                 spi-max-frequency = <3000000>;
200
201                 i2c_tunnel: i2c-tunnel {
202                         compatible = "google,cros-ec-i2c-tunnel";
203                         google,remote-bus = <0>;
204                         #address-cells = <1>;
205                         #size-cells = <0>;
206                 };
207         };
208 };
209
210 &i2c4 {
211         trackpad@15 {
212                 compatible = "elan,ekth3000";
213                 reg = <0x15>;
214                 interrupt-parent = <&gpio7>;
215                 interrupts = <RK_PA3 IRQ_TYPE_EDGE_FALLING>;
216                 pinctrl-names = "default";
217                 pinctrl-0 = <&trackpad_int>;
218                 vcc-supply = <&vcc33_io>;
219                 wakeup-source;
220         };
221 };
222
223 &vopl {
224         status = "okay";
225 };
226
227 &vopl_mmu {
228         status = "okay";
229 };
230
231 &pinctrl {
232         pinctrl-0 = <
233                 /* Common for sleep and wake, but no owners */
234                 &ddr0_retention
235                 &ddrio_pwroff
236                 &global_pwroff
237
238                 /* Wake only */
239                 &suspend_l_wake
240                 &bt_dev_wake_awake
241         >;
242         pinctrl-1 = <
243                 /* Common for sleep and wake, but no owners */
244                 &ddr0_retention
245                 &ddrio_pwroff
246                 &global_pwroff
247
248                 /* Sleep only */
249                 &suspend_l_sleep
250                 &bt_dev_wake_sleep
251         >;
252
253         backlight {
254                 bl_en: bl-en {
255                         rockchip,pins = <7 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
256                 };
257         };
258
259         buttons {
260                 ap_lid_int_l: ap-lid-int-l {
261                         rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
262                 };
263         };
264
265         charger {
266                 ac_present_ap: ac-present-ap {
267                         rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
268                 };
269         };
270
271         cros-ec {
272                 ec_int: ec-int {
273                         rockchip,pins = <7 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>;
274                 };
275         };
276
277         suspend {
278                 suspend_l_wake: suspend-l-wake {
279                         rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_output_low>;
280                 };
281
282                 suspend_l_sleep: suspend-l-sleep {
283                         rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_output_high>;
284                 };
285         };
286
287         trackpad {
288                 trackpad_int: trackpad-int {
289                         rockchip,pins = <7 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
290                 };
291         };
292
293         usb-host {
294                 host1_pwr_en: host1-pwr-en {
295                         rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
296                 };
297
298                 usbotg_pwren_h: usbotg-pwren-h {
299                         rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
300                 };
301         };
302 };
303
304 #include "cros-ec-keyboard.dtsi"