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