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