Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux...
[deliverable/linux.git] / arch / arm / boot / dts / tegra30-cardhu.dtsi
1 #include "tegra30.dtsi"
2
3 /**
4 * This file contains common DT entry for all fab version of Cardhu.
5 * There is multiple fab version of Cardhu starting from A01 to A07.
6 * Cardhu fab version A01 and A03 are not supported. Cardhu fab version
7 * A02 will have different sets of GPIOs for fixed regulator compare to
8 * Cardhu fab version A04. The Cardhu fab version A05, A06, A07 are
9 * compatible with fab version A04. Based on Cardhu fab version, the
10 * related dts file need to be chosen like for Cardhu fab version A02,
11 * use tegra30-cardhu-a02.dts, Cardhu fab version A04 and later, use
12 * tegra30-cardhu-a04.dts.
13 * The identification of board is done in two ways, by looking the sticker
14 * on PCB and by reading board id eeprom.
15 * The stciker will have number like 600-81291-1000-002 C.3. In this 4th
16 * number is the fab version like here it is 002 and hence fab version A02.
17 * The (downstream internal) U-Boot of Cardhu display the board-id as
18 * follows:
19 * BoardID: 0C5B, SKU: 0A01, Fab: 02, Rev: 45.00
20 * In this Fab version is 02 i.e. A02.
21 * The BoardID I2C eeprom is interfaced through i2c5 (pwr_i2c address 0x56).
22 * The location 0x8 of this eeprom contains the Fab version. It is 1 byte
23 * wide.
24 */
25
26 / {
27 model = "NVIDIA Tegra30 Cardhu evaluation board";
28 compatible = "nvidia,cardhu", "nvidia,tegra30";
29
30 aliases {
31 rtc0 = "/i2c@7000d000/tps65911@2d";
32 rtc1 = "/rtc@7000e000";
33 };
34
35 memory {
36 reg = <0x80000000 0x40000000>;
37 };
38
39 pcie-controller@00003000 {
40 status = "okay";
41 pex-clk-supply = <&pex_hvdd_3v3_reg>;
42 vdd-supply = <&ldo1_reg>;
43 avdd-supply = <&ldo2_reg>;
44
45 pci@1,0 {
46 nvidia,num-lanes = <4>;
47 };
48
49 pci@2,0 {
50 nvidia,num-lanes = <1>;
51 };
52
53 pci@3,0 {
54 status = "okay";
55 nvidia,num-lanes = <1>;
56 };
57 };
58
59 host1x@50000000 {
60 dc@54200000 {
61 rgb {
62 status = "okay";
63
64 nvidia,panel = <&panel>;
65 };
66 };
67 };
68
69 pinmux@70000868 {
70 pinctrl-names = "default";
71 pinctrl-0 = <&state_default>;
72
73 state_default: pinmux {
74 sdmmc1_clk_pz0 {
75 nvidia,pins = "sdmmc1_clk_pz0";
76 nvidia,function = "sdmmc1";
77 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
78 nvidia,tristate = <TEGRA_PIN_DISABLE>;
79 };
80 sdmmc1_cmd_pz1 {
81 nvidia,pins = "sdmmc1_cmd_pz1",
82 "sdmmc1_dat0_py7",
83 "sdmmc1_dat1_py6",
84 "sdmmc1_dat2_py5",
85 "sdmmc1_dat3_py4";
86 nvidia,function = "sdmmc1";
87 nvidia,pull = <TEGRA_PIN_PULL_UP>;
88 nvidia,tristate = <TEGRA_PIN_DISABLE>;
89 };
90 sdmmc3_clk_pa6 {
91 nvidia,pins = "sdmmc3_clk_pa6";
92 nvidia,function = "sdmmc3";
93 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
94 nvidia,tristate = <TEGRA_PIN_DISABLE>;
95 };
96 sdmmc3_cmd_pa7 {
97 nvidia,pins = "sdmmc3_cmd_pa7",
98 "sdmmc3_dat0_pb7",
99 "sdmmc3_dat1_pb6",
100 "sdmmc3_dat2_pb5",
101 "sdmmc3_dat3_pb4";
102 nvidia,function = "sdmmc3";
103 nvidia,pull = <TEGRA_PIN_PULL_UP>;
104 nvidia,tristate = <TEGRA_PIN_DISABLE>;
105 };
106 sdmmc4_clk_pcc4 {
107 nvidia,pins = "sdmmc4_clk_pcc4",
108 "sdmmc4_rst_n_pcc3";
109 nvidia,function = "sdmmc4";
110 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
111 nvidia,tristate = <TEGRA_PIN_DISABLE>;
112 };
113 sdmmc4_dat0_paa0 {
114 nvidia,pins = "sdmmc4_dat0_paa0",
115 "sdmmc4_dat1_paa1",
116 "sdmmc4_dat2_paa2",
117 "sdmmc4_dat3_paa3",
118 "sdmmc4_dat4_paa4",
119 "sdmmc4_dat5_paa5",
120 "sdmmc4_dat6_paa6",
121 "sdmmc4_dat7_paa7";
122 nvidia,function = "sdmmc4";
123 nvidia,pull = <TEGRA_PIN_PULL_UP>;
124 nvidia,tristate = <TEGRA_PIN_DISABLE>;
125 };
126 dap2_fs_pa2 {
127 nvidia,pins = "dap2_fs_pa2",
128 "dap2_sclk_pa3",
129 "dap2_din_pa4",
130 "dap2_dout_pa5";
131 nvidia,function = "i2s1";
132 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
133 nvidia,tristate = <TEGRA_PIN_DISABLE>;
134 };
135 sdio3 {
136 nvidia,pins = "drive_sdio3";
137 nvidia,high-speed-mode = <TEGRA_PIN_DISABLE>;
138 nvidia,schmitt = <TEGRA_PIN_DISABLE>;
139 nvidia,pull-down-strength = <46>;
140 nvidia,pull-up-strength = <42>;
141 nvidia,slew-rate-rising = <TEGRA_PIN_SLEW_RATE_FAST>;
142 nvidia,slew-rate-falling = <TEGRA_PIN_SLEW_RATE_FAST>;
143 };
144 uart3_txd_pw6 {
145 nvidia,pins = "uart3_txd_pw6",
146 "uart3_cts_n_pa1",
147 "uart3_rts_n_pc0",
148 "uart3_rxd_pw7";
149 nvidia,function = "uartc";
150 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
151 nvidia,tristate = <TEGRA_PIN_DISABLE>;
152 };
153 };
154 };
155
156 serial@70006000 {
157 status = "okay";
158 };
159
160 serial@70006200 {
161 compatible = "nvidia,tegra30-hsuart";
162 status = "okay";
163 };
164
165 pwm@7000a000 {
166 status = "okay";
167 };
168
169 panelddc: i2c@7000c000 {
170 status = "okay";
171 clock-frequency = <100000>;
172 };
173
174 i2c@7000c400 {
175 status = "okay";
176 clock-frequency = <100000>;
177 };
178
179 i2c@7000c500 {
180 status = "okay";
181 clock-frequency = <100000>;
182
183 /* ALS and Proximity sensor */
184 isl29028@44 {
185 compatible = "isil,isl29028";
186 reg = <0x44>;
187 interrupt-parent = <&gpio>;
188 interrupts = <TEGRA_GPIO(L, 0) IRQ_TYPE_LEVEL_HIGH>;
189 };
190
191 i2cmux@70 {
192 compatible = "nxp,pca9546";
193 #address-cells = <1>;
194 #size-cells = <0>;
195 reg = <0x70>;
196 };
197 };
198
199 i2c@7000c700 {
200 status = "okay";
201 clock-frequency = <100000>;
202 };
203
204 i2c@7000d000 {
205 status = "okay";
206 clock-frequency = <100000>;
207
208 wm8903: wm8903@1a {
209 compatible = "wlf,wm8903";
210 reg = <0x1a>;
211 interrupt-parent = <&gpio>;
212 interrupts = <TEGRA_GPIO(W, 3) IRQ_TYPE_LEVEL_HIGH>;
213
214 gpio-controller;
215 #gpio-cells = <2>;
216
217 micdet-cfg = <0>;
218 micdet-delay = <100>;
219 gpio-cfg = <0xffffffff 0xffffffff 0 0xffffffff 0xffffffff>;
220 };
221
222 pmic: tps65911@2d {
223 compatible = "ti,tps65911";
224 reg = <0x2d>;
225
226 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
227 #interrupt-cells = <2>;
228 interrupt-controller;
229
230 ti,system-power-controller;
231
232 #gpio-cells = <2>;
233 gpio-controller;
234
235 vcc1-supply = <&vdd_ac_bat_reg>;
236 vcc2-supply = <&vdd_ac_bat_reg>;
237 vcc3-supply = <&vio_reg>;
238 vcc4-supply = <&vdd_5v0_reg>;
239 vcc5-supply = <&vdd_ac_bat_reg>;
240 vcc6-supply = <&vdd2_reg>;
241 vcc7-supply = <&vdd_ac_bat_reg>;
242 vccio-supply = <&vdd_ac_bat_reg>;
243
244 regulators {
245 vdd1_reg: vdd1 {
246 regulator-name = "vddio_ddr_1v2";
247 regulator-min-microvolt = <1200000>;
248 regulator-max-microvolt = <1200000>;
249 regulator-always-on;
250 };
251
252 vdd2_reg: vdd2 {
253 regulator-name = "vdd_1v5_gen";
254 regulator-min-microvolt = <1500000>;
255 regulator-max-microvolt = <1500000>;
256 regulator-always-on;
257 };
258
259 vddctrl_reg: vddctrl {
260 regulator-name = "vdd_cpu,vdd_sys";
261 regulator-min-microvolt = <1000000>;
262 regulator-max-microvolt = <1000000>;
263 regulator-always-on;
264 };
265
266 vio_reg: vio {
267 regulator-name = "vdd_1v8_gen";
268 regulator-min-microvolt = <1800000>;
269 regulator-max-microvolt = <1800000>;
270 regulator-always-on;
271 };
272
273 ldo1_reg: ldo1 {
274 regulator-name = "vdd_pexa,vdd_pexb";
275 regulator-min-microvolt = <1050000>;
276 regulator-max-microvolt = <1050000>;
277 };
278
279 ldo2_reg: ldo2 {
280 regulator-name = "vdd_sata,avdd_plle";
281 regulator-min-microvolt = <1050000>;
282 regulator-max-microvolt = <1050000>;
283 };
284
285 /* LDO3 is not connected to anything */
286
287 ldo4_reg: ldo4 {
288 regulator-name = "vdd_rtc";
289 regulator-min-microvolt = <1200000>;
290 regulator-max-microvolt = <1200000>;
291 regulator-always-on;
292 };
293
294 ldo5_reg: ldo5 {
295 regulator-name = "vddio_sdmmc,avdd_vdac";
296 regulator-min-microvolt = <3300000>;
297 regulator-max-microvolt = <3300000>;
298 regulator-always-on;
299 };
300
301 ldo6_reg: ldo6 {
302 regulator-name = "avdd_dsi_csi,pwrdet_mipi";
303 regulator-min-microvolt = <1200000>;
304 regulator-max-microvolt = <1200000>;
305 };
306
307 ldo7_reg: ldo7 {
308 regulator-name = "vdd_pllm,x,u,a_p_c_s";
309 regulator-min-microvolt = <1200000>;
310 regulator-max-microvolt = <1200000>;
311 regulator-always-on;
312 };
313
314 ldo8_reg: ldo8 {
315 regulator-name = "vdd_ddr_hs";
316 regulator-min-microvolt = <1000000>;
317 regulator-max-microvolt = <1000000>;
318 regulator-always-on;
319 };
320 };
321 };
322
323 temperature-sensor@4c {
324 compatible = "onnn,nct1008";
325 reg = <0x4c>;
326 vcc-supply = <&sys_3v3_reg>;
327 interrupt-parent = <&gpio>;
328 interrupts = <TEGRA_GPIO(CC, 2) IRQ_TYPE_LEVEL_LOW>;
329 };
330
331 tps62361@60 {
332 compatible = "ti,tps62361";
333 reg = <0x60>;
334
335 regulator-name = "tps62361-vout";
336 regulator-min-microvolt = <500000>;
337 regulator-max-microvolt = <1500000>;
338 regulator-boot-on;
339 regulator-always-on;
340 ti,vsel0-state-high;
341 ti,vsel1-state-high;
342 };
343 };
344
345 spi@7000da00 {
346 status = "okay";
347 spi-max-frequency = <25000000>;
348 spi-flash@1 {
349 compatible = "winbond,w25q32";
350 reg = <1>;
351 spi-max-frequency = <20000000>;
352 };
353 };
354
355 pmc@7000e400 {
356 status = "okay";
357 nvidia,invert-interrupt;
358 nvidia,suspend-mode = <1>;
359 nvidia,cpu-pwr-good-time = <2000>;
360 nvidia,cpu-pwr-off-time = <200>;
361 nvidia,core-pwr-good-time = <3845 3845>;
362 nvidia,core-pwr-off-time = <0>;
363 nvidia,core-power-req-active-high;
364 nvidia,sys-clock-req-active-high;
365 };
366
367 ahub@70080000 {
368 i2s@70080400 {
369 status = "okay";
370 };
371 };
372
373 sdhci@78000000 {
374 status = "okay";
375 cd-gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
376 wp-gpios = <&gpio TEGRA_GPIO(T, 3) GPIO_ACTIVE_HIGH>;
377 power-gpios = <&gpio TEGRA_GPIO(D, 7) GPIO_ACTIVE_HIGH>;
378 bus-width = <4>;
379 };
380
381 sdhci@78000600 {
382 status = "okay";
383 bus-width = <8>;
384 non-removable;
385 };
386
387 usb@7d008000 {
388 status = "okay";
389 };
390
391 usb-phy@7d008000 {
392 vbus-supply = <&usb3_vbus_reg>;
393 status = "okay";
394 };
395
396 backlight: backlight {
397 compatible = "pwm-backlight";
398
399 enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
400 power-supply = <&vdd_bl_reg>;
401 pwms = <&pwm 0 5000000>;
402
403 brightness-levels = <0 4 8 16 32 64 128 255>;
404 default-brightness-level = <6>;
405 };
406
407 clocks {
408 compatible = "simple-bus";
409 #address-cells = <1>;
410 #size-cells = <0>;
411
412 clk32k_in: clock@0 {
413 compatible = "fixed-clock";
414 reg=<0>;
415 #clock-cells = <0>;
416 clock-frequency = <32768>;
417 };
418 };
419
420 panel: panel {
421 compatible = "chunghwa,claa101wb01", "simple-panel";
422 ddc-i2c-bus = <&panelddc>;
423
424 power-supply = <&vdd_pnl1_reg>;
425 enable-gpios = <&gpio TEGRA_GPIO(L, 2) GPIO_ACTIVE_HIGH>;
426
427 backlight = <&backlight>;
428 };
429
430 regulators {
431 compatible = "simple-bus";
432 #address-cells = <1>;
433 #size-cells = <0>;
434
435 vdd_ac_bat_reg: regulator@0 {
436 compatible = "regulator-fixed";
437 reg = <0>;
438 regulator-name = "vdd_ac_bat";
439 regulator-min-microvolt = <5000000>;
440 regulator-max-microvolt = <5000000>;
441 regulator-always-on;
442 };
443
444 cam_1v8_reg: regulator@1 {
445 compatible = "regulator-fixed";
446 reg = <1>;
447 regulator-name = "cam_1v8";
448 regulator-min-microvolt = <1800000>;
449 regulator-max-microvolt = <1800000>;
450 enable-active-high;
451 gpio = <&gpio TEGRA_GPIO(BB, 4) GPIO_ACTIVE_HIGH>;
452 vin-supply = <&vio_reg>;
453 };
454
455 cp_5v_reg: regulator@2 {
456 compatible = "regulator-fixed";
457 reg = <2>;
458 regulator-name = "cp_5v";
459 regulator-min-microvolt = <5000000>;
460 regulator-max-microvolt = <5000000>;
461 regulator-boot-on;
462 regulator-always-on;
463 enable-active-high;
464 gpio = <&pmic 0 GPIO_ACTIVE_HIGH>;
465 };
466
467 emmc_3v3_reg: regulator@3 {
468 compatible = "regulator-fixed";
469 reg = <3>;
470 regulator-name = "emmc_3v3";
471 regulator-min-microvolt = <3300000>;
472 regulator-max-microvolt = <3300000>;
473 regulator-always-on;
474 regulator-boot-on;
475 enable-active-high;
476 gpio = <&gpio TEGRA_GPIO(D, 1) GPIO_ACTIVE_HIGH>;
477 vin-supply = <&sys_3v3_reg>;
478 };
479
480 modem_3v3_reg: regulator@4 {
481 compatible = "regulator-fixed";
482 reg = <4>;
483 regulator-name = "modem_3v3";
484 regulator-min-microvolt = <3300000>;
485 regulator-max-microvolt = <3300000>;
486 enable-active-high;
487 gpio = <&gpio TEGRA_GPIO(D, 6) GPIO_ACTIVE_HIGH>;
488 };
489
490 pex_hvdd_3v3_reg: regulator@5 {
491 compatible = "regulator-fixed";
492 reg = <5>;
493 regulator-name = "pex_hvdd_3v3";
494 regulator-min-microvolt = <3300000>;
495 regulator-max-microvolt = <3300000>;
496 enable-active-high;
497 gpio = <&gpio TEGRA_GPIO(L, 7) GPIO_ACTIVE_HIGH>;
498 vin-supply = <&sys_3v3_reg>;
499 };
500
501 vdd_cam1_ldo_reg: regulator@6 {
502 compatible = "regulator-fixed";
503 reg = <6>;
504 regulator-name = "vdd_cam1_ldo";
505 regulator-min-microvolt = <2800000>;
506 regulator-max-microvolt = <2800000>;
507 enable-active-high;
508 gpio = <&gpio TEGRA_GPIO(R, 6) GPIO_ACTIVE_HIGH>;
509 vin-supply = <&sys_3v3_reg>;
510 };
511
512 vdd_cam2_ldo_reg: regulator@7 {
513 compatible = "regulator-fixed";
514 reg = <7>;
515 regulator-name = "vdd_cam2_ldo";
516 regulator-min-microvolt = <2800000>;
517 regulator-max-microvolt = <2800000>;
518 enable-active-high;
519 gpio = <&gpio TEGRA_GPIO(R, 7) GPIO_ACTIVE_HIGH>;
520 vin-supply = <&sys_3v3_reg>;
521 };
522
523 vdd_cam3_ldo_reg: regulator@8 {
524 compatible = "regulator-fixed";
525 reg = <8>;
526 regulator-name = "vdd_cam3_ldo";
527 regulator-min-microvolt = <3300000>;
528 regulator-max-microvolt = <3300000>;
529 enable-active-high;
530 gpio = <&gpio TEGRA_GPIO(S, 0) GPIO_ACTIVE_HIGH>;
531 vin-supply = <&sys_3v3_reg>;
532 };
533
534 vdd_com_reg: regulator@9 {
535 compatible = "regulator-fixed";
536 reg = <9>;
537 regulator-name = "vdd_com";
538 regulator-min-microvolt = <3300000>;
539 regulator-max-microvolt = <3300000>;
540 regulator-always-on;
541 regulator-boot-on;
542 enable-active-high;
543 gpio = <&gpio TEGRA_GPIO(D, 0) GPIO_ACTIVE_HIGH>;
544 vin-supply = <&sys_3v3_reg>;
545 };
546
547 vdd_fuse_3v3_reg: regulator@10 {
548 compatible = "regulator-fixed";
549 reg = <10>;
550 regulator-name = "vdd_fuse_3v3";
551 regulator-min-microvolt = <3300000>;
552 regulator-max-microvolt = <3300000>;
553 enable-active-high;
554 gpio = <&gpio TEGRA_GPIO(L, 6) GPIO_ACTIVE_HIGH>;
555 vin-supply = <&sys_3v3_reg>;
556 };
557
558 vdd_pnl1_reg: regulator@11 {
559 compatible = "regulator-fixed";
560 reg = <11>;
561 regulator-name = "vdd_pnl1";
562 regulator-min-microvolt = <3300000>;
563 regulator-max-microvolt = <3300000>;
564 regulator-always-on;
565 regulator-boot-on;
566 enable-active-high;
567 gpio = <&gpio TEGRA_GPIO(L, 4) GPIO_ACTIVE_HIGH>;
568 vin-supply = <&sys_3v3_reg>;
569 };
570
571 vdd_vid_reg: regulator@12 {
572 compatible = "regulator-fixed";
573 reg = <12>;
574 regulator-name = "vddio_vid";
575 regulator-min-microvolt = <5000000>;
576 regulator-max-microvolt = <5000000>;
577 enable-active-high;
578 gpio = <&gpio TEGRA_GPIO(T, 0) GPIO_ACTIVE_HIGH>;
579 gpio-open-drain;
580 vin-supply = <&vdd_5v0_reg>;
581 };
582 };
583
584 sound {
585 compatible = "nvidia,tegra-audio-wm8903-cardhu",
586 "nvidia,tegra-audio-wm8903";
587 nvidia,model = "NVIDIA Tegra Cardhu";
588
589 nvidia,audio-routing =
590 "Headphone Jack", "HPOUTR",
591 "Headphone Jack", "HPOUTL",
592 "Int Spk", "ROP",
593 "Int Spk", "RON",
594 "Int Spk", "LOP",
595 "Int Spk", "LON",
596 "Mic Jack", "MICBIAS",
597 "IN1L", "Mic Jack";
598
599 nvidia,i2s-controller = <&tegra_i2s1>;
600 nvidia,audio-codec = <&wm8903>;
601
602 nvidia,spkr-en-gpios = <&wm8903 2 GPIO_ACTIVE_HIGH>;
603 nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(W, 2)
604 GPIO_ACTIVE_HIGH>;
605
606 clocks = <&tegra_car TEGRA30_CLK_PLL_A>,
607 <&tegra_car TEGRA30_CLK_PLL_A_OUT0>,
608 <&tegra_car TEGRA30_CLK_EXTERN1>;
609 clock-names = "pll_a", "pll_a_out0", "mclk";
610 };
611 };
This page took 0.044934 seconds and 5 git commands to generate.