Linux Audio

Check our new training course

Linux kernel drivers training

Mar 31-Apr 9, 2025, special US time zones
Register
Loading...
v5.4
  1// SPDX-License-Identifier: GPL-2.0-only
  2/*
  3 * Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
  4 */
  5/dts-v1/;
  6
  7#include "dra76x.dtsi"
  8#include "dra7-evm-common.dtsi"
  9#include "dra76x-mmc-iodelay.dtsi"
 10#include <dt-bindings/net/ti-dp83867.h>
 11
 12/ {
 13	model = "TI DRA762 EVM";
 14	compatible = "ti,dra76-evm", "ti,dra762", "ti,dra7";
 15
 
 
 
 
 
 
 
 16	memory@0 {
 17		device_type = "memory";
 18		reg = <0x0 0x80000000 0x0 0x80000000>;
 19	};
 20
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 21	vsys_12v0: fixedregulator-vsys12v0 {
 22		/* main supply */
 23		compatible = "regulator-fixed";
 24		regulator-name = "vsys_12v0";
 25		regulator-min-microvolt = <12000000>;
 26		regulator-max-microvolt = <12000000>;
 27		regulator-always-on;
 28		regulator-boot-on;
 29	};
 30
 31	vsys_5v0: fixedregulator-vsys5v0 {
 32		/* Output of Cntlr B of TPS43351-Q1 on dra76-evm */
 33		compatible = "regulator-fixed";
 34		regulator-name = "vsys_5v0";
 35		regulator-min-microvolt = <5000000>;
 36		regulator-max-microvolt = <5000000>;
 37		vin-supply = <&vsys_12v0>;
 38		regulator-always-on;
 39		regulator-boot-on;
 40	};
 41
 42	vio_3v6: fixedregulator-vio_3v6 {
 43		compatible = "regulator-fixed";
 44		regulator-name = "vio_3v6";
 45		regulator-min-microvolt = <3600000>;
 46		regulator-max-microvolt = <3600000>;
 47		vin-supply = <&vsys_5v0>;
 48		regulator-always-on;
 49		regulator-boot-on;
 50	};
 51
 52	vsys_3v3: fixedregulator-vsys3v3 {
 53		/* Output of Cntlr A of TPS43351-Q1 on dra76-evm */
 54		compatible = "regulator-fixed";
 55		regulator-name = "vsys_3v3";
 56		regulator-min-microvolt = <3300000>;
 57		regulator-max-microvolt = <3300000>;
 58		vin-supply = <&vsys_12v0>;
 59		regulator-always-on;
 60		regulator-boot-on;
 61	};
 62
 63	vio_3v3: fixedregulator-vio_3v3 {
 64		compatible = "regulator-fixed";
 65		regulator-name = "vio_3v3";
 66		regulator-min-microvolt = <3300000>;
 67		regulator-max-microvolt = <3300000>;
 68		vin-supply = <&vsys_3v3>;
 69		regulator-always-on;
 70		regulator-boot-on;
 71	};
 72
 73	vio_3v3_sd: fixedregulator-sd {
 74		compatible = "regulator-fixed";
 75		regulator-name = "vio_3v3_sd";
 76		regulator-min-microvolt = <3300000>;
 77		regulator-max-microvolt = <3300000>;
 78		vin-supply = <&vio_3v3>;
 79		enable-active-high;
 80		gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>;
 81	};
 82
 83	vio_1v8: fixedregulator-vio_1v8 {
 84		compatible = "regulator-fixed";
 85		regulator-name = "vio_1v8";
 86		regulator-min-microvolt = <1800000>;
 87		regulator-max-microvolt = <1800000>;
 88		vin-supply = <&smps5_reg>;
 89	};
 90
 91	vmmcwl_fixed: fixedregulator-mmcwl {
 92		compatible = "regulator-fixed";
 93		regulator-name = "vmmcwl_fixed";
 94		regulator-min-microvolt = <1800000>;
 95		regulator-max-microvolt = <1800000>;
 96		gpio = <&gpio5 8 0>;	/* gpio5_8 */
 97		startup-delay-us = <70000>;
 98		enable-active-high;
 99	};
100
101	vtt_fixed: fixedregulator-vtt {
102		compatible = "regulator-fixed";
103		regulator-name = "vtt_fixed";
104		regulator-min-microvolt = <1350000>;
105		regulator-max-microvolt = <1350000>;
106		vin-supply = <&vsys_3v3>;
107		regulator-always-on;
108		regulator-boot-on;
109	};
110
111	aic_dvdd: fixedregulator-aic_dvdd {
112		/* TPS77018DBVT */
113		compatible = "regulator-fixed";
114		regulator-name = "aic_dvdd";
115		vin-supply = <&vio_3v3>;
116		regulator-min-microvolt = <1800000>;
117		regulator-max-microvolt = <1800000>;
118	};
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
119};
120
121&i2c1 {
122	status = "okay";
123	clock-frequency = <400000>;
124
125	tps65917: tps65917@58 {
126		compatible = "ti,tps65917";
127		reg = <0x58>;
128		ti,system-power-controller;
129		ti,palmas-override-powerhold;
130		interrupt-controller;
131		#interrupt-cells = <2>;
132
133		tps65917_pmic {
134			compatible = "ti,tps65917-pmic";
135
136			smps12-in-supply = <&vsys_3v3>;
137			smps3-in-supply = <&vsys_3v3>;
138			smps4-in-supply = <&vsys_3v3>;
139			smps5-in-supply = <&vsys_3v3>;
140			ldo1-in-supply = <&vsys_3v3>;
141			ldo2-in-supply = <&vsys_3v3>;
142			ldo3-in-supply = <&vsys_5v0>;
143			ldo4-in-supply = <&vsys_5v0>;
144			ldo5-in-supply = <&vsys_3v3>;
145
146			tps65917_regulators: regulators {
147				smps12_reg: smps12 {
148					/* VDD_DSPEVE */
149					regulator-name = "smps12";
150					regulator-min-microvolt = <850000>;
151					regulator-max-microvolt = <1250000>;
152					regulator-always-on;
153					regulator-boot-on;
154				};
155
156				smps3_reg: smps3 {
157					/* VDD_CORE */
158					regulator-name = "smps3";
159					regulator-min-microvolt = <850000>;
160					regulator-max-microvolt = <1250000>;
161					regulator-boot-on;
162					regulator-always-on;
163				};
164
165				smps4_reg: smps4 {
166					/* VDD_IVA */
167					regulator-name = "smps4";
168					regulator-min-microvolt = <850000>;
169					regulator-max-microvolt = <1250000>;
170					regulator-always-on;
171					regulator-boot-on;
172				};
173
174				smps5_reg: smps5 {
175					/* VDDS1V8 */
176					regulator-name = "smps5";
177					regulator-min-microvolt = <1800000>;
178					regulator-max-microvolt = <1800000>;
179					regulator-boot-on;
180					regulator-always-on;
181				};
182
183				ldo1_reg: ldo1 {
184					/* LDO1_OUT --> VDA_PHY1_1V8  */
185					regulator-name = "ldo1";
186					regulator-min-microvolt = <1800000>;
187					regulator-max-microvolt = <1800000>;
188					regulator-always-on;
189					regulator-boot-on;
190					regulator-allow-bypass;
191				};
192
193				ldo2_reg: ldo2 {
194					/* LDO2_OUT --> VDA_PHY2_1V8 */
195					regulator-name = "ldo2";
196					regulator-min-microvolt = <1800000>;
197					regulator-max-microvolt = <1800000>;
198					regulator-allow-bypass;
199					regulator-always-on;
200				};
201
202				ldo3_reg: ldo3 {
203					/* VDA_USB_3V3 */
204					regulator-name = "ldo3";
205					regulator-min-microvolt = <3300000>;
206					regulator-max-microvolt = <3300000>;
207					regulator-boot-on;
208					regulator-always-on;
209				};
210
211				ldo5_reg: ldo5 {
212					/* VDDA_1V8_PLL */
213					regulator-name = "ldo5";
214					regulator-min-microvolt = <1800000>;
215					regulator-max-microvolt = <1800000>;
216					regulator-always-on;
217					regulator-boot-on;
218				};
219
220				ldo4_reg: ldo4 {
221					/* VDD_SDIO_DV */
222					regulator-name = "ldo4";
223					regulator-min-microvolt = <1800000>;
224					regulator-max-microvolt = <3300000>;
225					regulator-boot-on;
226					regulator-always-on;
227				};
228			};
229		};
230
231		tps65917_power_button {
232			compatible = "ti,palmas-pwrbutton";
233			interrupt-parent = <&tps65917>;
234			interrupts = <1 IRQ_TYPE_NONE>;
235			wakeup-source;
236			ti,palmas-long-press-seconds = <6>;
237		};
238	};
239
240	lp87565: lp87565@60 {
241		compatible = "ti,lp87565-q1";
242		reg = <0x60>;
243
244		buck10-in-supply =<&vsys_3v3>;
245		buck23-in-supply =<&vsys_3v3>;
246
247		regulators: regulators {
248			buck10_reg: buck10 {
249				/*VDD_MPU*/
250				regulator-name = "buck10";
251				regulator-min-microvolt = <850000>;
252				regulator-max-microvolt = <1250000>;
253				regulator-always-on;
254				regulator-boot-on;
255			};
256
257			buck23_reg: buck23 {
258				/* VDD_GPU*/
259				regulator-name = "buck23";
260				regulator-min-microvolt = <850000>;
261				regulator-max-microvolt = <1250000>;
262				regulator-boot-on;
263				regulator-always-on;
264			};
265		};
266	};
267
268	pcf_lcd: pcf8757@20 {
269		compatible = "ti,pcf8575", "nxp,pcf8575";
270		reg = <0x20>;
271		gpio-controller;
272		#gpio-cells = <2>;
273		interrupt-controller;
274		#interrupt-cells = <2>;
275		interrupt-parent = <&gpio1>;
276		interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
277	};
278
279	pcf_gpio_21: pcf8757@21 {
280		compatible = "ti,pcf8575", "nxp,pcf8575";
281		reg = <0x21>;
282		gpio-controller;
283		#gpio-cells = <2>;
284		interrupt-parent = <&gpio1>;
285		interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
286		interrupt-controller;
287		#interrupt-cells = <2>;
288	};
289
290	pcf_hdmi: pcf8575@26 {
291		compatible = "ti,pcf8575", "nxp,pcf8575";
292		reg = <0x26>;
293		gpio-controller;
294		#gpio-cells = <2>;
295		p1 {
296			/* vin6_sel_s0: high: VIN6, low: audio */
297			gpio-hog;
298			gpios = <1 GPIO_ACTIVE_HIGH>;
299			output-low;
300			line-name = "vin6_sel_s0";
301		};
302	};
303
304	tlv320aic3106: tlv320aic3106@19 {
305		#sound-dai-cells = <0>;
306		compatible = "ti,tlv320aic3106";
307		reg = <0x19>;
308		adc-settle-ms = <40>;
309		ai3x-micbias-vg = <1>;		/* 2.0V */
310		status = "okay";
311
312		/* Regulators */
313		AVDD-supply = <&vio_3v3>;
314		IOVDD-supply = <&vio_3v3>;
315		DRVDD-supply = <&vio_3v3>;
316		DVDD-supply = <&aic_dvdd>;
317	};
318};
319
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
320&cpu0 {
321	vdd-supply = <&buck10_reg>;
322};
323
324&mmc1 {
325	status = "okay";
326	vmmc-supply = <&vio_3v3_sd>;
327	vqmmc-supply = <&ldo4_reg>;
328	bus-width = <4>;
329	/*
330	 * SDCD signal is not being used here - using the fact that GPIO mode
331	 * is always hardwired.
332	 */
333	cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>;
334	pinctrl-names = "default", "hs";
335	pinctrl-0 = <&mmc1_pins_default>;
336	pinctrl-1 = <&mmc1_pins_hs>;
337};
338
339&mmc2 {
340	status = "okay";
341	vmmc-supply = <&vio_1v8>;
342	vqmmc-supply = <&vio_1v8>;
343	bus-width = <8>;
344	non-removable;
345	pinctrl-names = "default", "hs", "ddr_1_8v", "hs200_1_8v";
346	pinctrl-0 = <&mmc2_pins_default>;
347	pinctrl-1 = <&mmc2_pins_default>;
348	pinctrl-2 = <&mmc2_pins_default>;
349	pinctrl-3 = <&mmc2_pins_hs200 &mmc2_iodelay_hs200_conf>;
350};
351
352&mmc4 {
353	status = "okay";
354	vmmc-supply = <&vio_3v6>;
355	vqmmc-supply = <&vmmcwl_fixed>;
356	pinctrl-names = "default", "hs", "sdr12", "sdr25";
357	pinctrl-0 = <&mmc4_pins_hs &mmc4_iodelay_default_conf>;
358	pinctrl-1 = <&mmc4_pins_hs &mmc4_iodelay_manual1_conf>;
359	pinctrl-2 = <&mmc4_pins_hs &mmc4_iodelay_manual1_conf>;
360	pinctrl-3 = <&mmc4_pins_hs &mmc4_iodelay_manual1_conf>;
361};
362
363/* No RTC on this device */
364&rtc {
365	status = "disabled";
366};
367
368&mac {
369	status = "okay";
370
371	dual_emac;
372};
373
374&cpsw_emac0 {
375	phy-handle = <&dp83867_0>;
376	phy-mode = "rgmii-id";
377	dual_emac_res_vlan = <1>;
378};
379
380&cpsw_emac1 {
381	phy-handle = <&dp83867_1>;
382	phy-mode = "rgmii-id";
383	dual_emac_res_vlan = <2>;
384};
385
386&davinci_mdio {
387	dp83867_0: ethernet-phy@2 {
388		reg = <2>;
389		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
390		ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
391		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
392		ti,min-output-impedance;
393		ti,dp83867-rxctrl-strap-quirk;
394	};
395
396	dp83867_1: ethernet-phy@3 {
397		reg = <3>;
398		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
399		ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
400		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
401		ti,min-output-impedance;
402		ti,dp83867-rxctrl-strap-quirk;
403	};
404};
405
406&usb2_phy1 {
407	phy-supply = <&ldo3_reg>;
408};
409
410&usb2_phy2 {
411	phy-supply = <&ldo3_reg>;
412};
413
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
414&qspi {
415	spi-max-frequency = <96000000>;
416	m25p80@0 {
417		spi-max-frequency = <96000000>;
418	};
419};
420
421&pcie2_phy {
422	status = "okay";
423};
424
425&pcie1_rc {
426	num-lanes = <2>;
427	phys = <&pcie1_phy>, <&pcie2_phy>;
428	phy-names = "pcie-phy0", "pcie-phy1";
429};
430
431&pcie1_ep {
432	num-lanes = <2>;
433	phys = <&pcie1_phy>, <&pcie2_phy>;
434	phy-names = "pcie-phy0", "pcie-phy1";
435};
436
437&extcon_usb1 {
438	vbus-gpio = <&pcf_lcd 14 GPIO_ACTIVE_HIGH>;
439};
440
441&extcon_usb2 {
442	vbus-gpio = <&pcf_lcd 15 GPIO_ACTIVE_HIGH>;
443};
444
445&m_can0 {
446	can-transceiver {
447		max-bitrate = <5000000>;
448	};
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
449};
v5.9
  1// SPDX-License-Identifier: GPL-2.0-only
  2/*
  3 * Copyright (C) 2017 Texas Instruments Incorporated - https://www.ti.com/
  4 */
  5/dts-v1/;
  6
  7#include "dra76x.dtsi"
  8#include "dra7-evm-common.dtsi"
  9#include "dra76x-mmc-iodelay.dtsi"
 10#include <dt-bindings/net/ti-dp83867.h>
 11
 12/ {
 13	model = "TI DRA762 EVM";
 14	compatible = "ti,dra76-evm", "ti,dra762", "ti,dra7";
 15
 16	aliases {
 17		display0 = &hdmi0;
 18
 19		sound0 = &sound0;
 20		sound1 = &hdmi;
 21	};
 22
 23	memory@0 {
 24		device_type = "memory";
 25		reg = <0x0 0x80000000 0x0 0x80000000>;
 26	};
 27
 28	reserved-memory {
 29		#address-cells = <2>;
 30		#size-cells = <2>;
 31		ranges;
 32
 33		ipu2_cma_pool: ipu2_cma@95800000 {
 34			compatible = "shared-dma-pool";
 35			reg = <0x0 0x95800000 0x0 0x3800000>;
 36			reusable;
 37			status = "okay";
 38		};
 39
 40		dsp1_cma_pool: dsp1_cma@99000000 {
 41			compatible = "shared-dma-pool";
 42			reg = <0x0 0x99000000 0x0 0x4000000>;
 43			reusable;
 44			status = "okay";
 45		};
 46
 47		ipu1_cma_pool: ipu1_cma@9d000000 {
 48			compatible = "shared-dma-pool";
 49			reg = <0x0 0x9d000000 0x0 0x2000000>;
 50			reusable;
 51			status = "okay";
 52		};
 53
 54		dsp2_cma_pool: dsp2_cma@9f000000 {
 55			compatible = "shared-dma-pool";
 56			reg = <0x0 0x9f000000 0x0 0x800000>;
 57			reusable;
 58			status = "okay";
 59		};
 60	};
 61
 62	vsys_12v0: fixedregulator-vsys12v0 {
 63		/* main supply */
 64		compatible = "regulator-fixed";
 65		regulator-name = "vsys_12v0";
 66		regulator-min-microvolt = <12000000>;
 67		regulator-max-microvolt = <12000000>;
 68		regulator-always-on;
 69		regulator-boot-on;
 70	};
 71
 72	vsys_5v0: fixedregulator-vsys5v0 {
 73		/* Output of Cntlr B of TPS43351-Q1 on dra76-evm */
 74		compatible = "regulator-fixed";
 75		regulator-name = "vsys_5v0";
 76		regulator-min-microvolt = <5000000>;
 77		regulator-max-microvolt = <5000000>;
 78		vin-supply = <&vsys_12v0>;
 79		regulator-always-on;
 80		regulator-boot-on;
 81	};
 82
 83	vio_3v6: fixedregulator-vio_3v6 {
 84		compatible = "regulator-fixed";
 85		regulator-name = "vio_3v6";
 86		regulator-min-microvolt = <3600000>;
 87		regulator-max-microvolt = <3600000>;
 88		vin-supply = <&vsys_5v0>;
 89		regulator-always-on;
 90		regulator-boot-on;
 91	};
 92
 93	vsys_3v3: fixedregulator-vsys3v3 {
 94		/* Output of Cntlr A of TPS43351-Q1 on dra76-evm */
 95		compatible = "regulator-fixed";
 96		regulator-name = "vsys_3v3";
 97		regulator-min-microvolt = <3300000>;
 98		regulator-max-microvolt = <3300000>;
 99		vin-supply = <&vsys_12v0>;
100		regulator-always-on;
101		regulator-boot-on;
102	};
103
104	vio_3v3: fixedregulator-vio_3v3 {
105		compatible = "regulator-fixed";
106		regulator-name = "vio_3v3";
107		regulator-min-microvolt = <3300000>;
108		regulator-max-microvolt = <3300000>;
109		vin-supply = <&vsys_3v3>;
110		regulator-always-on;
111		regulator-boot-on;
112	};
113
114	vio_3v3_sd: fixedregulator-sd {
115		compatible = "regulator-fixed";
116		regulator-name = "vio_3v3_sd";
117		regulator-min-microvolt = <3300000>;
118		regulator-max-microvolt = <3300000>;
119		vin-supply = <&vio_3v3>;
120		enable-active-high;
121		gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>;
122	};
123
124	vio_1v8: fixedregulator-vio_1v8 {
125		compatible = "regulator-fixed";
126		regulator-name = "vio_1v8";
127		regulator-min-microvolt = <1800000>;
128		regulator-max-microvolt = <1800000>;
129		vin-supply = <&smps5_reg>;
130	};
131
132	vmmcwl_fixed: fixedregulator-mmcwl {
133		compatible = "regulator-fixed";
134		regulator-name = "vmmcwl_fixed";
135		regulator-min-microvolt = <1800000>;
136		regulator-max-microvolt = <1800000>;
137		gpio = <&gpio5 8 0>;	/* gpio5_8 */
138		startup-delay-us = <70000>;
139		enable-active-high;
140	};
141
142	vtt_fixed: fixedregulator-vtt {
143		compatible = "regulator-fixed";
144		regulator-name = "vtt_fixed";
145		regulator-min-microvolt = <1350000>;
146		regulator-max-microvolt = <1350000>;
147		vin-supply = <&vsys_3v3>;
148		regulator-always-on;
149		regulator-boot-on;
150	};
151
152	aic_dvdd: fixedregulator-aic_dvdd {
153		/* TPS77018DBVT */
154		compatible = "regulator-fixed";
155		regulator-name = "aic_dvdd";
156		vin-supply = <&vio_3v3>;
157		regulator-min-microvolt = <1800000>;
158		regulator-max-microvolt = <1800000>;
159	};
160
161	clk_ov5640_fixed: clock {
162		compatible = "fixed-clock";
163		#clock-cells = <0>;
164		clock-frequency = <24000000>;
165	};
166
167	hdmi0: connector {
168		compatible = "hdmi-connector";
169		label = "hdmi";
170
171		type = "a";
172
173		port {
174			hdmi_connector_in: endpoint {
175				remote-endpoint = <&tpd12s015_out>;
176			};
177		};
178	};
179
180	tpd12s015: encoder {
181		compatible = "ti,tpd12s015";
182
183		gpios = <&gpio7 30 GPIO_ACTIVE_HIGH>,   /* gpio7_30, CT CP HPD */
184			<&gpio7 31 GPIO_ACTIVE_HIGH>,   /* gpio7_31, LS OE */
185			<&gpio7 12 GPIO_ACTIVE_HIGH>;   /* gpio7_12/sp1_cs2, HPD */
186
187		ports {
188			#address-cells = <1>;
189			#size-cells = <0>;
190
191			port@0 {
192				reg = <0>;
193
194				tpd12s015_in: endpoint {
195					remote-endpoint = <&hdmi_out>;
196				};
197			};
198
199			port@1 {
200				reg = <1>;
201
202				tpd12s015_out: endpoint {
203					remote-endpoint = <&hdmi_connector_in>;
204				};
205			};
206		};
207	};
208};
209
210&i2c1 {
211	status = "okay";
212	clock-frequency = <400000>;
213
214	tps65917: tps65917@58 {
215		compatible = "ti,tps65917";
216		reg = <0x58>;
217		ti,system-power-controller;
218		ti,palmas-override-powerhold;
219		interrupt-controller;
220		#interrupt-cells = <2>;
221
222		tps65917_pmic {
223			compatible = "ti,tps65917-pmic";
224
225			smps12-in-supply = <&vsys_3v3>;
226			smps3-in-supply = <&vsys_3v3>;
227			smps4-in-supply = <&vsys_3v3>;
228			smps5-in-supply = <&vsys_3v3>;
229			ldo1-in-supply = <&vsys_3v3>;
230			ldo2-in-supply = <&vsys_3v3>;
231			ldo3-in-supply = <&vsys_5v0>;
232			ldo4-in-supply = <&vsys_5v0>;
233			ldo5-in-supply = <&vsys_3v3>;
234
235			tps65917_regulators: regulators {
236				smps12_reg: smps12 {
237					/* VDD_DSPEVE */
238					regulator-name = "smps12";
239					regulator-min-microvolt = <850000>;
240					regulator-max-microvolt = <1250000>;
241					regulator-always-on;
242					regulator-boot-on;
243				};
244
245				smps3_reg: smps3 {
246					/* VDD_CORE */
247					regulator-name = "smps3";
248					regulator-min-microvolt = <850000>;
249					regulator-max-microvolt = <1250000>;
250					regulator-boot-on;
251					regulator-always-on;
252				};
253
254				smps4_reg: smps4 {
255					/* VDD_IVA */
256					regulator-name = "smps4";
257					regulator-min-microvolt = <850000>;
258					regulator-max-microvolt = <1250000>;
259					regulator-always-on;
260					regulator-boot-on;
261				};
262
263				smps5_reg: smps5 {
264					/* VDDS1V8 */
265					regulator-name = "smps5";
266					regulator-min-microvolt = <1800000>;
267					regulator-max-microvolt = <1800000>;
268					regulator-boot-on;
269					regulator-always-on;
270				};
271
272				ldo1_reg: ldo1 {
273					/* LDO1_OUT --> VDA_PHY1_1V8  */
274					regulator-name = "ldo1";
275					regulator-min-microvolt = <1800000>;
276					regulator-max-microvolt = <1800000>;
277					regulator-always-on;
278					regulator-boot-on;
279					regulator-allow-bypass;
280				};
281
282				ldo2_reg: ldo2 {
283					/* LDO2_OUT --> VDA_PHY2_1V8 */
284					regulator-name = "ldo2";
285					regulator-min-microvolt = <1800000>;
286					regulator-max-microvolt = <1800000>;
287					regulator-allow-bypass;
288					regulator-always-on;
289				};
290
291				ldo3_reg: ldo3 {
292					/* VDA_USB_3V3 */
293					regulator-name = "ldo3";
294					regulator-min-microvolt = <3300000>;
295					regulator-max-microvolt = <3300000>;
296					regulator-boot-on;
297					regulator-always-on;
298				};
299
300				ldo5_reg: ldo5 {
301					/* VDDA_1V8_PLL */
302					regulator-name = "ldo5";
303					regulator-min-microvolt = <1800000>;
304					regulator-max-microvolt = <1800000>;
305					regulator-always-on;
306					regulator-boot-on;
307				};
308
309				ldo4_reg: ldo4 {
310					/* VDD_SDIO_DV */
311					regulator-name = "ldo4";
312					regulator-min-microvolt = <1800000>;
313					regulator-max-microvolt = <3300000>;
314					regulator-boot-on;
315					regulator-always-on;
316				};
317			};
318		};
319
320		tps65917_power_button {
321			compatible = "ti,palmas-pwrbutton";
322			interrupt-parent = <&tps65917>;
323			interrupts = <1 IRQ_TYPE_NONE>;
324			wakeup-source;
325			ti,palmas-long-press-seconds = <6>;
326		};
327	};
328
329	lp87565: lp87565@60 {
330		compatible = "ti,lp87565-q1";
331		reg = <0x60>;
332
333		buck10-in-supply =<&vsys_3v3>;
334		buck23-in-supply =<&vsys_3v3>;
335
336		regulators: regulators {
337			buck10_reg: buck10 {
338				/*VDD_MPU*/
339				regulator-name = "buck10";
340				regulator-min-microvolt = <850000>;
341				regulator-max-microvolt = <1250000>;
342				regulator-always-on;
343				regulator-boot-on;
344			};
345
346			buck23_reg: buck23 {
347				/* VDD_GPU*/
348				regulator-name = "buck23";
349				regulator-min-microvolt = <850000>;
350				regulator-max-microvolt = <1250000>;
351				regulator-boot-on;
352				regulator-always-on;
353			};
354		};
355	};
356
357	pcf_lcd: pcf8757@20 {
358		compatible = "ti,pcf8575", "nxp,pcf8575";
359		reg = <0x20>;
360		gpio-controller;
361		#gpio-cells = <2>;
362		interrupt-controller;
363		#interrupt-cells = <2>;
364		interrupt-parent = <&gpio1>;
365		interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
366	};
367
368	pcf_gpio_21: pcf8757@21 {
369		compatible = "ti,pcf8575", "nxp,pcf8575";
370		reg = <0x21>;
371		gpio-controller;
372		#gpio-cells = <2>;
373		interrupt-parent = <&gpio1>;
374		interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
375		interrupt-controller;
376		#interrupt-cells = <2>;
377	};
378
379	pcf_hdmi: pcf8575@26 {
380		compatible = "ti,pcf8575", "nxp,pcf8575";
381		reg = <0x26>;
382		gpio-controller;
383		#gpio-cells = <2>;
384		p1 {
385			/* vin6_sel_s0: high: VIN6, low: audio */
386			gpio-hog;
387			gpios = <1 GPIO_ACTIVE_HIGH>;
388			output-low;
389			line-name = "vin6_sel_s0";
390		};
391	};
392
393	tlv320aic3106: tlv320aic3106@19 {
394		#sound-dai-cells = <0>;
395		compatible = "ti,tlv320aic3106";
396		reg = <0x19>;
397		adc-settle-ms = <40>;
398		ai3x-micbias-vg = <1>;		/* 2.0V */
399		status = "okay";
400
401		/* Regulators */
402		AVDD-supply = <&vio_3v3>;
403		IOVDD-supply = <&vio_3v3>;
404		DRVDD-supply = <&vio_3v3>;
405		DVDD-supply = <&aic_dvdd>;
406	};
407};
408
409&i2c5 {
410	status = "okay";
411	clock-frequency = <400000>;
412
413	ov5640@3c {
414		compatible = "ovti,ov5640";
415		reg = <0x3c>;
416
417		clocks = <&clk_ov5640_fixed>;
418		clock-names = "xclk";
419
420		port {
421			csi2_cam0: endpoint {
422				remote-endpoint = <&csi2_phy0>;
423				clock-lanes = <0>;
424				data-lanes = <1 2>;
425			};
426		};
427	};
428};
429
430&cpu0 {
431	vdd-supply = <&buck10_reg>;
432};
433
434&mmc1 {
435	status = "okay";
436	vmmc-supply = <&vio_3v3_sd>;
437	vqmmc-supply = <&ldo4_reg>;
438	bus-width = <4>;
439	/*
440	 * SDCD signal is not being used here - using the fact that GPIO mode
441	 * is always hardwired.
442	 */
443	cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>;
444	pinctrl-names = "default", "hs";
445	pinctrl-0 = <&mmc1_pins_default>;
446	pinctrl-1 = <&mmc1_pins_hs>;
447};
448
449&mmc2 {
450	status = "okay";
451	vmmc-supply = <&vio_1v8>;
452	vqmmc-supply = <&vio_1v8>;
453	bus-width = <8>;
454	non-removable;
455	pinctrl-names = "default", "hs", "ddr_1_8v", "hs200_1_8v";
456	pinctrl-0 = <&mmc2_pins_default>;
457	pinctrl-1 = <&mmc2_pins_default>;
458	pinctrl-2 = <&mmc2_pins_default>;
459	pinctrl-3 = <&mmc2_pins_hs200 &mmc2_iodelay_hs200_conf>;
460};
461
462&mmc4 {
463	status = "okay";
464	vmmc-supply = <&vio_3v6>;
465	vqmmc-supply = <&vmmcwl_fixed>;
466	pinctrl-names = "default", "hs", "sdr12", "sdr25";
467	pinctrl-0 = <&mmc4_pins_hs &mmc4_iodelay_default_conf>;
468	pinctrl-1 = <&mmc4_pins_hs &mmc4_iodelay_manual1_conf>;
469	pinctrl-2 = <&mmc4_pins_hs &mmc4_iodelay_manual1_conf>;
470	pinctrl-3 = <&mmc4_pins_hs &mmc4_iodelay_manual1_conf>;
471};
472
473/* No RTC on this device */
474&rtc {
475	status = "disabled";
476};
477
478&mac {
479	status = "okay";
480
481	dual_emac;
482};
483
484&cpsw_emac0 {
485	phy-handle = <&dp83867_0>;
486	phy-mode = "rgmii-id";
487	dual_emac_res_vlan = <1>;
488};
489
490&cpsw_emac1 {
491	phy-handle = <&dp83867_1>;
492	phy-mode = "rgmii-id";
493	dual_emac_res_vlan = <2>;
494};
495
496&davinci_mdio {
497	dp83867_0: ethernet-phy@2 {
498		reg = <2>;
499		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
500		ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
501		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
502		ti,min-output-impedance;
503		ti,dp83867-rxctrl-strap-quirk;
504	};
505
506	dp83867_1: ethernet-phy@3 {
507		reg = <3>;
508		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
509		ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
510		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
511		ti,min-output-impedance;
512		ti,dp83867-rxctrl-strap-quirk;
513	};
514};
515
516&usb2_phy1 {
517	phy-supply = <&ldo3_reg>;
518};
519
520&usb2_phy2 {
521	phy-supply = <&ldo3_reg>;
522};
523
524&dss {
525	status = "ok";
526	vdda_video-supply = <&ldo5_reg>;
527};
528
529&hdmi {
530	status = "ok";
531
532	vdda-supply = <&ldo1_reg>;
533
534	port {
535		hdmi_out: endpoint {
536			remote-endpoint = <&tpd12s015_in>;
537		};
538	};
539};
540
541&qspi {
542	spi-max-frequency = <96000000>;
543	m25p80@0 {
544		spi-max-frequency = <96000000>;
545	};
546};
547
548&pcie2_phy {
549	status = "okay";
550};
551
552&pcie1_rc {
553	num-lanes = <2>;
554	phys = <&pcie1_phy>, <&pcie2_phy>;
555	phy-names = "pcie-phy0", "pcie-phy1";
556};
557
558&pcie1_ep {
559	num-lanes = <2>;
560	phys = <&pcie1_phy>, <&pcie2_phy>;
561	phy-names = "pcie-phy0", "pcie-phy1";
562};
563
564&extcon_usb1 {
565	vbus-gpio = <&pcf_lcd 14 GPIO_ACTIVE_HIGH>;
566};
567
568&extcon_usb2 {
569	vbus-gpio = <&pcf_lcd 15 GPIO_ACTIVE_HIGH>;
570};
571
572&m_can0 {
573	can-transceiver {
574		max-bitrate = <5000000>;
575	};
576};
577
578&csi2_0 {
579	csi2_phy0: endpoint {
580		remote-endpoint = <&csi2_cam0>;
581		clock-lanes = <0>;
582		data-lanes = <1 2>;
583	};
584};
585
586&ipu2 {
587	status = "okay";
588	memory-region = <&ipu2_cma_pool>;
589};
590
591&ipu1 {
592	status = "okay";
593	memory-region = <&ipu1_cma_pool>;
594};
595
596&dsp1 {
597	status = "okay";
598	memory-region = <&dsp1_cma_pool>;
599};
600
601&dsp2 {
602	status = "okay";
603	memory-region = <&dsp2_cma_pool>;
604};