Linux Audio

Check our new training course

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