]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - arch/arm/dts/tegra124-nyan-big.dts
tegra: nyan-big: Add LCD PMIC init and board ID
[karo-tx-uboot.git] / arch / arm / dts / tegra124-nyan-big.dts
1 /dts-v1/;
2
3 #include <dt-bindings/input/input.h>
4 #include "tegra124.dtsi"
5
6 / {
7         model = "Acer Chromebook 13 CB5-311";
8         compatible = "google,nyan-big", "nvidia,tegra124";
9
10         aliases {
11                 console = &uarta;
12                 i2c0 = "/i2c@7000d000";
13                 i2c1 = "/i2c@7000c000";
14                 i2c2 = "/i2c@7000c400";
15                 i2c3 = "/i2c@7000c500";
16                 i2c4 = "/i2c@7000c700";
17                 i2c5 = "/i2c@7000d100";
18                 rtc0 = "/i2c@0,7000d000/pmic@40";
19                 rtc1 = "/rtc@0,7000e000";
20                 sdhci0 = "/sdhci@700b0600";
21                 sdhci1 = "/sdhci@700b0400";
22                 spi0 = "/spi@7000d400";
23                 spi1 = "/spi@7000da00";
24                 usb0 = "/usb@7d000000";
25                 usb1 = "/usb@7d008000";
26         };
27
28         memory {
29                 reg = <0x80000000 0x80000000>;
30         };
31
32         serial@70006000 {
33                 /* Debug connector on the bottom of the board near SD card. */
34                 status = "okay";
35         };
36
37         pwm@7000a000 {
38                 status = "okay";
39         };
40
41         i2c@7000c000 {
42                 status = "okay";
43                 clock-frequency = <100000>;
44
45                 acodec: audio-codec@10 {
46                         compatible = "maxim,max98090";
47                         reg = <0x10>;
48                         interrupt-parent = <&gpio>;
49                         interrupts = <TEGRA_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
50                 };
51
52                 temperature-sensor@4c {
53                         compatible = "ti,tmp451";
54                         reg = <0x4c>;
55                         interrupt-parent = <&gpio>;
56                         interrupts = <TEGRA_GPIO(I, 6) IRQ_TYPE_LEVEL_LOW>;
57
58                         #thermal-sensor-cells = <1>;
59                 };
60         };
61
62         i2c@7000c400 {
63                 status = "okay";
64                 clock-frequency = <100000>;
65         };
66
67         i2c@7000c500 {
68                 status = "okay";
69                 clock-frequency = <400000>;
70
71                 tpm@20 {
72                         compatible = "infineon,slb9645tt";
73                         reg = <0x20>;
74                 };
75         };
76
77         hdmi_ddc: i2c@7000c700 {
78                 status = "okay";
79                 clock-frequency = <100000>;
80         };
81
82         i2c@7000d000 {
83                 status = "okay";
84                 clock-frequency = <400000>;
85
86                 pmic: pmic@40 {
87                         compatible = "ams,as3722";
88                         reg = <0x40>;
89                         interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
90
91                         ams,system-power-controller;
92
93                         #interrupt-cells = <2>;
94                         interrupt-controller;
95
96                         gpio-controller;
97                         #gpio-cells = <2>;
98
99                         pinctrl-names = "default";
100                         pinctrl-0 = <&as3722_default>;
101
102                         as3722_default: pinmux {
103                                 gpio0 {
104                                         pins = "gpio0";
105                                         function = "gpio";
106                                         bias-pull-down;
107                                 };
108
109                                 gpio1 {
110                                         pins = "gpio1";
111                                         function = "gpio";
112                                         bias-pull-up;
113                                 };
114
115                                 gpio2_4_7 {
116                                         pins = "gpio2", "gpio4", "gpio7";
117                                         function = "gpio";
118                                         bias-pull-up;
119                                 };
120
121                                 gpio3_6 {
122                                         pins = "gpio3", "gpio6";
123                                         bias-high-impedance;
124                                 };
125
126                                 gpio5 {
127                                         pins = "gpio5";
128                                         function = "clk32k-out";
129                                         bias-pull-down;
130                                 };
131                         };
132                 };
133         };
134
135         spi@7000d400 {
136                 status = "okay";
137
138                 cros_ec: cros-ec@0 {
139                         compatible = "google,cros-ec-spi";
140                         spi-max-frequency = <3000000>;
141                         interrupt-parent = <&gpio>;
142                         interrupts = <TEGRA_GPIO(C, 7) IRQ_TYPE_LEVEL_LOW>;
143                         reg = <0>;
144
145                         google,cros-ec-spi-msg-delay = <2000>;
146
147                         i2c-tunnel {
148                                 compatible = "google,cros-ec-i2c-tunnel";
149                                 #address-cells = <1>;
150                                 #size-cells = <0>;
151
152                                 google,remote-bus = <0>;
153
154                                 charger: bq24735@9 {
155                                         compatible = "ti,bq24735";
156                                         reg = <0x9>;
157                                         interrupt-parent = <&gpio>;
158                                         interrupts = <TEGRA_GPIO(J, 0)
159                                                         GPIO_ACTIVE_HIGH>;
160                                         ti,ac-detect-gpios = <&gpio
161                                                         TEGRA_GPIO(J, 0)
162                                                         GPIO_ACTIVE_HIGH>;
163                                 };
164
165                                 battery: sbs-battery@b {
166                                         compatible = "sbs,sbs-battery";
167                                         reg = <0xb>;
168                                         sbs,i2c-retry-count = <2>;
169                                         sbs,poll-retry-count = <10>;
170                                         power-supplies = <&charger>;
171                                 };
172                         };
173                 };
174         };
175
176         spi@7000da00 {
177                 status = "okay";
178                 spi-max-frequency = <25000000>;
179
180                 flash@0 {
181                         compatible = "winbond,w25q32dw";
182                         reg = <0>;
183                 };
184         };
185
186         pmc@7000e400 {
187                 nvidia,invert-interrupt;
188                 nvidia,suspend-mode = <0>;
189                 nvidia,cpu-pwr-good-time = <500>;
190                 nvidia,cpu-pwr-off-time = <300>;
191                 nvidia,core-pwr-good-time = <641 3845>;
192                 nvidia,core-pwr-off-time = <61036>;
193                 nvidia,core-power-req-active-high;
194                 nvidia,sys-clock-req-active-high;
195         };
196
197         hda@70030000 {
198                 status = "okay";
199         };
200
201         sdhci@700b0000 { /* WiFi/BT on this bus */
202                 status = "okay";
203                 power-gpios = <&gpio TEGRA_GPIO(X, 7) GPIO_ACTIVE_HIGH>;
204                 bus-width = <4>;
205                 no-1-8-v;
206                 non-removable;
207         };
208
209         sdhci@700b0400 { /* SD Card on this bus */
210                 status = "okay";
211                 cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
212                 power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
213                 wp-gpios = <&gpio TEGRA_GPIO(Q, 4) GPIO_ACTIVE_LOW>;
214                 bus-width = <4>;
215                 no-1-8-v;
216         };
217
218         sdhci@700b0600 { /* eMMC on this bus */
219                 status = "okay";
220                 bus-width = <8>;
221                 no-1-8-v;
222                 non-removable;
223         };
224
225         ahub@70300000 {
226                 i2s@70301100 {
227                         status = "okay";
228                 };
229         };
230
231         usb@7d000000 { /* Rear external USB port. */
232                 status = "okay";
233                 nvidia,vbus-gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
234         };
235
236         usb-phy@7d000000 {
237                 status = "okay";
238         };
239
240         usb@7d004000 { /* Internal webcam. */
241                 status = "okay";
242         };
243
244         usb-phy@7d004000 {
245                 status = "okay";
246         };
247
248         usb@7d008000 { /* Left external USB port. */
249                 status = "okay";
250                 nvidia,vbus-gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>;
251         };
252
253         usb-phy@7d008000 {
254                 status = "okay";
255         };
256
257         backlight: backlight {
258                 compatible = "pwm-backlight";
259
260                 enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
261                 pwms = <&pwm 1 1000000>;
262
263                 default-brightness-level = <224>;
264                 brightness-levels =
265                         <  0   1   2   3   4   5   6   7
266                            8   9  10  11  12  13  14  15
267                           16  17  18  19  20  21  22  23
268                           24  25  26  27  28  29  30  31
269                           32  33  34  35  36  37  38  39
270                           40  41  42  43  44  45  46  47
271                           48  49  50  51  52  53  54  55
272                           56  57  58  59  60  61  62  63
273                           64  65  66  67  68  69  70  71
274                           72  73  74  75  76  77  78  79
275                           80  81  82  83  84  85  86  87
276                           88  89  90  91  92  93  94  95
277                           96  97  98  99 100 101 102 103
278                          104 105 106 107 108 109 110 111
279                          112 113 114 115 116 117 118 119
280                          120 121 122 123 124 125 126 127
281                          128 129 130 131 132 133 134 135
282                          136 137 138 139 140 141 142 143
283                          144 145 146 147 148 149 150 151
284                          152 153 154 155 156 157 158 159
285                          160 161 162 163 164 165 166 167
286                          168 169 170 171 172 173 174 175
287                          176 177 178 179 180 181 182 183
288                          184 185 186 187 188 189 190 191
289                          192 193 194 195 196 197 198 199
290                          200 201 202 203 204 205 206 207
291                          208 209 210 211 212 213 214 215
292                          216 217 218 219 220 221 222 223
293                          224 225 226 227 228 229 230 231
294                          232 233 234 235 236 237 238 239
295                          240 241 242 243 244 245 246 247
296                          248 249 250 251 252 253 254 255
297                          256>;
298         };
299
300         clocks {
301                 compatible = "simple-bus";
302                 #address-cells = <1>;
303                 #size-cells = <0>;
304
305                 clk32k_in: clock@0 {
306                         compatible = "fixed-clock";
307                         reg = <0>;
308                         #clock-cells = <0>;
309                         clock-frequency = <32768>;
310                 };
311         };
312
313         gpio@6000d000 {
314                 u-boot,dm-pre-reloc;
315         };
316
317         gpio-keys {
318                 compatible = "gpio-keys";
319
320                 lid {
321                         label = "Lid";
322                         gpios = <&gpio TEGRA_GPIO(R, 4) GPIO_ACTIVE_LOW>;
323                         linux,input-type = <5>;
324                         linux,code = <KEY_RESERVED>;
325                         debounce-interval = <1>;
326                         gpio-key,wakeup;
327                 };
328
329                 power {
330                         label = "Power";
331                         gpios = <&gpio TEGRA_GPIO(Q, 0) GPIO_ACTIVE_LOW>;
332                         linux,code = <KEY_POWER>;
333                         debounce-interval = <30>;
334                         gpio-key,wakeup;
335                 };
336         };
337
338         panel: panel {
339                 compatible = "auo,b133xtn01";
340
341                 backlight = <&backlight>;
342         };
343
344         sound {
345                 compatible = "nvidia,tegra-audio-max98090-nyan-big",
346                              "nvidia,tegra-audio-max98090";
347                 nvidia,model = "Acer Chromebook 13";
348
349                 nvidia,audio-routing =
350                         "Headphones", "HPR",
351                         "Headphones", "HPL",
352                         "Speakers", "SPKR",
353                         "Speakers", "SPKL",
354                         "Mic Jack", "MICBIAS",
355                         "DMICL", "Int Mic",
356                         "DMICR", "Int Mic",
357                         "IN34", "Mic Jack";
358
359                 nvidia,i2s-controller = <&tegra_i2s1>;
360                 nvidia,audio-codec = <&acodec>;
361
362                 clocks = <&tegra_car TEGRA124_CLK_PLL_A>,
363                          <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
364                          <&tegra_car TEGRA124_CLK_EXTERN1>;
365                 clock-names = "pll_a", "pll_a_out0", "mclk";
366
367                 nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(I, 7) GPIO_ACTIVE_HIGH>;
368         };
369 };
370
371 #include "cros-ec-keyboard.dtsi"