• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8/dts-v1/;
9
10#include "omap5.dtsi"
11#include <dt-bindings/interrupt-controller/irq.h>
12#include <dt-bindings/interrupt-controller/arm-gic.h>
13
14/ {
15	model = "TI OMAP5 uEVM board";
16	compatible = "ti,omap5-uevm", "ti,omap5";
17
18	memory {
19		device_type = "memory";
20		reg = <0x80000000 0x7F000000>; /* 2032 MB */
21	};
22
23	aliases {
24		display0 = &hdmi0;
25	};
26
27	vmmcsd_fixed: fixedregulator-mmcsd {
28		compatible = "regulator-fixed";
29		regulator-name = "vmmcsd_fixed";
30		regulator-min-microvolt = <3000000>;
31		regulator-max-microvolt = <3000000>;
32	};
33
34	/* HS USB Host PHY on PORT 2 */
35	hsusb2_phy: hsusb2_phy {
36		compatible = "usb-nop-xceiv";
37		reset-gpios = <&gpio3 16 GPIO_ACTIVE_LOW>; /* gpio3_80 HUB_NRESET */
38		clocks = <&auxclk1_ck>;
39		clock-names = "main_clk";
40		clock-frequency = <19200000>;
41	};
42
43	/* HS USB Host PHY on PORT 3 */
44	hsusb3_phy: hsusb3_phy {
45		compatible = "usb-nop-xceiv";
46		reset-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>; /* gpio3_79 ETH_NRESET */
47	};
48
49	leds {
50		compatible = "gpio-leds";
51		led@1 {
52			label = "omap5:blue:usr1";
53			gpios = <&gpio5 25 GPIO_ACTIVE_HIGH>; /* gpio5_153 D1 LED */
54			linux,default-trigger = "heartbeat";
55			default-state = "off";
56		};
57	};
58
59	tpd12s015: encoder@0 {
60		compatible = "ti,tpd12s015";
61
62		pinctrl-names = "default";
63		pinctrl-0 = <&tpd12s015_pins>;
64
65		gpios = <&gpio9 0 GPIO_ACTIVE_HIGH>,	/* TCA6424A P01, CT CP HPD */
66			<&gpio9 1 GPIO_ACTIVE_HIGH>,	/* TCA6424A P00, LS OE */
67			<&gpio7 1 GPIO_ACTIVE_HIGH>;	/* GPIO 193, HPD */
68
69		ports {
70			#address-cells = <1>;
71			#size-cells = <0>;
72
73			port@0 {
74				reg = <0>;
75
76				tpd12s015_in: endpoint@0 {
77					remote-endpoint = <&hdmi_out>;
78				};
79			};
80
81			port@1 {
82				reg = <1>;
83
84				tpd12s015_out: endpoint@0 {
85					remote-endpoint = <&hdmi_connector_in>;
86				};
87			};
88		};
89	};
90
91	hdmi0: connector@0 {
92		compatible = "hdmi-connector";
93		label = "hdmi";
94
95		type = "b";
96
97		port {
98			hdmi_connector_in: endpoint {
99				remote-endpoint = <&tpd12s015_out>;
100			};
101		};
102	};
103
104	sound: sound {
105		compatible = "ti,abe-twl6040";
106		ti,model = "omap5-uevm";
107
108		ti,mclk-freq = <19200000>;
109
110		ti,mcpdm = <&mcpdm>;
111
112		ti,twl6040 = <&twl6040>;
113
114		/* Audio routing */
115		ti,audio-routing =
116			"Headset Stereophone", "HSOL",
117			"Headset Stereophone", "HSOR",
118			"Line Out", "AUXL",
119			"Line Out", "AUXR",
120			"HSMIC", "Headset Mic",
121			"Headset Mic", "Headset Mic Bias",
122			"AFML", "Line In",
123			"AFMR", "Line In";
124	};
125};
126
127&omap5_pmx_core {
128	pinctrl-names = "default";
129	pinctrl-0 = <
130			&usbhost_pins
131			&led_gpio_pins
132	>;
133
134	twl6040_pins: pinmux_twl6040_pins {
135		pinctrl-single,pins = <
136			0x17e (PIN_OUTPUT | MUX_MODE6)	/* mcspi1_somi.gpio5_141 */
137		>;
138	};
139
140	mcpdm_pins: pinmux_mcpdm_pins {
141		pinctrl-single,pins = <
142			0x142 (PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abe_clks.abe_clks */
143			0x15c (PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abemcpdm_ul_data.abemcpdm_ul_data */
144			0x15e (PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abemcpdm_dl_data.abemcpdm_dl_data */
145			0x160 (PIN_INPUT_PULLUP | MUX_MODE0)	/* abemcpdm_frame.abemcpdm_frame */
146			0x162 (PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abemcpdm_lb_clk.abemcpdm_lb_clk */
147		>;
148	};
149
150	mcbsp1_pins: pinmux_mcbsp1_pins {
151		pinctrl-single,pins = <
152			0x14c (PIN_INPUT | MUX_MODE1)		/* abedmic_clk2.abemcbsp1_fsx */
153			0x14e (PIN_OUTPUT_PULLDOWN | MUX_MODE1)	/* abedmic_clk3.abemcbsp1_dx */
154			0x150 (PIN_INPUT | MUX_MODE1)		/* abeslimbus1_clock.abemcbsp1_clkx */
155			0x152 (PIN_INPUT_PULLDOWN | MUX_MODE1)	/* abeslimbus1_data.abemcbsp1_dr */
156		>;
157	};
158
159	mcbsp2_pins: pinmux_mcbsp2_pins {
160		pinctrl-single,pins = <
161			0x154 (PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abemcbsp2_dr.abemcbsp2_dr */
162			0x156 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* abemcbsp2_dx.abemcbsp2_dx */
163			0x158 (PIN_INPUT | MUX_MODE0)		/* abemcbsp2_fsx.abemcbsp2_fsx */
164			0x15a (PIN_INPUT | MUX_MODE0)		/* abemcbsp2_clkx.abemcbsp2_clkx */
165		>;
166	};
167
168	i2c1_pins: pinmux_i2c1_pins {
169		pinctrl-single,pins = <
170			0x1b2 (PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_scl */
171			0x1b4 (PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_sda */
172		>;
173	};
174
175	i2c5_pins: pinmux_i2c5_pins {
176		pinctrl-single,pins = <
177			0x186 (PIN_INPUT | MUX_MODE0)		/* i2c5_scl */
178			0x188 (PIN_INPUT | MUX_MODE0)		/* i2c5_sda */
179		>;
180	};
181
182	mcspi2_pins: pinmux_mcspi2_pins {
183		pinctrl-single,pins = <
184			0xbc (PIN_INPUT | MUX_MODE0)		/*  mcspi2_clk */
185			0xbe (PIN_INPUT | MUX_MODE0)		/*  mcspi2_simo */
186			0xc0 (PIN_INPUT_PULLUP | MUX_MODE0)	/*  mcspi2_somi */
187			0xc2 (PIN_OUTPUT | MUX_MODE0)		/*  mcspi2_cs0 */
188		>;
189	};
190
191	mcspi3_pins: pinmux_mcspi3_pins {
192		pinctrl-single,pins = <
193			0x78 (PIN_INPUT | MUX_MODE1)		/*  mcspi3_somi */
194			0x7a (PIN_INPUT | MUX_MODE1)		/*  mcspi3_cs0 */
195			0x7c (PIN_INPUT | MUX_MODE1)		/*  mcspi3_simo */
196			0x7e (PIN_INPUT | MUX_MODE1)		/*  mcspi3_clk */
197		>;
198	};
199
200	mcspi4_pins: pinmux_mcspi4_pins {
201		pinctrl-single,pins = <
202			0x164 (PIN_INPUT | MUX_MODE1)		/*  mcspi4_clk */
203			0x168 (PIN_INPUT | MUX_MODE1)		/*  mcspi4_simo */
204			0x16a (PIN_INPUT | MUX_MODE1)		/*  mcspi4_somi */
205			0x16c (PIN_INPUT | MUX_MODE1)		/*  mcspi4_cs0 */
206		>;
207	};
208
209	usbhost_pins: pinmux_usbhost_pins {
210		pinctrl-single,pins = <
211			0x84 (PIN_INPUT | MUX_MODE0) /* usbb2_hsic_strobe */
212			0x86 (PIN_INPUT | MUX_MODE0) /* usbb2_hsic_data */
213
214			0x19e (PIN_INPUT | MUX_MODE0) /* usbb3_hsic_strobe */
215			0x1a0 (PIN_INPUT | MUX_MODE0) /* usbb3_hsic_data */
216
217			0x70 (PIN_OUTPUT | MUX_MODE6) /* gpio3_80 HUB_NRESET */
218			0x6e (PIN_OUTPUT | MUX_MODE6) /* gpio3_79 ETH_NRESET */
219		>;
220	};
221
222	led_gpio_pins: pinmux_led_gpio_pins {
223		pinctrl-single,pins = <
224			0x196 (PIN_OUTPUT | MUX_MODE6) /* uart3_cts_rctx.gpio5_153 */
225		>;
226	};
227
228	uart1_pins: pinmux_uart1_pins {
229		pinctrl-single,pins = <
230			0x60 (PIN_OUTPUT | MUX_MODE0) /* uart1_tx.uart1_cts */
231			0x62 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart1_tx.uart1_cts */
232			0x64 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart1_rx.uart1_rts */
233			0x66 (PIN_OUTPUT | MUX_MODE0) /* uart1_rx.uart1_rts */
234		>;
235	};
236
237	uart3_pins: pinmux_uart3_pins {
238		pinctrl-single,pins = <
239			0x19a (PIN_OUTPUT | MUX_MODE0) /* uart3_rts_irsd.uart3_tx_irtx */
240			0x19c (PIN_INPUT_PULLUP | MUX_MODE0) /* uart3_rx_irrx.uart3_usbb3_hsic */
241		>;
242	};
243
244	uart5_pins: pinmux_uart5_pins {
245		pinctrl-single,pins = <
246			0x170 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart5_rx.uart5_rx */
247			0x172 (PIN_OUTPUT | MUX_MODE0) /* uart5_tx.uart5_tx */
248			0x174 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart5_cts.uart5_rts */
249			0x176 (PIN_OUTPUT | MUX_MODE0) /* uart5_cts.uart5_rts */
250		>;
251	};
252
253	dss_hdmi_pins: pinmux_dss_hdmi_pins {
254		pinctrl-single,pins = <
255			0x0fc (PIN_INPUT_PULLUP | MUX_MODE0)	/* hdmi_cec.hdmi_cec */
256			0x100 (PIN_INPUT | MUX_MODE0)	/* hdmi_ddc_scl.hdmi_ddc_scl */
257			0x102 (PIN_INPUT | MUX_MODE0)	/* hdmi_ddc_sda.hdmi_ddc_sda */
258		>;
259	};
260
261	tpd12s015_pins: pinmux_tpd12s015_pins {
262		pinctrl-single,pins = <
263			0x0fe (PIN_INPUT_PULLDOWN | MUX_MODE6)	/* hdmi_hpd.gpio7_193 */
264		>;
265	};
266};
267
268&omap5_pmx_wkup {
269	pinctrl-names = "default";
270	pinctrl-0 = <
271			&usbhost_wkup_pins
272	>;
273
274	usbhost_wkup_pins: pinmux_usbhost_wkup_pins {
275		pinctrl-single,pins = <
276			0x1A (PIN_OUTPUT | MUX_MODE0) /* fref_clk1_out, USB hub clk */
277		>;
278	};
279};
280
281&mmc1 {
282	vmmc-supply = <&ldo9_reg>;
283	bus-width = <4>;
284};
285
286&mmc2 {
287	vmmc-supply = <&vmmcsd_fixed>;
288	bus-width = <8>;
289	ti,non-removable;
290};
291
292&mmc3 {
293	bus-width = <4>;
294	ti,non-removable;
295};
296
297&mmc4 {
298	status = "disabled";
299};
300
301&mmc5 {
302	status = "disabled";
303};
304
305&i2c1 {
306	pinctrl-names = "default";
307	pinctrl-0 = <&i2c1_pins>;
308
309	clock-frequency = <400000>;
310
311	palmas: palmas@48 {
312		compatible = "ti,palmas";
313		interrupts = <GIC_SPI 7 IRQ_TYPE_NONE>; /* IRQ_SYS_1N */
314		interrupt-parent = <&gic>;
315		reg = <0x48>;
316		interrupt-controller;
317		#interrupt-cells = <2>;
318		ti,system-power-controller;
319
320		extcon_usb3: palmas_usb {
321			compatible = "ti,palmas-usb-vid";
322			ti,enable-vbus-detection;
323			ti,enable-id-detection;
324			ti,wakeup;
325		};
326
327		clk32kgaudio: palmas_clk32k@1 {
328			compatible = "ti,palmas-clk32kgaudio";
329			#clock-cells = <0>;
330		};
331
332		palmas_pmic {
333			compatible = "ti,palmas-pmic";
334			interrupt-parent = <&palmas>;
335			interrupts = <14 IRQ_TYPE_NONE>;
336			interrupt-name = "short-irq";
337
338			ti,ldo6-vibrator;
339
340			regulators {
341				smps123_reg: smps123 {
342					/* VDD_OPP_MPU */
343					regulator-name = "smps123";
344					regulator-min-microvolt = < 600000>;
345					regulator-max-microvolt = <1500000>;
346					regulator-always-on;
347					regulator-boot-on;
348				};
349
350				smps45_reg: smps45 {
351					/* VDD_OPP_MM */
352					regulator-name = "smps45";
353					regulator-min-microvolt = < 600000>;
354					regulator-max-microvolt = <1310000>;
355					regulator-always-on;
356					regulator-boot-on;
357				};
358
359				smps6_reg: smps6 {
360					/* VDD_DDR3 - over VDD_SMPS6 */
361					regulator-name = "smps6";
362					regulator-min-microvolt = <1200000>;
363					regulator-max-microvolt = <1200000>;
364					regulator-always-on;
365					regulator-boot-on;
366				};
367
368				smps7_reg: smps7 {
369					/* VDDS_1v8_OMAP over VDDS_1v8_MAIN */
370					regulator-name = "smps7";
371					regulator-min-microvolt = <1800000>;
372					regulator-max-microvolt = <1800000>;
373					regulator-always-on;
374					regulator-boot-on;
375				};
376
377				smps8_reg: smps8 {
378					/* VDD_OPP_CORE */
379					regulator-name = "smps8";
380					regulator-min-microvolt = < 600000>;
381					regulator-max-microvolt = <1310000>;
382					regulator-always-on;
383					regulator-boot-on;
384				};
385
386				smps9_reg: smps9 {
387					/* VDDA_2v1_AUD over VDD_2v1 */
388					regulator-name = "smps9";
389					regulator-min-microvolt = <2100000>;
390					regulator-max-microvolt = <2100000>;
391					ti,smps-range = <0x80>;
392				};
393
394				smps10_out2_reg: smps10_out2 {
395					/* VBUS_5V_OTG */
396					regulator-name = "smps10_out2";
397					regulator-min-microvolt = <5000000>;
398					regulator-max-microvolt = <5000000>;
399					regulator-always-on;
400					regulator-boot-on;
401				};
402
403				smps10_out1_reg: smps10_out1 {
404					/* VBUS_5V_OTG */
405					regulator-name = "smps10_out1";
406					regulator-min-microvolt = <5000000>;
407					regulator-max-microvolt = <5000000>;
408				};
409
410				ldo1_reg: ldo1 {
411					/* VDDAPHY_CAM: vdda_csiport */
412					regulator-name = "ldo1";
413					regulator-min-microvolt = <1500000>;
414					regulator-max-microvolt = <1800000>;
415				};
416
417				ldo2_reg: ldo2 {
418					/* VCC_2V8_DISP: Does not go anywhere */
419					regulator-name = "ldo2";
420					regulator-min-microvolt = <2800000>;
421					regulator-max-microvolt = <2800000>;
422					/* Unused */
423					status = "disabled";
424				};
425
426				ldo3_reg: ldo3 {
427					/* VDDAPHY_MDM: vdda_lli */
428					regulator-name = "ldo3";
429					regulator-min-microvolt = <1500000>;
430					regulator-max-microvolt = <1500000>;
431					regulator-boot-on;
432					/* Only if Modem is used */
433					status = "disabled";
434				};
435
436				ldo4_reg: ldo4 {
437					/* VDDAPHY_DISP: vdda_dsiport/hdmi */
438					regulator-name = "ldo4";
439					regulator-min-microvolt = <1500000>;
440					regulator-max-microvolt = <1800000>;
441				};
442
443				ldo5_reg: ldo5 {
444					/* VDDA_1V8_PHY: usb/sata/hdmi.. */
445					regulator-name = "ldo5";
446					regulator-min-microvolt = <1800000>;
447					regulator-max-microvolt = <1800000>;
448					regulator-always-on;
449					regulator-boot-on;
450				};
451
452				ldo6_reg: ldo6 {
453					/* VDDS_1V2_WKUP: hsic/ldo_emu_wkup */
454					regulator-name = "ldo6";
455					regulator-min-microvolt = <1200000>;
456					regulator-max-microvolt = <1200000>;
457					regulator-always-on;
458					regulator-boot-on;
459				};
460
461				ldo7_reg: ldo7 {
462					/* VDD_VPP: vpp1 */
463					regulator-name = "ldo7";
464					regulator-min-microvolt = <2000000>;
465					regulator-max-microvolt = <2000000>;
466					/* Only for efuse reprograming! */
467					status = "disabled";
468				};
469
470				ldo8_reg: ldo8 {
471					/* VDD_3v0: Does not go anywhere */
472					regulator-name = "ldo8";
473					regulator-min-microvolt = <3000000>;
474					regulator-max-microvolt = <3000000>;
475					regulator-boot-on;
476					/* Unused */
477					status = "disabled";
478				};
479
480				ldo9_reg: ldo9 {
481					/* VCC_DV_SDIO: vdds_sdcard */
482					regulator-name = "ldo9";
483					regulator-min-microvolt = <1800000>;
484					regulator-max-microvolt = <3000000>;
485					regulator-boot-on;
486				};
487
488				ldoln_reg: ldoln {
489					/* VDDA_1v8_REF: vdds_osc/mm_l4per.. */
490					regulator-name = "ldoln";
491					regulator-min-microvolt = <1800000>;
492					regulator-max-microvolt = <1800000>;
493					regulator-always-on;
494					regulator-boot-on;
495				};
496
497				ldousb_reg: ldousb {
498					/* VDDA_3V_USB: VDDA_USBHS33 */
499					regulator-name = "ldousb";
500					regulator-min-microvolt = <3250000>;
501					regulator-max-microvolt = <3250000>;
502					regulator-always-on;
503					regulator-boot-on;
504				};
505
506				regen3_reg: regen3 {
507					/* REGEN3 controls LDO9 supply to card */
508					regulator-name = "regen3";
509					regulator-always-on;
510					regulator-boot-on;
511				};
512			};
513		};
514	};
515
516	twl6040: twl@4b {
517		compatible = "ti,twl6040";
518		reg = <0x4b>;
519
520		pinctrl-names = "default";
521		pinctrl-0 = <&twl6040_pins>;
522
523		interrupts = <GIC_SPI 119 IRQ_TYPE_NONE>; /* IRQ_SYS_2N cascaded to gic */
524		interrupt-parent = <&gic>;
525		ti,audpwron-gpio = <&gpio5 13 0>;  /* gpio line 141 */
526
527		vio-supply = <&smps7_reg>;
528		v2v1-supply = <&smps9_reg>;
529		enable-active-high;
530
531		clocks = <&clk32kgaudio>;
532		clock-names = "clk32k";
533	};
534};
535
536&i2c5 {
537	pinctrl-names = "default";
538	pinctrl-0 = <&i2c5_pins>;
539
540	clock-frequency = <400000>;
541
542	gpio9: gpio@22 {
543		compatible = "ti,tca6424";
544		reg = <0x22>;
545		gpio-controller;
546		#gpio-cells = <2>;
547	};
548};
549
550&mcpdm {
551	pinctrl-names = "default";
552	pinctrl-0 = <&mcpdm_pins>;
553	status = "okay";
554};
555
556&mcbsp1 {
557	pinctrl-names = "default";
558	pinctrl-0 = <&mcbsp1_pins>;
559	status = "okay";
560};
561
562&mcbsp2 {
563	pinctrl-names = "default";
564	pinctrl-0 = <&mcbsp2_pins>;
565	status = "okay";
566};
567
568&usbhshost {
569	port2-mode = "ehci-hsic";
570	port3-mode = "ehci-hsic";
571};
572
573&usbhsehci {
574	phys = <0 &hsusb2_phy &hsusb3_phy>;
575};
576
577&usb3 {
578	extcon = <&extcon_usb3>;
579	vbus-supply = <&smps10_out1_reg>;
580};
581
582&mcspi1 {
583
584};
585
586&mcspi2 {
587	pinctrl-names = "default";
588	pinctrl-0 = <&mcspi2_pins>;
589};
590
591&mcspi3 {
592	pinctrl-names = "default";
593	pinctrl-0 = <&mcspi3_pins>;
594};
595
596&mcspi4 {
597	pinctrl-names = "default";
598	pinctrl-0 = <&mcspi4_pins>;
599};
600
601&uart1 {
602        pinctrl-names = "default";
603        pinctrl-0 = <&uart1_pins>;
604};
605
606&uart3 {
607        pinctrl-names = "default";
608        pinctrl-0 = <&uart3_pins>;
609};
610
611&uart5 {
612        pinctrl-names = "default";
613        pinctrl-0 = <&uart5_pins>;
614};
615
616&cpu0 {
617	cpu0-supply = <&smps123_reg>;
618};
619
620&dss {
621	status = "ok";
622};
623
624&hdmi {
625	status = "ok";
626	vdda-supply = <&ldo4_reg>;
627
628	pinctrl-names = "default";
629	pinctrl-0 = <&dss_hdmi_pins>;
630
631	port {
632		hdmi_out: endpoint {
633			remote-endpoint = <&tpd12s015_in>;
634		};
635	};
636};
637