Linux Audio

Check our new training course

Loading...
v6.2
  1// SPDX-License-Identifier: GPL-2.0-only
  2/*
  3 * Copyright (C) 2013 Texas Instruments Incorporated - https://www.ti.com/
 
 
 
 
  4 */
  5/dts-v1/;
  6
  7#include "dra74x.dtsi"
  8#include "dra7-evm-common.dtsi"
  9#include "dra74x-mmc-iodelay.dtsi"
 
 10
 11/ {
 12	model = "TI DRA742";
 13	compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7";
 14
 15	memory@0 {
 16		device_type = "memory";
 17		reg = <0x0 0x80000000 0x0 0x60000000>; /* 1536 MB */
 18	};
 19
 20	evm_12v0: fixedregulator-evm_12v0 {
 21		/* main supply */
 22		compatible = "regulator-fixed";
 23		regulator-name = "evm_12v0";
 24		regulator-min-microvolt = <12000000>;
 25		regulator-max-microvolt = <12000000>;
 26		regulator-always-on;
 27		regulator-boot-on;
 28	};
 29
 30	evm_1v8_sw: fixedregulator-evm_1v8 {
 31		compatible = "regulator-fixed";
 32		regulator-name = "evm_1v8";
 33		vin-supply = <&smps9_reg>;
 34		regulator-min-microvolt = <1800000>;
 35		regulator-max-microvolt = <1800000>;
 36	};
 37
 38	reserved-memory {
 39		#address-cells = <2>;
 40		#size-cells = <2>;
 41		ranges;
 42
 43		ipu2_memory_region: ipu2-memory@95800000 {
 44			compatible = "shared-dma-pool";
 45			reg = <0x0 0x95800000 0x0 0x3800000>;
 46			reusable;
 47			status = "okay";
 48		};
 49
 50		dsp1_memory_region: dsp1-memory@99000000 {
 51			compatible = "shared-dma-pool";
 52			reg = <0x0 0x99000000 0x0 0x4000000>;
 53			reusable;
 54			status = "okay";
 55		};
 56
 57		ipu1_memory_region: ipu1-memory@9d000000 {
 58			compatible = "shared-dma-pool";
 59			reg = <0x0 0x9d000000 0x0 0x2000000>;
 60			reusable;
 61			status = "okay";
 62		};
 63
 64		dsp2_memory_region: dsp2-memory@9f000000 {
 65			compatible = "shared-dma-pool";
 66			reg = <0x0 0x9f000000 0x0 0x800000>;
 67			reusable;
 68			status = "okay";
 69		};
 70	};
 71
 72	evm_3v3_sd: fixedregulator-sd {
 73		compatible = "regulator-fixed";
 74		regulator-name = "evm_3v3_sd";
 75		regulator-min-microvolt = <3300000>;
 76		regulator-max-microvolt = <3300000>;
 77		enable-active-high;
 78		gpio = <&pcf_gpio_21 5 GPIO_ACTIVE_HIGH>;
 79	};
 80
 81	evm_3v3_sw: fixedregulator-evm_3v3_sw {
 82		compatible = "regulator-fixed";
 83		regulator-name = "evm_3v3_sw";
 84		vin-supply = <&sysen1>;
 85		regulator-min-microvolt = <3300000>;
 86		regulator-max-microvolt = <3300000>;
 87	};
 88
 89	aic_dvdd: fixedregulator-aic_dvdd {
 90		/* TPS77018DBVT */
 91		compatible = "regulator-fixed";
 92		regulator-name = "aic_dvdd";
 93		vin-supply = <&evm_3v3_sw>;
 94		regulator-min-microvolt = <1800000>;
 95		regulator-max-microvolt = <1800000>;
 96	};
 97
 98	vsys_3v3: fixedregulator-vsys3v3 {
 99		/* Output of Cntlr A of TPS43351-Q1 on dra7-evm */
100		compatible = "regulator-fixed";
101		regulator-name = "vsys_3v3";
102		regulator-min-microvolt = <3300000>;
103		regulator-max-microvolt = <3300000>;
104		vin-supply = <&evm_12v0>;
105		regulator-always-on;
106		regulator-boot-on;
107	};
108
109	evm_5v0: fixedregulator-evm_5v0 {
110		/* Output of Cntlr B of TPS43351-Q1 on dra7-evm */
111		compatible = "regulator-fixed";
112		regulator-name = "evm_5v0";
113		regulator-min-microvolt = <5000000>;
114		regulator-max-microvolt = <5000000>;
115		vin-supply = <&evm_12v0>;
116		regulator-always-on;
117		regulator-boot-on;
118	};
119
120	evm_3v6: fixedregulator-evm_3v6 {
121		compatible = "regulator-fixed";
122		regulator-name = "evm_3v6";
123		regulator-min-microvolt = <3600000>;
124		regulator-max-microvolt = <3600000>;
125		vin-supply = <&evm_5v0>;
126		regulator-always-on;
127		regulator-boot-on;
128	};
129
130	vmmcwl_fixed: fixedregulator-mmcwl {
131		compatible = "regulator-fixed";
132		regulator-name = "vmmcwl_fixed";
133		regulator-min-microvolt = <1800000>;
134		regulator-max-microvolt = <1800000>;
135		gpio = <&gpio5 8 0>;
136		startup-delay-us = <70000>;
137		enable-active-high;
138	};
139
140	vtt_fixed: fixedregulator-vtt {
141		compatible = "regulator-fixed";
142		regulator-name = "vtt_fixed";
143		regulator-min-microvolt = <1350000>;
144		regulator-max-microvolt = <1350000>;
145		regulator-always-on;
146		regulator-boot-on;
147		enable-active-high;
148		vin-supply = <&sysen2>;
149		gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>;
150	};
151
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
152};
153
154&dra7_pmx_core {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
155	dcan1_pins_default: dcan1_pins_default {
156		pinctrl-single,pins = <
157			DRA7XX_CORE_IOPAD(0x37d0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* dcan1_tx */
158			DRA7XX_CORE_IOPAD(0x3818, PULL_UP | MUX_MODE1) /* wakeup0.dcan1_rx */
159		>;
160	};
161
162	dcan1_pins_sleep: dcan1_pins_sleep {
163		pinctrl-single,pins = <
164			DRA7XX_CORE_IOPAD(0x37d0, MUX_MODE15 | PULL_UP)	/* dcan1_tx.off */
165			DRA7XX_CORE_IOPAD(0x3818, MUX_MODE15 | PULL_UP)	/* wakeup0.off */
166		>;
167	};
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
168};
169
170&i2c1 {
171	status = "okay";
 
 
172	clock-frequency = <400000>;
173
174	tps659038: tps659038@58 {
175		compatible = "ti,tps659038";
176		reg = <0x58>;
177		ti,palmas-override-powerhold;
178		ti,system-power-controller;
179
180		tps659038_pmic {
181			compatible = "ti,tps659038-pmic";
182
183			regulators {
184				smps123_reg: smps123 {
185					/* VDD_MPU */
186					regulator-name = "smps123";
187					regulator-min-microvolt = < 850000>;
188					regulator-max-microvolt = <1250000>;
189					regulator-always-on;
190					regulator-boot-on;
191				};
192
193				smps45_reg: smps45 {
194					/* VDD_DSPEVE */
195					regulator-name = "smps45";
196					regulator-min-microvolt = < 850000>;
197					regulator-max-microvolt = <1250000>;
198					regulator-always-on;
199					regulator-boot-on;
200				};
201
202				smps6_reg: smps6 {
203					/* VDD_GPU - over VDD_SMPS6 */
204					regulator-name = "smps6";
205					regulator-min-microvolt = <850000>;
206					regulator-max-microvolt = <1250000>;
207					regulator-always-on;
208					regulator-boot-on;
209				};
210
211				smps7_reg: smps7 {
212					/* CORE_VDD */
213					regulator-name = "smps7";
214					regulator-min-microvolt = <850000>;
215					regulator-max-microvolt = <1150000>;
216					regulator-always-on;
217					regulator-boot-on;
218				};
219
220				smps8_reg: smps8 {
221					/* VDD_IVAHD */
222					regulator-name = "smps8";
223					regulator-min-microvolt = < 850000>;
224					regulator-max-microvolt = <1250000>;
225					regulator-always-on;
226					regulator-boot-on;
227				};
228
229				smps9_reg: smps9 {
230					/* VDDS1V8 */
231					regulator-name = "smps9";
232					regulator-min-microvolt = <1800000>;
233					regulator-max-microvolt = <1800000>;
234					regulator-always-on;
235					regulator-boot-on;
236				};
237
238				ldo1_reg: ldo1 {
239					/* LDO1_OUT --> SDIO  */
240					regulator-name = "ldo1";
241					regulator-min-microvolt = <1800000>;
242					regulator-max-microvolt = <3300000>;
243					regulator-always-on;
244					regulator-boot-on;
245				};
246
247				ldo2_reg: ldo2 {
248					/* VDD_RTCIO */
249					/* LDO2 -> VDDSHV5, LDO2 also goes to CAN_PHY_3V3 */
250					regulator-name = "ldo2";
251					regulator-min-microvolt = <3300000>;
252					regulator-max-microvolt = <3300000>;
253					regulator-always-on;
254					regulator-boot-on;
255				};
256
257				ldo3_reg: ldo3 {
258					/* VDDA_1V8_PHY */
259					regulator-name = "ldo3";
260					regulator-min-microvolt = <1800000>;
261					regulator-max-microvolt = <1800000>;
262					regulator-always-on;
263					regulator-boot-on;
264				};
265
266				ldo9_reg: ldo9 {
267					/* VDD_RTC */
268					regulator-name = "ldo9";
269					regulator-min-microvolt = <1050000>;
270					regulator-max-microvolt = <1050000>;
271					regulator-always-on;
272					regulator-boot-on;
273					regulator-allow-bypass;
274				};
275
276				ldoln_reg: ldoln {
277					/* VDDA_1V8_PLL */
278					regulator-name = "ldoln";
279					regulator-min-microvolt = <1800000>;
280					regulator-max-microvolt = <1800000>;
281					regulator-always-on;
282					regulator-boot-on;
283				};
284
285				ldousb_reg: ldousb {
286					/* VDDA_3V_USB: VDDA_USBHS33 */
287					regulator-name = "ldousb";
288					regulator-min-microvolt = <3300000>;
289					regulator-max-microvolt = <3300000>;
290					regulator-boot-on;
291				};
292
293				/* REGEN1 is unused */
294
295				regen2: regen2 {
296					/* Needed for PMIC internal resources */
297					regulator-name = "regen2";
298					regulator-boot-on;
299					regulator-always-on;
300				};
301
302				/* REGEN3 is unused */
303
304				sysen1: sysen1 {
305					/* PMIC_REGEN_3V3 */
306					regulator-name = "sysen1";
307					regulator-boot-on;
308					regulator-always-on;
309				};
310
311				sysen2: sysen2 {
312					/* PMIC_REGEN_DDR */
313					regulator-name = "sysen2";
314					regulator-boot-on;
315					regulator-always-on;
316				};
317			};
318		};
319	};
320
321	pcf_lcd: gpio@20 {
322		compatible = "nxp,pcf8575";
323		reg = <0x20>;
324		gpio-controller;
325		#gpio-cells = <2>;
326		interrupt-parent = <&gpio6>;
327		interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
328		interrupt-controller;
329		#interrupt-cells = <2>;
330	};
331
332	pcf_gpio_21: gpio@21 {
333		compatible = "nxp,pcf8575";
334		reg = <0x21>;
335		lines-initial-states = <0x1408>;
336		gpio-controller;
337		#gpio-cells = <2>;
338		interrupt-parent = <&gpio6>;
339		interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
340		interrupt-controller;
341		#interrupt-cells = <2>;
342	};
343
344	tlv320aic3106: tlv320aic3106@19 {
345		#sound-dai-cells = <0>;
346		compatible = "ti,tlv320aic3106";
347		reg = <0x19>;
348		adc-settle-ms = <40>;
349		ai3x-micbias-vg = <1>;		/* 2.0V */
350		status = "okay";
351
352		/* Regulators */
353		AVDD-supply = <&evm_3v3_sw>;
354		IOVDD-supply = <&evm_3v3_sw>;
355		DRVDD-supply = <&evm_3v3_sw>;
356		DVDD-supply = <&aic_dvdd>;
357	};
358};
359
360&i2c2 {
361	status = "okay";
 
 
362	clock-frequency = <400000>;
363
364	pcf_hdmi: gpio@26 {
365		compatible = "nxp,pcf8575";
366		reg = <0x26>;
367		gpio-controller;
368		#gpio-cells = <2>;
369		hdmi-audio-hog {
370			/* vin6_sel_s0: high: VIN6, low: audio */
371			gpio-hog;
372			gpios = <1 GPIO_ACTIVE_HIGH>;
373			output-low;
374			line-name = "vin6_sel_s0";
375		};
376	};
377};
378
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
379&mmc1 {
380	status = "okay";
381	vmmc-supply = <&evm_3v3_sd>;
382	vqmmc-supply = <&ldo1_reg>;
383	bus-width = <4>;
384	/*
385	 * SDCD signal is not being used here - using the fact that GPIO mode
386	 * is always hardwired.
387	 */
388	cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>;
389	pinctrl-names = "default", "hs", "sdr12", "sdr25", "sdr50", "ddr50-rev11", "sdr104-rev11", "ddr50", "sdr104";
390	pinctrl-0 = <&mmc1_pins_default>;
391	pinctrl-1 = <&mmc1_pins_hs>;
392	pinctrl-2 = <&mmc1_pins_sdr12>;
393	pinctrl-3 = <&mmc1_pins_sdr25>;
394	pinctrl-4 = <&mmc1_pins_sdr50>;
395	pinctrl-5 = <&mmc1_pins_ddr50 &mmc1_iodelay_ddr_rev11_conf>;
396	pinctrl-6 = <&mmc1_pins_sdr104 &mmc1_iodelay_sdr104_rev11_conf>;
397	pinctrl-7 = <&mmc1_pins_ddr50 &mmc1_iodelay_ddr_rev20_conf>;
398	pinctrl-8 = <&mmc1_pins_sdr104 &mmc1_iodelay_sdr104_rev20_conf>;
399};
400
401&mmc2 {
402	status = "okay";
403	vmmc-supply = <&evm_1v8_sw>;
404	vqmmc-supply = <&evm_1v8_sw>;
405	bus-width = <8>;
406	non-removable;
407	pinctrl-names = "default", "hs", "ddr_1_8v-rev11", "ddr_1_8v", "hs200_1_8v-rev11", "hs200_1_8v";
408	pinctrl-0 = <&mmc2_pins_default>;
409	pinctrl-1 = <&mmc2_pins_hs>;
410	pinctrl-2 = <&mmc2_pins_ddr_1_8v_rev11 &mmc2_iodelay_ddr_1_8v_rev11_conf>;
411	pinctrl-3 = <&mmc2_pins_ddr_rev20>;
412	pinctrl-4 = <&mmc2_pins_hs200 &mmc2_iodelay_hs200_rev11_conf>;
413	pinctrl-5 = <&mmc2_pins_hs200 &mmc2_iodelay_hs200_rev20_conf>;
414};
415
416&mmc4 {
417	status = "okay";
418	vmmc-supply = <&evm_3v6>;
419	vqmmc-supply = <&vmmcwl_fixed>;
420	pinctrl-names = "default-rev11", "default", "hs-rev11", "hs", "sdr12-rev11", "sdr12", "sdr25-rev11", "sdr25";
421	pinctrl-0 = <&mmc4_pins_default &mmc4_iodelay_ds_rev11_conf>;
422	pinctrl-1 = <&mmc4_pins_default &mmc4_iodelay_ds_rev20_conf>;
423	pinctrl-2 = <&mmc4_pins_hs &mmc4_iodelay_sdr12_hs_sdr25_rev11_conf>;
424	pinctrl-3 = <&mmc4_pins_hs &mmc4_iodelay_sdr12_hs_sdr25_rev20_conf>;
425	pinctrl-4 = <&mmc4_pins_sdr12 &mmc4_iodelay_sdr12_hs_sdr25_rev11_conf>;
426	pinctrl-5 = <&mmc4_pins_sdr12 &mmc4_iodelay_sdr12_hs_sdr25_rev20_conf>;
427	pinctrl-6 = <&mmc4_pins_sdr25 &mmc4_iodelay_sdr12_hs_sdr25_rev11_conf>;
428	pinctrl-7 = <&mmc4_pins_sdr25 &mmc4_iodelay_sdr12_hs_sdr25_rev20_conf>;
429};
430
431&cpu0 {
432	vdd-supply = <&smps123_reg>;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
433};
434
435&elm {
436	status = "okay";
437};
438
439&gpmc {
440	/*
441	* For the existing IOdelay configuration via U-Boot we don't
442	* support NAND on dra7-evm. Keep it disabled. Enabling it
443	* requires a different configuration by U-Boot.
444	*/
445	status = "disabled";
446	ranges = <0 0 0x08000000 0x01000000>;	/* minimum GPMC partition = 16MB */
447	nand@0,0 {
448		compatible = "ti,omap2-nand";
449		reg = <0 0 4>;		/* device IO registers */
450		interrupt-parent = <&gpmc>;
451		interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
452			     <1 IRQ_TYPE_NONE>; /* termcount */
453		rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 pin */
454		ti,nand-xfer-type = "prefetch-dma";
455		ti,nand-ecc-opt = "bch8";
456		ti,elm-id = <&elm>;
457		nand-bus-width = <16>;
458		gpmc,device-width = <2>;
459		gpmc,sync-clk-ps = <0>;
460		gpmc,cs-on-ns = <0>;
461		gpmc,cs-rd-off-ns = <80>;
462		gpmc,cs-wr-off-ns = <80>;
463		gpmc,adv-on-ns = <0>;
464		gpmc,adv-rd-off-ns = <60>;
465		gpmc,adv-wr-off-ns = <60>;
466		gpmc,we-on-ns = <10>;
467		gpmc,we-off-ns = <50>;
468		gpmc,oe-on-ns = <4>;
469		gpmc,oe-off-ns = <40>;
470		gpmc,access-ns = <40>;
471		gpmc,wr-access-ns = <80>;
472		gpmc,rd-cycle-ns = <80>;
473		gpmc,wr-cycle-ns = <80>;
474		gpmc,bus-turnaround-ns = <0>;
475		gpmc,cycle2cycle-delay-ns = <0>;
476		gpmc,clk-activation-ns = <0>;
477		gpmc,wr-data-mux-bus-ns = <0>;
478		/* MTD partition table */
479		/* All SPL-* partitions are sized to minimal length
480		 * which can be independently programmable. For
481		 * NAND flash this is equal to size of erase-block */
482		#address-cells = <1>;
483		#size-cells = <1>;
484		partition@0 {
485			label = "NAND.SPL";
486			reg = <0x00000000 0x00020000>;
487		};
488		partition@1 {
489			label = "NAND.SPL.backup1";
490			reg = <0x00020000 0x00020000>;
491		};
492		partition@2 {
493			label = "NAND.SPL.backup2";
494			reg = <0x00040000 0x00020000>;
495		};
496		partition@3 {
497			label = "NAND.SPL.backup3";
498			reg = <0x00060000 0x00020000>;
499		};
500		partition@4 {
501			label = "NAND.u-boot-spl-os";
502			reg = <0x00080000 0x00040000>;
503		};
504		partition@5 {
505			label = "NAND.u-boot";
506			reg = <0x000c0000 0x00100000>;
507		};
508		partition@6 {
509			label = "NAND.u-boot-env";
510			reg = <0x001c0000 0x00020000>;
511		};
512		partition@7 {
513			label = "NAND.u-boot-env.backup1";
514			reg = <0x001e0000 0x00020000>;
515		};
516		partition@8 {
517			label = "NAND.kernel";
518			reg = <0x00200000 0x00800000>;
519		};
520		partition@9 {
521			label = "NAND.file-system";
522			reg = <0x00a00000 0x0f600000>;
523		};
524	};
525};
526
527&usb2_phy1 {
528	phy-supply = <&ldousb_reg>;
529};
530
531&usb2_phy2 {
532	phy-supply = <&ldousb_reg>;
533};
534
535&gpio7_target {
536	ti,no-reset-on-init;
537	ti,no-idle-on-init;
538};
539
540&mac_sw {
541	status = "okay";
 
 
 
 
542};
543
544&cpsw_port1 {
545	phy-handle = <&ethphy0>;
546	phy-mode = "rgmii";
547	ti,dual-emac-pvid = <1>;
548};
549
550&cpsw_port2 {
551	phy-handle = <&ethphy1>;
552	phy-mode = "rgmii";
553	ti,dual-emac-pvid = <2>;
554};
555
556&davinci_mdio_sw {
557	ethphy0: ethernet-phy@2 {
558		reg = <2>;
559	};
560
561	ethphy1: ethernet-phy@3 {
562		reg = <3>;
563	};
564};
565
566&dcan1 {
567	status = "okay";
568	pinctrl-names = "default", "sleep", "active";
569	pinctrl-0 = <&dcan1_pins_sleep>;
570	pinctrl-1 = <&dcan1_pins_sleep>;
571	pinctrl-2 = <&dcan1_pins_default>;
572};
573
574&ipu2 {
 
 
 
 
 
 
 
 
 
 
 
575	status = "okay";
576	memory-region = <&ipu2_memory_region>;
 
 
 
 
577};
578
579&ipu1 {
 
 
 
 
 
 
 
 
580	status = "okay";
581	memory-region = <&ipu1_memory_region>;
 
 
 
 
 
 
 
 
582};
583
584&dsp1 {
585	status = "okay";
586	memory-region = <&dsp1_memory_region>;
 
 
 
 
 
587};
588
589&dsp2 {
590	status = "okay";
591	memory-region = <&dsp2_memory_region>;
 
 
 
 
 
592};
v4.10.11
 
  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 "dra74x.dtsi"
 11#include <dt-bindings/gpio/gpio.h>
 12#include <dt-bindings/clk/ti-dra7-atl.h>
 13#include <dt-bindings/input/input.h>
 14
 15/ {
 16	model = "TI DRA742";
 17	compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7";
 18
 19	memory@0 {
 20		device_type = "memory";
 21		reg = <0x0 0x80000000 0x0 0x60000000>; /* 1536 MB */
 22	};
 23
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 24	evm_3v3_sd: fixedregulator-sd {
 25		compatible = "regulator-fixed";
 26		regulator-name = "evm_3v3_sd";
 27		regulator-min-microvolt = <3300000>;
 28		regulator-max-microvolt = <3300000>;
 29		enable-active-high;
 30		gpio = <&pcf_gpio_21 5 GPIO_ACTIVE_HIGH>;
 31	};
 32
 33	evm_3v3_sw: fixedregulator-evm_3v3_sw {
 34		compatible = "regulator-fixed";
 35		regulator-name = "evm_3v3_sw";
 36		vin-supply = <&sysen1>;
 37		regulator-min-microvolt = <3300000>;
 38		regulator-max-microvolt = <3300000>;
 39	};
 40
 41	aic_dvdd: fixedregulator-aic_dvdd {
 42		/* TPS77018DBVT */
 43		compatible = "regulator-fixed";
 44		regulator-name = "aic_dvdd";
 45		vin-supply = <&evm_3v3_sw>;
 46		regulator-min-microvolt = <1800000>;
 47		regulator-max-microvolt = <1800000>;
 48	};
 49
 50	extcon_usb1: extcon_usb1 {
 51		compatible = "linux,extcon-usb-gpio";
 52		id-gpio = <&pcf_gpio_21 1 GPIO_ACTIVE_HIGH>;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 53	};
 54
 55	extcon_usb2: extcon_usb2 {
 56		compatible = "linux,extcon-usb-gpio";
 57		id-gpio = <&pcf_gpio_21 2 GPIO_ACTIVE_HIGH>;
 
 
 
 
 
 58	};
 59
 60	vtt_fixed: fixedregulator-vtt {
 61		compatible = "regulator-fixed";
 62		regulator-name = "vtt_fixed";
 63		regulator-min-microvolt = <1350000>;
 64		regulator-max-microvolt = <1350000>;
 65		regulator-always-on;
 66		regulator-boot-on;
 67		enable-active-high;
 68		vin-supply = <&sysen2>;
 69		gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>;
 70	};
 71
 72	sound0: sound0 {
 73		compatible = "simple-audio-card";
 74		simple-audio-card,name = "DRA7xx-EVM";
 75		simple-audio-card,widgets =
 76			"Headphone", "Headphone Jack",
 77			"Line", "Line Out",
 78			"Microphone", "Mic Jack",
 79			"Line", "Line In";
 80		simple-audio-card,routing =
 81			"Headphone Jack",	"HPLOUT",
 82			"Headphone Jack",	"HPROUT",
 83			"Line Out",		"LLOUT",
 84			"Line Out",		"RLOUT",
 85			"MIC3L",		"Mic Jack",
 86			"MIC3R",		"Mic Jack",
 87			"Mic Jack",		"Mic Bias",
 88			"LINE1L",		"Line In",
 89			"LINE1R",		"Line In";
 90		simple-audio-card,format = "dsp_b";
 91		simple-audio-card,bitclock-master = <&sound0_master>;
 92		simple-audio-card,frame-master = <&sound0_master>;
 93		simple-audio-card,bitclock-inversion;
 94
 95		sound0_master: simple-audio-card,cpu {
 96			sound-dai = <&mcasp3>;
 97			system-clock-frequency = <5644800>;
 98		};
 99
100		simple-audio-card,codec {
101			sound-dai = <&tlv320aic3106>;
102			clocks = <&atl_clkin2_ck>;
103		};
104	};
105
106	leds {
107		compatible = "gpio-leds";
108		led0 {
109			label = "dra7:usr1";
110			gpios = <&pcf_lcd 4 GPIO_ACTIVE_LOW>;
111			default-state = "off";
112		};
113
114		led1 {
115			label = "dra7:usr2";
116			gpios = <&pcf_lcd 5 GPIO_ACTIVE_LOW>;
117			default-state = "off";
118		};
119
120		led2 {
121			label = "dra7:usr3";
122			gpios = <&pcf_lcd 6 GPIO_ACTIVE_LOW>;
123			default-state = "off";
124		};
125
126		led3 {
127			label = "dra7:usr4";
128			gpios = <&pcf_lcd 7 GPIO_ACTIVE_LOW>;
129			default-state = "off";
130		};
131	};
132
133	gpio_keys {
134		compatible = "gpio-keys";
135		#address-cells = <1>;
136		#size-cells = <0>;
137		autorepeat;
138
139		USER1 {
140			label = "btnUser1";
141			linux,code = <BTN_0>;
142			gpios = <&pcf_lcd 2 GPIO_ACTIVE_LOW>;
143		};
144
145		USER2 {
146			label = "btnUser2";
147			linux,code = <BTN_1>;
148			gpios = <&pcf_lcd 3 GPIO_ACTIVE_LOW>;
149		};
150	};
151};
152
153&dra7_pmx_core {
154	pinctrl-names = "default";
155	pinctrl-0 = <&vtt_pin>;
156
157	vtt_pin: pinmux_vtt_pin {
158		pinctrl-single,pins = <
159			DRA7XX_CORE_IOPAD(0x37b4, PIN_OUTPUT | MUX_MODE14) /* spi1_cs1.gpio7_11 */
160		>;
161	};
162
163	i2c1_pins: pinmux_i2c1_pins {
164		pinctrl-single,pins = <
165			DRA7XX_CORE_IOPAD(0x3800, PIN_INPUT | MUX_MODE0) /* i2c1_sda */
166			DRA7XX_CORE_IOPAD(0x3804, PIN_INPUT | MUX_MODE0) /* i2c1_scl */
167		>;
168	};
169
170	i2c2_pins: pinmux_i2c2_pins {
171		pinctrl-single,pins = <
172			DRA7XX_CORE_IOPAD(0x3808, PIN_INPUT | MUX_MODE0) /* i2c2_sda */
173			DRA7XX_CORE_IOPAD(0x380c, PIN_INPUT | MUX_MODE0) /* i2c2_scl */
174		>;
175	};
176
177	i2c3_pins: pinmux_i2c3_pins {
178		pinctrl-single,pins = <
179			DRA7XX_CORE_IOPAD(0x3688, PIN_INPUT | MUX_MODE9) /* gpio6_14.i2c3_sda */
180			DRA7XX_CORE_IOPAD(0x368c, PIN_INPUT | MUX_MODE9) /* gpio6_15.i2c3_scl */
181		>;
182	};
183
184	mcspi1_pins: pinmux_mcspi1_pins {
185		pinctrl-single,pins = <
186			DRA7XX_CORE_IOPAD(0x37a4, PIN_INPUT | MUX_MODE0) /* spi1_sclk */
187			DRA7XX_CORE_IOPAD(0x37a8, PIN_INPUT | MUX_MODE0) /* spi1_d1 */
188			DRA7XX_CORE_IOPAD(0x37ac, PIN_INPUT | MUX_MODE0) /* spi1_d0 */
189			DRA7XX_CORE_IOPAD(0x37b0, PIN_INPUT_SLEW | MUX_MODE0) /* spi1_cs0 */
190			DRA7XX_CORE_IOPAD(0x37b8, PIN_INPUT_SLEW | MUX_MODE6) /* spi1_cs2.hdmi1_hpd */
191			DRA7XX_CORE_IOPAD(0x37bc, PIN_INPUT_SLEW | MUX_MODE6) /* spi1_cs3.hdmi1_cec */
192		>;
193	};
194
195	mcspi2_pins: pinmux_mcspi2_pins {
196		pinctrl-single,pins = <
197			DRA7XX_CORE_IOPAD(0x37c0, PIN_INPUT | MUX_MODE0) /* spi2_sclk */
198			DRA7XX_CORE_IOPAD(0x37c4, PIN_INPUT_SLEW | MUX_MODE0) /* spi2_d1 */
199			DRA7XX_CORE_IOPAD(0x37c8, PIN_INPUT_SLEW | MUX_MODE0) /* spi2_d1 */
200			DRA7XX_CORE_IOPAD(0x37cc, PIN_INPUT_SLEW | MUX_MODE0) /* spi2_cs0 */
201		>;
202	};
203
204	uart1_pins: pinmux_uart1_pins {
205		pinctrl-single,pins = <
206			DRA7XX_CORE_IOPAD(0x37e0, PIN_INPUT_SLEW | MUX_MODE0) /* uart1_rxd */
207			DRA7XX_CORE_IOPAD(0x37e4, PIN_INPUT_SLEW | MUX_MODE0) /* uart1_txd */
208			DRA7XX_CORE_IOPAD(0x37e8, PIN_INPUT | MUX_MODE3) /* uart1_ctsn */
209			DRA7XX_CORE_IOPAD(0x37ec, PIN_INPUT | MUX_MODE3) /* uart1_rtsn */
210		>;
211	};
212
213	uart2_pins: pinmux_uart2_pins {
214		pinctrl-single,pins = <
215			DRA7XX_CORE_IOPAD(0x37f0, PIN_INPUT | MUX_MODE0) /* uart2_rxd */
216			DRA7XX_CORE_IOPAD(0x37f4, PIN_INPUT | MUX_MODE0) /* uart2_txd */
217			DRA7XX_CORE_IOPAD(0x37f8, PIN_INPUT | MUX_MODE0) /* uart2_ctsn */
218			DRA7XX_CORE_IOPAD(0x37fc, PIN_INPUT | MUX_MODE0) /* uart2_rtsn */
219		>;
220	};
221
222	uart3_pins: pinmux_uart3_pins {
223		pinctrl-single,pins = <
224			DRA7XX_CORE_IOPAD(0x3648, PIN_INPUT_SLEW | MUX_MODE0) /* uart3_rxd */
225			DRA7XX_CORE_IOPAD(0x364c, PIN_INPUT_SLEW | MUX_MODE0) /* uart3_txd */
226		>;
227	};
228
229	usb1_pins: pinmux_usb1_pins {
230                pinctrl-single,pins = <
231			DRA7XX_CORE_IOPAD(0x3680, PIN_INPUT_SLEW | MUX_MODE0) /* usb1_drvvbus */
232                >;
233        };
234
235	usb2_pins: pinmux_usb2_pins {
236                pinctrl-single,pins = <
237			DRA7XX_CORE_IOPAD(0x3684, PIN_INPUT_SLEW | MUX_MODE0) /* usb2_drvvbus */
238                >;
239        };
240
241	nand_flash_x16: nand_flash_x16 {
242		/* On DRA7 EVM, GPMC_WPN and NAND_BOOTn comes from DIP switch
243		 * So NAND flash requires following switch settings:
244		 * SW5.1 (NAND_BOOTn) = ON (LOW)
245		 * SW5.9 (GPMC_WPN) = OFF (HIGH)
246		 */
247		pinctrl-single,pins = <
248			DRA7XX_CORE_IOPAD(0x3400, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad0	*/
249			DRA7XX_CORE_IOPAD(0x3404, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad1	*/
250			DRA7XX_CORE_IOPAD(0x3408, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad2	*/
251			DRA7XX_CORE_IOPAD(0x340c, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad3	*/
252			DRA7XX_CORE_IOPAD(0x3410, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad4	*/
253			DRA7XX_CORE_IOPAD(0x3414, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad5	*/
254			DRA7XX_CORE_IOPAD(0x3418, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad6	*/
255			DRA7XX_CORE_IOPAD(0x341c, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad7	*/
256			DRA7XX_CORE_IOPAD(0x3420, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad8	*/
257			DRA7XX_CORE_IOPAD(0x3424, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad9	*/
258			DRA7XX_CORE_IOPAD(0x3428, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad10	*/
259			DRA7XX_CORE_IOPAD(0x342c, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad11	*/
260			DRA7XX_CORE_IOPAD(0x3430, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad12	*/
261			DRA7XX_CORE_IOPAD(0x3434, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad13	*/
262			DRA7XX_CORE_IOPAD(0x3438, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad14	*/
263			DRA7XX_CORE_IOPAD(0x343c, PIN_INPUT  | MUX_MODE0)	/* gpmc_ad15	*/
264			DRA7XX_CORE_IOPAD(0x34d8, PIN_INPUT_PULLUP  | MUX_MODE0)	/* gpmc_wait0	*/
265			DRA7XX_CORE_IOPAD(0x34cc, PIN_OUTPUT | MUX_MODE0)	/* gpmc_wen	*/
266			DRA7XX_CORE_IOPAD(0x34b4, PIN_OUTPUT_PULLUP | MUX_MODE0)	/* gpmc_csn0	*/
267			DRA7XX_CORE_IOPAD(0x34c4, PIN_OUTPUT | MUX_MODE0)	/* gpmc_advn_ale */
268			DRA7XX_CORE_IOPAD(0x34c8, PIN_OUTPUT | MUX_MODE0)	/* gpmc_oen_ren	 */
269			DRA7XX_CORE_IOPAD(0x34d0, PIN_OUTPUT | MUX_MODE0)	/* gpmc_be0n_cle */
270		>;
271	};
272
273	cpsw_default: cpsw_default {
274		pinctrl-single,pins = <
275			/* Slave 1 */
276			DRA7XX_CORE_IOPAD(0x3650, PIN_OUTPUT | MUX_MODE0)	/* rgmii0_txc.rgmii0_txc */
277			DRA7XX_CORE_IOPAD(0x3654, PIN_OUTPUT | MUX_MODE0)	/* rgmii0_txctl.rgmii0_txctl */
278			DRA7XX_CORE_IOPAD(0x3658, PIN_OUTPUT | MUX_MODE0)	/* rgmii0_td3.rgmii0_txd3 */
279			DRA7XX_CORE_IOPAD(0x365c, PIN_OUTPUT | MUX_MODE0)	/* rgmii0_txd2.rgmii0_txd2 */
280			DRA7XX_CORE_IOPAD(0x3660, PIN_OUTPUT | MUX_MODE0)	/* rgmii0_txd1.rgmii0_txd1 */
281			DRA7XX_CORE_IOPAD(0x3664, PIN_OUTPUT | MUX_MODE0)	/* rgmii0_txd0.rgmii0_txd0 */
282			DRA7XX_CORE_IOPAD(0x3668, PIN_INPUT | MUX_MODE0)	/* rgmii0_rxc.rgmii0_rxc */
283			DRA7XX_CORE_IOPAD(0x366c, PIN_INPUT | MUX_MODE0)	/* rgmii0_rxctl.rgmii0_rxctl */
284			DRA7XX_CORE_IOPAD(0x3670, PIN_INPUT | MUX_MODE0)	/* rgmii0_rxd3.rgmii0_rxd3 */
285			DRA7XX_CORE_IOPAD(0x3674, PIN_INPUT | MUX_MODE0)	/* rgmii0_rxd2.rgmii0_rxd2 */
286			DRA7XX_CORE_IOPAD(0x3678, PIN_INPUT | MUX_MODE0)	/* rgmii0_rxd1.rgmii0_rxd1 */
287			DRA7XX_CORE_IOPAD(0x367c, PIN_INPUT | MUX_MODE0)	/* rgmii0_rxd0.rgmii0_rxd0 */
288
289			/* Slave 2 */
290			DRA7XX_CORE_IOPAD(0x3598, PIN_OUTPUT | MUX_MODE3)	/* vin2a_d12.rgmii1_txc */
291			DRA7XX_CORE_IOPAD(0x359c, PIN_OUTPUT | MUX_MODE3)	/* vin2a_d13.rgmii1_tctl */
292			DRA7XX_CORE_IOPAD(0x35a0, PIN_OUTPUT | MUX_MODE3)	/* vin2a_d14.rgmii1_td3 */
293			DRA7XX_CORE_IOPAD(0x35a4, PIN_OUTPUT | MUX_MODE3)	/* vin2a_d15.rgmii1_td2 */
294			DRA7XX_CORE_IOPAD(0x35a8, PIN_OUTPUT | MUX_MODE3)	/* vin2a_d16.rgmii1_td1 */
295			DRA7XX_CORE_IOPAD(0x35ac, PIN_OUTPUT | MUX_MODE3)	/* vin2a_d17.rgmii1_td0 */
296			DRA7XX_CORE_IOPAD(0x35b0, PIN_INPUT | MUX_MODE3)	/* vin2a_d18.rgmii1_rclk */
297			DRA7XX_CORE_IOPAD(0x35b4, PIN_INPUT | MUX_MODE3)	/* vin2a_d19.rgmii1_rctl */
298			DRA7XX_CORE_IOPAD(0x35b8, PIN_INPUT | MUX_MODE3)	/* vin2a_d20.rgmii1_rd3 */
299			DRA7XX_CORE_IOPAD(0x35bc, PIN_INPUT | MUX_MODE3)	/* vin2a_d21.rgmii1_rd2 */
300			DRA7XX_CORE_IOPAD(0x35c0, PIN_INPUT | MUX_MODE3)	/* vin2a_d22.rgmii1_rd1 */
301			DRA7XX_CORE_IOPAD(0x35c4, PIN_INPUT | MUX_MODE3)	/* vin2a_d23.rgmii1_rd0 */
302		>;
303
304	};
305
306	cpsw_sleep: cpsw_sleep {
307		pinctrl-single,pins = <
308			/* Slave 1 */
309			DRA7XX_CORE_IOPAD(0x3650, MUX_MODE15)
310			DRA7XX_CORE_IOPAD(0x3654, MUX_MODE15)
311			DRA7XX_CORE_IOPAD(0x3658, MUX_MODE15)
312			DRA7XX_CORE_IOPAD(0x365c, MUX_MODE15)
313			DRA7XX_CORE_IOPAD(0x3660, MUX_MODE15)
314			DRA7XX_CORE_IOPAD(0x3664, MUX_MODE15)
315			DRA7XX_CORE_IOPAD(0x3668, MUX_MODE15)
316			DRA7XX_CORE_IOPAD(0x366c, MUX_MODE15)
317			DRA7XX_CORE_IOPAD(0x3670, MUX_MODE15)
318			DRA7XX_CORE_IOPAD(0x3674, MUX_MODE15)
319			DRA7XX_CORE_IOPAD(0x3678, MUX_MODE15)
320			DRA7XX_CORE_IOPAD(0x367c, MUX_MODE15)
321
322			/* Slave 2 */
323			DRA7XX_CORE_IOPAD(0x3598, MUX_MODE15)
324			DRA7XX_CORE_IOPAD(0x359c, MUX_MODE15)
325			DRA7XX_CORE_IOPAD(0x35a0, MUX_MODE15)
326			DRA7XX_CORE_IOPAD(0x35a4, MUX_MODE15)
327			DRA7XX_CORE_IOPAD(0x35a8, MUX_MODE15)
328			DRA7XX_CORE_IOPAD(0x35ac, MUX_MODE15)
329			DRA7XX_CORE_IOPAD(0x35b0, MUX_MODE15)
330			DRA7XX_CORE_IOPAD(0x35b4, MUX_MODE15)
331			DRA7XX_CORE_IOPAD(0x35b8, MUX_MODE15)
332			DRA7XX_CORE_IOPAD(0x35bc, MUX_MODE15)
333			DRA7XX_CORE_IOPAD(0x35c0, MUX_MODE15)
334			DRA7XX_CORE_IOPAD(0x35c4, MUX_MODE15)
335		>;
336	};
337
338	davinci_mdio_default: davinci_mdio_default {
339		pinctrl-single,pins = <
340			DRA7XX_CORE_IOPAD(0x363c, PIN_OUTPUT_PULLUP | MUX_MODE0)	/* mdio_d.mdio_d */
341			DRA7XX_CORE_IOPAD(0x3640, PIN_INPUT_PULLUP | MUX_MODE0)	/* mdio_clk.mdio_clk */
342		>;
343	};
344
345	davinci_mdio_sleep: davinci_mdio_sleep {
346		pinctrl-single,pins = <
347			DRA7XX_CORE_IOPAD(0x363c, MUX_MODE15)
348			DRA7XX_CORE_IOPAD(0x3640, MUX_MODE15)
349		>;
350	};
351
352	dcan1_pins_default: dcan1_pins_default {
353		pinctrl-single,pins = <
354			DRA7XX_CORE_IOPAD(0x37d0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* dcan1_tx */
355			DRA7XX_CORE_IOPAD(0x3818, PULL_UP | MUX_MODE1) /* wakeup0.dcan1_rx */
356		>;
357	};
358
359	dcan1_pins_sleep: dcan1_pins_sleep {
360		pinctrl-single,pins = <
361			DRA7XX_CORE_IOPAD(0x37d0, MUX_MODE15 | PULL_UP)	/* dcan1_tx.off */
362			DRA7XX_CORE_IOPAD(0x3818, MUX_MODE15 | PULL_UP)	/* wakeup0.off */
363		>;
364	};
365
366	atl_pins: pinmux_atl_pins {
367		pinctrl-single,pins = <
368			DRA7XX_CORE_IOPAD(0x3698, PIN_OUTPUT | MUX_MODE5)	/* xref_clk1.atl_clk1 */
369			DRA7XX_CORE_IOPAD(0x369c, PIN_OUTPUT | MUX_MODE5)	/* xref_clk2.atl_clk2 */
370		>;
371	};
372
373	mcasp3_pins: pinmux_mcasp3_pins {
374		pinctrl-single,pins = <
375			DRA7XX_CORE_IOPAD(0x3724, PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* mcasp3_aclkx */
376			DRA7XX_CORE_IOPAD(0x3728, PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* mcasp3_fsx */
377			DRA7XX_CORE_IOPAD(0x372c, PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* mcasp3_axr0 */
378			DRA7XX_CORE_IOPAD(0x3730, PIN_INPUT_PULLDOWN | MUX_MODE0)	/* mcasp3_axr1 */
379		>;
380	};
381
382	mcasp3_sleep_pins: pinmux_mcasp3_sleep_pins {
383		pinctrl-single,pins = <
384			DRA7XX_CORE_IOPAD(0x3724, MUX_MODE15)
385			DRA7XX_CORE_IOPAD(0x3728, MUX_MODE15)
386			DRA7XX_CORE_IOPAD(0x372c, MUX_MODE15)
387			DRA7XX_CORE_IOPAD(0x3730, MUX_MODE15)
388		>;
389	};
390};
391
392&i2c1 {
393	status = "okay";
394	pinctrl-names = "default";
395	pinctrl-0 = <&i2c1_pins>;
396	clock-frequency = <400000>;
397
398	tps659038: tps659038@58 {
399		compatible = "ti,tps659038";
400		reg = <0x58>;
 
 
401
402		tps659038_pmic {
403			compatible = "ti,tps659038-pmic";
404
405			regulators {
406				smps123_reg: smps123 {
407					/* VDD_MPU */
408					regulator-name = "smps123";
409					regulator-min-microvolt = < 850000>;
410					regulator-max-microvolt = <1250000>;
411					regulator-always-on;
412					regulator-boot-on;
413				};
414
415				smps45_reg: smps45 {
416					/* VDD_DSPEVE */
417					regulator-name = "smps45";
418					regulator-min-microvolt = < 850000>;
419					regulator-max-microvolt = <1250000>;
420					regulator-always-on;
421					regulator-boot-on;
422				};
423
424				smps6_reg: smps6 {
425					/* VDD_GPU - over VDD_SMPS6 */
426					regulator-name = "smps6";
427					regulator-min-microvolt = <850000>;
428					regulator-max-microvolt = <1250000>;
429					regulator-always-on;
430					regulator-boot-on;
431				};
432
433				smps7_reg: smps7 {
434					/* CORE_VDD */
435					regulator-name = "smps7";
436					regulator-min-microvolt = <850000>;
437					regulator-max-microvolt = <1150000>;
438					regulator-always-on;
439					regulator-boot-on;
440				};
441
442				smps8_reg: smps8 {
443					/* VDD_IVAHD */
444					regulator-name = "smps8";
445					regulator-min-microvolt = < 850000>;
446					regulator-max-microvolt = <1250000>;
447					regulator-always-on;
448					regulator-boot-on;
449				};
450
451				smps9_reg: smps9 {
452					/* VDDS1V8 */
453					regulator-name = "smps9";
454					regulator-min-microvolt = <1800000>;
455					regulator-max-microvolt = <1800000>;
456					regulator-always-on;
457					regulator-boot-on;
458				};
459
460				ldo1_reg: ldo1 {
461					/* LDO1_OUT --> SDIO  */
462					regulator-name = "ldo1";
463					regulator-min-microvolt = <1800000>;
464					regulator-max-microvolt = <3300000>;
465					regulator-always-on;
466					regulator-boot-on;
467				};
468
469				ldo2_reg: ldo2 {
470					/* VDD_RTCIO */
471					/* LDO2 -> VDDSHV5, LDO2 also goes to CAN_PHY_3V3 */
472					regulator-name = "ldo2";
473					regulator-min-microvolt = <3300000>;
474					regulator-max-microvolt = <3300000>;
475					regulator-always-on;
476					regulator-boot-on;
477				};
478
479				ldo3_reg: ldo3 {
480					/* VDDA_1V8_PHY */
481					regulator-name = "ldo3";
482					regulator-min-microvolt = <1800000>;
483					regulator-max-microvolt = <1800000>;
484					regulator-always-on;
485					regulator-boot-on;
486				};
487
488				ldo9_reg: ldo9 {
489					/* VDD_RTC */
490					regulator-name = "ldo9";
491					regulator-min-microvolt = <1050000>;
492					regulator-max-microvolt = <1050000>;
493					regulator-always-on;
494					regulator-boot-on;
495					regulator-allow-bypass;
496				};
497
498				ldoln_reg: ldoln {
499					/* VDDA_1V8_PLL */
500					regulator-name = "ldoln";
501					regulator-min-microvolt = <1800000>;
502					regulator-max-microvolt = <1800000>;
503					regulator-always-on;
504					regulator-boot-on;
505				};
506
507				ldousb_reg: ldousb {
508					/* VDDA_3V_USB: VDDA_USBHS33 */
509					regulator-name = "ldousb";
510					regulator-min-microvolt = <3300000>;
511					regulator-max-microvolt = <3300000>;
512					regulator-boot-on;
513				};
514
515				/* REGEN1 is unused */
516
517				regen2: regen2 {
518					/* Needed for PMIC internal resources */
519					regulator-name = "regen2";
520					regulator-boot-on;
521					regulator-always-on;
522				};
523
524				/* REGEN3 is unused */
525
526				sysen1: sysen1 {
527					/* PMIC_REGEN_3V3 */
528					regulator-name = "sysen1";
529					regulator-boot-on;
530					regulator-always-on;
531				};
532
533				sysen2: sysen2 {
534					/* PMIC_REGEN_DDR */
535					regulator-name = "sysen2";
536					regulator-boot-on;
537					regulator-always-on;
538				};
539			};
540		};
541	};
542
543	pcf_lcd: gpio@20 {
544		compatible = "ti,pcf8575", "nxp,pcf8575";
545		reg = <0x20>;
546		gpio-controller;
547		#gpio-cells = <2>;
548		interrupt-parent = <&gpio6>;
549		interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
550		interrupt-controller;
551		#interrupt-cells = <2>;
552	};
553
554	pcf_gpio_21: gpio@21 {
555		compatible = "ti,pcf8575", "nxp,pcf8575";
556		reg = <0x21>;
557		lines-initial-states = <0x1408>;
558		gpio-controller;
559		#gpio-cells = <2>;
560		interrupt-parent = <&gpio6>;
561		interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
562		interrupt-controller;
563		#interrupt-cells = <2>;
564	};
565
566	tlv320aic3106: tlv320aic3106@19 {
567		#sound-dai-cells = <0>;
568		compatible = "ti,tlv320aic3106";
569		reg = <0x19>;
570		adc-settle-ms = <40>;
571		ai3x-micbias-vg = <1>;		/* 2.0V */
572		status = "okay";
573
574		/* Regulators */
575		AVDD-supply = <&evm_3v3_sw>;
576		IOVDD-supply = <&evm_3v3_sw>;
577		DRVDD-supply = <&evm_3v3_sw>;
578		DVDD-supply = <&aic_dvdd>;
579	};
580};
581
582&i2c2 {
583	status = "okay";
584	pinctrl-names = "default";
585	pinctrl-0 = <&i2c2_pins>;
586	clock-frequency = <400000>;
587
588	pcf_hdmi: gpio@26 {
589		compatible = "ti,pcf8575", "nxp,pcf8575";
590		reg = <0x26>;
591		gpio-controller;
592		#gpio-cells = <2>;
593		p1 {
594			/* vin6_sel_s0: high: VIN6, low: audio */
595			gpio-hog;
596			gpios = <1 GPIO_ACTIVE_HIGH>;
597			output-low;
598			line-name = "vin6_sel_s0";
599		};
600	};
601};
602
603&i2c3 {
604	status = "okay";
605	pinctrl-names = "default";
606	pinctrl-0 = <&i2c3_pins>;
607	clock-frequency = <400000>;
608};
609
610&mcspi1 {
611	status = "okay";
612	pinctrl-names = "default";
613	pinctrl-0 = <&mcspi1_pins>;
614};
615
616&mcspi2 {
617	status = "okay";
618	pinctrl-names = "default";
619	pinctrl-0 = <&mcspi2_pins>;
620};
621
622&uart1 {
623	status = "okay";
624	pinctrl-names = "default";
625	pinctrl-0 = <&uart1_pins>;
626	interrupts-extended = <&crossbar_mpu GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
627			      <&dra7_pmx_core 0x3e0>;
628};
629
630&uart2 {
631	status = "okay";
632	pinctrl-names = "default";
633	pinctrl-0 = <&uart2_pins>;
634};
635
636&uart3 {
637	status = "okay";
638	pinctrl-names = "default";
639	pinctrl-0 = <&uart3_pins>;
640};
641
642&mmc1 {
643	status = "okay";
644	vmmc-supply = <&evm_3v3_sd>;
645	vmmc_aux-supply = <&ldo1_reg>;
646	bus-width = <4>;
647	/*
648	 * SDCD signal is not being used here - using the fact that GPIO mode
649	 * is always hardwired.
650	 */
651	cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>;
 
 
 
 
 
 
 
 
 
 
652};
653
654&mmc2 {
655	status = "okay";
656	vmmc-supply = <&evm_3v3_sw>;
 
657	bus-width = <8>;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
658};
659
660&cpu0 {
661	cpu0-supply = <&smps123_reg>;
662};
663
664&qspi {
665	status = "okay";
666
667	spi-max-frequency = <76800000>;
668	m25p80@0 {
669		compatible = "s25fl256s1";
670		spi-max-frequency = <76800000>;
671		reg = <0>;
672		spi-tx-bus-width = <1>;
673		spi-rx-bus-width = <4>;
674		#address-cells = <1>;
675		#size-cells = <1>;
676
677		/* MTD partition table.
678		 * The ROM checks the first four physical blocks
679		 * for a valid file to boot and the flash here is
680		 * 64KiB block size.
681		 */
682		partition@0 {
683			label = "QSPI.SPL";
684			reg = <0x00000000 0x000010000>;
685		};
686		partition@1 {
687			label = "QSPI.SPL.backup1";
688			reg = <0x00010000 0x00010000>;
689		};
690		partition@2 {
691			label = "QSPI.SPL.backup2";
692			reg = <0x00020000 0x00010000>;
693		};
694		partition@3 {
695			label = "QSPI.SPL.backup3";
696			reg = <0x00030000 0x00010000>;
697		};
698		partition@4 {
699			label = "QSPI.u-boot";
700			reg = <0x00040000 0x00100000>;
701		};
702		partition@5 {
703			label = "QSPI.u-boot-spl-os";
704			reg = <0x00140000 0x00080000>;
705		};
706		partition@6 {
707			label = "QSPI.u-boot-env";
708			reg = <0x001c0000 0x00010000>;
709		};
710		partition@7 {
711			label = "QSPI.u-boot-env.backup1";
712			reg = <0x001d0000 0x0010000>;
713		};
714		partition@8 {
715			label = "QSPI.kernel";
716			reg = <0x001e0000 0x0800000>;
717		};
718		partition@9 {
719			label = "QSPI.file-system";
720			reg = <0x009e0000 0x01620000>;
721		};
722	};
723};
724
725&omap_dwc3_1 {
726	extcon = <&extcon_usb1>;
727};
728
729&omap_dwc3_2 {
730	extcon = <&extcon_usb2>;
731};
732
733&usb1 {
734	dr_mode = "peripheral";
735	pinctrl-names = "default";
736	pinctrl-0 = <&usb1_pins>;
737};
738
739&usb2 {
740	dr_mode = "host";
741	pinctrl-names = "default";
742	pinctrl-0 = <&usb2_pins>;
743};
744
745&elm {
746	status = "okay";
747};
748
749&gpmc {
750	status = "okay";
751	pinctrl-names = "default";
752	pinctrl-0 = <&nand_flash_x16>;
 
 
 
753	ranges = <0 0 0x08000000 0x01000000>;	/* minimum GPMC partition = 16MB */
754	nand@0,0 {
755		compatible = "ti,omap2-nand";
756		reg = <0 0 4>;		/* device IO registers */
757		interrupt-parent = <&gpmc>;
758		interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
759			     <1 IRQ_TYPE_NONE>; /* termcount */
760		rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 pin */
 
761		ti,nand-ecc-opt = "bch8";
762		ti,elm-id = <&elm>;
763		nand-bus-width = <16>;
764		gpmc,device-width = <2>;
765		gpmc,sync-clk-ps = <0>;
766		gpmc,cs-on-ns = <0>;
767		gpmc,cs-rd-off-ns = <80>;
768		gpmc,cs-wr-off-ns = <80>;
769		gpmc,adv-on-ns = <0>;
770		gpmc,adv-rd-off-ns = <60>;
771		gpmc,adv-wr-off-ns = <60>;
772		gpmc,we-on-ns = <10>;
773		gpmc,we-off-ns = <50>;
774		gpmc,oe-on-ns = <4>;
775		gpmc,oe-off-ns = <40>;
776		gpmc,access-ns = <40>;
777		gpmc,wr-access-ns = <80>;
778		gpmc,rd-cycle-ns = <80>;
779		gpmc,wr-cycle-ns = <80>;
780		gpmc,bus-turnaround-ns = <0>;
781		gpmc,cycle2cycle-delay-ns = <0>;
782		gpmc,clk-activation-ns = <0>;
783		gpmc,wr-data-mux-bus-ns = <0>;
784		/* MTD partition table */
785		/* All SPL-* partitions are sized to minimal length
786		 * which can be independently programmable. For
787		 * NAND flash this is equal to size of erase-block */
788		#address-cells = <1>;
789		#size-cells = <1>;
790		partition@0 {
791			label = "NAND.SPL";
792			reg = <0x00000000 0x000020000>;
793		};
794		partition@1 {
795			label = "NAND.SPL.backup1";
796			reg = <0x00020000 0x00020000>;
797		};
798		partition@2 {
799			label = "NAND.SPL.backup2";
800			reg = <0x00040000 0x00020000>;
801		};
802		partition@3 {
803			label = "NAND.SPL.backup3";
804			reg = <0x00060000 0x00020000>;
805		};
806		partition@4 {
807			label = "NAND.u-boot-spl-os";
808			reg = <0x00080000 0x00040000>;
809		};
810		partition@5 {
811			label = "NAND.u-boot";
812			reg = <0x000c0000 0x00100000>;
813		};
814		partition@6 {
815			label = "NAND.u-boot-env";
816			reg = <0x001c0000 0x00020000>;
817		};
818		partition@7 {
819			label = "NAND.u-boot-env.backup1";
820			reg = <0x001e0000 0x00020000>;
821		};
822		partition@8 {
823			label = "NAND.kernel";
824			reg = <0x00200000 0x00800000>;
825		};
826		partition@9 {
827			label = "NAND.file-system";
828			reg = <0x00a00000 0x0f600000>;
829		};
830	};
831};
832
833&usb2_phy1 {
834	phy-supply = <&ldousb_reg>;
835};
836
837&usb2_phy2 {
838	phy-supply = <&ldousb_reg>;
839};
840
841&gpio7 {
842	ti,no-reset-on-init;
843	ti,no-idle-on-init;
844};
845
846&mac {
847	status = "okay";
848	pinctrl-names = "default", "sleep";
849	pinctrl-0 = <&cpsw_default>;
850	pinctrl-1 = <&cpsw_sleep>;
851	dual_emac;
852};
853
854&cpsw_emac0 {
855	phy_id = <&davinci_mdio>, <2>;
856	phy-mode = "rgmii";
857	dual_emac_res_vlan = <1>;
858};
859
860&cpsw_emac1 {
861	phy_id = <&davinci_mdio>, <3>;
862	phy-mode = "rgmii";
863	dual_emac_res_vlan = <2>;
864};
865
866&davinci_mdio {
867	pinctrl-names = "default", "sleep";
868	pinctrl-0 = <&davinci_mdio_default>;
869	pinctrl-1 = <&davinci_mdio_sleep>;
 
 
 
 
870};
871
872&dcan1 {
873	status = "ok";
874	pinctrl-names = "default", "sleep", "active";
875	pinctrl-0 = <&dcan1_pins_sleep>;
876	pinctrl-1 = <&dcan1_pins_sleep>;
877	pinctrl-2 = <&dcan1_pins_default>;
878};
879
880&atl {
881	pinctrl-names = "default";
882	pinctrl-0 = <&atl_pins>;
883
884	assigned-clocks = <&abe_dpll_sys_clk_mux>,
885			  <&atl_gfclk_mux>,
886			  <&dpll_abe_ck>,
887			  <&dpll_abe_m2x2_ck>,
888			  <&atl_clkin2_ck>;
889	assigned-clock-parents = <&sys_clkin2>, <&dpll_abe_m2_ck>;
890	assigned-clock-rates = <0>, <0>, <180633600>, <361267200>, <5644800>;
891
892	status = "okay";
893
894	atl2 {
895		bws = <DRA7_ATL_WS_MCASP2_FSX>;
896		aws = <DRA7_ATL_WS_MCASP3_FSX>;
897	};
898};
899
900&mcasp3 {
901	#sound-dai-cells = <0>;
902	pinctrl-names = "default", "sleep";
903	pinctrl-0 = <&mcasp3_pins>;
904	pinctrl-1 = <&mcasp3_sleep_pins>;
905
906	assigned-clocks = <&mcasp3_ahclkx_mux>;
907	assigned-clock-parents = <&atl_clkin2_ck>;
908
909	status = "okay";
910
911	op-mode = <0>;          /* MCASP_IIS_MODE */
912	tdm-slots = <2>;
913	/* 4 serializer */
914	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
915		1 2 0 0
916	>;
917	tx-num-evt = <32>;
918	rx-num-evt = <32>;
919};
920
921&mailbox5 {
922	status = "okay";
923	mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
924		status = "okay";
925	};
926	mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
927		status = "okay";
928	};
929};
930
931&mailbox6 {
932	status = "okay";
933	mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
934		status = "okay";
935	};
936	mbox_dsp2_ipc3x: mbox_dsp2_ipc3x {
937		status = "okay";
938	};
939};