1*332dddc6SSchuyler Patton/*
2*332dddc6SSchuyler Patton * Copyright (C) 2015-2016 Texas Instruments Incorporated - http://www.ti.com/
3*332dddc6SSchuyler Patton *
4*332dddc6SSchuyler Patton * This program is free software; you can redistribute it and/or modify
5*332dddc6SSchuyler Patton * it under the terms of the GNU General Public License version 2 as
6*332dddc6SSchuyler Patton * published by the Free Software Foundation.
7*332dddc6SSchuyler Patton */
8*332dddc6SSchuyler Patton
9*332dddc6SSchuyler Patton/ {
10*332dddc6SSchuyler Patton	aliases {
11*332dddc6SSchuyler Patton		rtc0 = &tps659038_rtc;
12*332dddc6SSchuyler Patton		rtc1 = &rtc;
13*332dddc6SSchuyler Patton	};
14*332dddc6SSchuyler Patton
15*332dddc6SSchuyler Patton	vmain: fixedregulator-vmain {
16*332dddc6SSchuyler Patton		compatible = "regulator-fixed";
17*332dddc6SSchuyler Patton		regulator-name = "VMAIN";
18*332dddc6SSchuyler Patton		regulator-min-microvolt = <5000000>;
19*332dddc6SSchuyler Patton		regulator-max-microvolt = <5000000>;
20*332dddc6SSchuyler Patton		regulator-always-on;
21*332dddc6SSchuyler Patton		regulator-boot-on;
22*332dddc6SSchuyler Patton	};
23*332dddc6SSchuyler Patton
24*332dddc6SSchuyler Patton	v3_3d: fixedregulator-v3_3d {
25*332dddc6SSchuyler Patton		compatible = "regulator-fixed";
26*332dddc6SSchuyler Patton		regulator-name = "V3_3D";
27*332dddc6SSchuyler Patton		vin-supply = <&smps9_reg>;
28*332dddc6SSchuyler Patton		regulator-min-microvolt = <3300000>;
29*332dddc6SSchuyler Patton		regulator-max-microvolt = <3300000>;
30*332dddc6SSchuyler Patton		regulator-always-on;
31*332dddc6SSchuyler Patton		regulator-boot-on;
32*332dddc6SSchuyler Patton	};
33*332dddc6SSchuyler Patton
34*332dddc6SSchuyler Patton	vtt_fixed: fixedregulator-vtt {
35*332dddc6SSchuyler Patton		/* TPS51200 */
36*332dddc6SSchuyler Patton		compatible = "regulator-fixed";
37*332dddc6SSchuyler Patton		regulator-name = "vtt_fixed";
38*332dddc6SSchuyler Patton		vin-supply = <&v3_3d>;
39*332dddc6SSchuyler Patton		regulator-min-microvolt = <3300000>;
40*332dddc6SSchuyler Patton		regulator-max-microvolt = <3300000>;
41*332dddc6SSchuyler Patton		regulator-always-on;
42*332dddc6SSchuyler Patton		regulator-boot-on;
43*332dddc6SSchuyler Patton	};
44*332dddc6SSchuyler Patton};
45*332dddc6SSchuyler Patton
46*332dddc6SSchuyler Patton&i2c1 {
47*332dddc6SSchuyler Patton	status = "okay";
48*332dddc6SSchuyler Patton	clock-frequency = <400000>;
49*332dddc6SSchuyler Patton
50*332dddc6SSchuyler Patton	tps659038: tps659038@58 {
51*332dddc6SSchuyler Patton		compatible = "ti,tps659038";
52*332dddc6SSchuyler Patton		reg = <0x58>;
53*332dddc6SSchuyler Patton		interrupts-extended = <&gpio6 16 IRQ_TYPE_LEVEL_HIGH
54*332dddc6SSchuyler Patton			       &dra7_pmx_core 0x418>;
55*332dddc6SSchuyler Patton		#interrupt-cells = <2>;
56*332dddc6SSchuyler Patton		interrupt-controller;
57*332dddc6SSchuyler Patton		ti,system-power-controller;
58*332dddc6SSchuyler Patton
59*332dddc6SSchuyler Patton		tps659038_pmic {
60*332dddc6SSchuyler Patton			compatible = "ti,tps659038-pmic";
61*332dddc6SSchuyler Patton			regulators {
62*332dddc6SSchuyler Patton				smps12_reg: smps12 {
63*332dddc6SSchuyler Patton					/* VDD_MPU */
64*332dddc6SSchuyler Patton					vin-supply = <&vmain>;
65*332dddc6SSchuyler Patton					regulator-name = "smps12";
66*332dddc6SSchuyler Patton					regulator-min-microvolt = <850000>;
67*332dddc6SSchuyler Patton					regulator-max-microvolt = <1250000>;
68*332dddc6SSchuyler Patton					regulator-always-on;
69*332dddc6SSchuyler Patton					regulator-boot-on;
70*332dddc6SSchuyler Patton				};
71*332dddc6SSchuyler Patton
72*332dddc6SSchuyler Patton				smps3_reg: smps3 {
73*332dddc6SSchuyler Patton					/* VDD_DDR EMIF1 EMIF2 */
74*332dddc6SSchuyler Patton					vin-supply = <&vmain>;
75*332dddc6SSchuyler Patton					regulator-name = "smps3";
76*332dddc6SSchuyler Patton					regulator-min-microvolt = <1350000>;
77*332dddc6SSchuyler Patton					regulator-max-microvolt = <1350000>;
78*332dddc6SSchuyler Patton					regulator-always-on;
79*332dddc6SSchuyler Patton					regulator-boot-on;
80*332dddc6SSchuyler Patton				};
81*332dddc6SSchuyler Patton
82*332dddc6SSchuyler Patton				smps45_reg: smps45 {
83*332dddc6SSchuyler Patton					/* VDD_DSPEVE on AM572 */
84*332dddc6SSchuyler Patton					/* VDD_IVA + VDD_DSP on AM571 */
85*332dddc6SSchuyler Patton					vin-supply = <&vmain>;
86*332dddc6SSchuyler Patton					regulator-name = "smps45";
87*332dddc6SSchuyler Patton					regulator-min-microvolt = <850000>;
88*332dddc6SSchuyler Patton					regulator-max-microvolt = <1250000>;
89*332dddc6SSchuyler Patton					regulator-always-on;
90*332dddc6SSchuyler Patton					regulator-boot-on;
91*332dddc6SSchuyler Patton				};
92*332dddc6SSchuyler Patton
93*332dddc6SSchuyler Patton				smps6_reg: smps6 {
94*332dddc6SSchuyler Patton					/* VDD_GPU */
95*332dddc6SSchuyler Patton					vin-supply = <&vmain>;
96*332dddc6SSchuyler Patton					regulator-name = "smps6";
97*332dddc6SSchuyler Patton					regulator-min-microvolt = <850000>;
98*332dddc6SSchuyler Patton					regulator-max-microvolt = <1250000>;
99*332dddc6SSchuyler Patton					regulator-always-on;
100*332dddc6SSchuyler Patton					regulator-boot-on;
101*332dddc6SSchuyler Patton				};
102*332dddc6SSchuyler Patton
103*332dddc6SSchuyler Patton				smps7_reg: smps7 {
104*332dddc6SSchuyler Patton					/* VDD_CORE */
105*332dddc6SSchuyler Patton					vin-supply = <&vmain>;
106*332dddc6SSchuyler Patton					regulator-name = "smps7";
107*332dddc6SSchuyler Patton					regulator-min-microvolt = <850000>;
108*332dddc6SSchuyler Patton					regulator-max-microvolt = <1150000>;
109*332dddc6SSchuyler Patton					regulator-always-on;
110*332dddc6SSchuyler Patton					regulator-boot-on;
111*332dddc6SSchuyler Patton				};
112*332dddc6SSchuyler Patton
113*332dddc6SSchuyler Patton				smps8_reg: smps8 {
114*332dddc6SSchuyler Patton					/* 5728 - VDD_IVAHD */
115*332dddc6SSchuyler Patton					/* 5718 - N.C. test point */
116*332dddc6SSchuyler Patton					vin-supply = <&vmain>;
117*332dddc6SSchuyler Patton					regulator-name = "smps8";
118*332dddc6SSchuyler Patton				};
119*332dddc6SSchuyler Patton
120*332dddc6SSchuyler Patton				smps9_reg: smps9 {
121*332dddc6SSchuyler Patton					/* VDD_3_3D */
122*332dddc6SSchuyler Patton					vin-supply = <&vmain>;
123*332dddc6SSchuyler Patton					regulator-name = "smps9";
124*332dddc6SSchuyler Patton					regulator-min-microvolt = <3300000>;
125*332dddc6SSchuyler Patton					regulator-max-microvolt = <3300000>;
126*332dddc6SSchuyler Patton					regulator-always-on;
127*332dddc6SSchuyler Patton					regulator-boot-on;
128*332dddc6SSchuyler Patton				};
129*332dddc6SSchuyler Patton
130*332dddc6SSchuyler Patton				ldo1_reg: ldo1 {
131*332dddc6SSchuyler Patton					/* VDDSHV8 - VSDMMC  */
132*332dddc6SSchuyler Patton					/* NOTE: on rev 1.3a, data supply */
133*332dddc6SSchuyler Patton					vin-supply = <&vmain>;
134*332dddc6SSchuyler Patton					regulator-name = "ldo1";
135*332dddc6SSchuyler Patton					regulator-min-microvolt = <1800000>;
136*332dddc6SSchuyler Patton					regulator-max-microvolt = <3300000>;
137*332dddc6SSchuyler Patton					regulator-boot-on;
138*332dddc6SSchuyler Patton					regulator-always-on;
139*332dddc6SSchuyler Patton				};
140*332dddc6SSchuyler Patton
141*332dddc6SSchuyler Patton				ldo2_reg: ldo2 {
142*332dddc6SSchuyler Patton					/* VDDSH18V */
143*332dddc6SSchuyler Patton					vin-supply = <&vmain>;
144*332dddc6SSchuyler Patton					regulator-name = "ldo2";
145*332dddc6SSchuyler Patton					regulator-min-microvolt = <1800000>;
146*332dddc6SSchuyler Patton					regulator-max-microvolt = <1800000>;
147*332dddc6SSchuyler Patton					regulator-always-on;
148*332dddc6SSchuyler Patton					regulator-boot-on;
149*332dddc6SSchuyler Patton				};
150*332dddc6SSchuyler Patton
151*332dddc6SSchuyler Patton				ldo3_reg: ldo3 {
152*332dddc6SSchuyler Patton					/* R1.3a 572x V1_8PHY_LDO3: USB, SATA */
153*332dddc6SSchuyler Patton					vin-supply = <&vmain>;
154*332dddc6SSchuyler Patton					regulator-name = "ldo3";
155*332dddc6SSchuyler Patton					regulator-min-microvolt = <1800000>;
156*332dddc6SSchuyler Patton					regulator-max-microvolt = <1800000>;
157*332dddc6SSchuyler Patton					regulator-always-on;
158*332dddc6SSchuyler Patton					regulator-boot-on;
159*332dddc6SSchuyler Patton				};
160*332dddc6SSchuyler Patton
161*332dddc6SSchuyler Patton				ldo4_reg: ldo4 {
162*332dddc6SSchuyler Patton					/* R1.3a 572x V1_8PHY_LDO4: PCIE, HDMI*/
163*332dddc6SSchuyler Patton					vin-supply = <&vmain>;
164*332dddc6SSchuyler Patton					regulator-name = "ldo4";
165*332dddc6SSchuyler Patton					regulator-min-microvolt = <1800000>;
166*332dddc6SSchuyler Patton					regulator-max-microvolt = <1800000>;
167*332dddc6SSchuyler Patton					regulator-always-on;
168*332dddc6SSchuyler Patton					regulator-boot-on;
169*332dddc6SSchuyler Patton				};
170*332dddc6SSchuyler Patton
171*332dddc6SSchuyler Patton				/* LDO5-8 unused */
172*332dddc6SSchuyler Patton
173*332dddc6SSchuyler Patton				ldo9_reg: ldo9 {
174*332dddc6SSchuyler Patton					/* VDD_RTC  */
175*332dddc6SSchuyler Patton					vin-supply = <&vmain>;
176*332dddc6SSchuyler Patton					regulator-name = "ldo9";
177*332dddc6SSchuyler Patton					regulator-min-microvolt = <840000>;
178*332dddc6SSchuyler Patton					regulator-max-microvolt = <1160000>;
179*332dddc6SSchuyler Patton					regulator-always-on;
180*332dddc6SSchuyler Patton					regulator-boot-on;
181*332dddc6SSchuyler Patton				};
182*332dddc6SSchuyler Patton
183*332dddc6SSchuyler Patton				ldoln_reg: ldoln {
184*332dddc6SSchuyler Patton					/* VDDA_1V8_PLL */
185*332dddc6SSchuyler Patton					vin-supply = <&vmain>;
186*332dddc6SSchuyler Patton					regulator-name = "ldoln";
187*332dddc6SSchuyler Patton					regulator-min-microvolt = <1800000>;
188*332dddc6SSchuyler Patton					regulator-max-microvolt = <1800000>;
189*332dddc6SSchuyler Patton					regulator-always-on;
190*332dddc6SSchuyler Patton					regulator-boot-on;
191*332dddc6SSchuyler Patton				};
192*332dddc6SSchuyler Patton
193*332dddc6SSchuyler Patton				ldousb_reg: ldousb {
194*332dddc6SSchuyler Patton					/* VDDA_3V_USB: VDDA_USBHS33 */
195*332dddc6SSchuyler Patton					vin-supply = <&vmain>;
196*332dddc6SSchuyler Patton					regulator-name = "ldousb";
197*332dddc6SSchuyler Patton					regulator-min-microvolt = <3300000>;
198*332dddc6SSchuyler Patton					regulator-max-microvolt = <3300000>;
199*332dddc6SSchuyler Patton					regulator-always-on;
200*332dddc6SSchuyler Patton					regulator-boot-on;
201*332dddc6SSchuyler Patton				};
202*332dddc6SSchuyler Patton
203*332dddc6SSchuyler Patton				ldortc_reg: ldortc {
204*332dddc6SSchuyler Patton					/* VDDA_RTC  */
205*332dddc6SSchuyler Patton					vin-supply = <&vmain>;
206*332dddc6SSchuyler Patton					regulator-name = "ldortc";
207*332dddc6SSchuyler Patton					regulator-min-microvolt = <1800000>;
208*332dddc6SSchuyler Patton					regulator-max-microvolt = <1800000>;
209*332dddc6SSchuyler Patton					regulator-always-on;
210*332dddc6SSchuyler Patton					regulator-boot-on;
211*332dddc6SSchuyler Patton				};
212*332dddc6SSchuyler Patton
213*332dddc6SSchuyler Patton				regen1: regen1 {
214*332dddc6SSchuyler Patton					/* VDD_3V3_ON */
215*332dddc6SSchuyler Patton					regulator-name = "regen1";
216*332dddc6SSchuyler Patton					regulator-boot-on;
217*332dddc6SSchuyler Patton					regulator-always-on;
218*332dddc6SSchuyler Patton				};
219*332dddc6SSchuyler Patton
220*332dddc6SSchuyler Patton				regen2: regen2 {
221*332dddc6SSchuyler Patton					/* Needed for PMIC internal resource */
222*332dddc6SSchuyler Patton					regulator-name = "regen2";
223*332dddc6SSchuyler Patton					regulator-boot-on;
224*332dddc6SSchuyler Patton					regulator-always-on;
225*332dddc6SSchuyler Patton				};
226*332dddc6SSchuyler Patton			};
227*332dddc6SSchuyler Patton		};
228*332dddc6SSchuyler Patton
229*332dddc6SSchuyler Patton		tps659038_rtc: tps659038_rtc {
230*332dddc6SSchuyler Patton			compatible = "ti,palmas-rtc";
231*332dddc6SSchuyler Patton			interrupt-parent = <&tps659038>;
232*332dddc6SSchuyler Patton			interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
233*332dddc6SSchuyler Patton			wakeup-source;
234*332dddc6SSchuyler Patton		};
235*332dddc6SSchuyler Patton
236*332dddc6SSchuyler Patton		tps659038_pwr_button: tps659038_pwr_button {
237*332dddc6SSchuyler Patton			compatible = "ti,palmas-pwrbutton";
238*332dddc6SSchuyler Patton			interrupt-parent = <&tps659038>;
239*332dddc6SSchuyler Patton			interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
240*332dddc6SSchuyler Patton			wakeup-source;
241*332dddc6SSchuyler Patton			ti,palmas-long-press-seconds = <12>;
242*332dddc6SSchuyler Patton		};
243*332dddc6SSchuyler Patton
244*332dddc6SSchuyler Patton		tps659038_gpio: tps659038_gpio {
245*332dddc6SSchuyler Patton			compatible = "ti,palmas-gpio";
246*332dddc6SSchuyler Patton			gpio-controller;
247*332dddc6SSchuyler Patton			#gpio-cells = <2>;
248*332dddc6SSchuyler Patton		};
249*332dddc6SSchuyler Patton	};
250*332dddc6SSchuyler Patton};
251*332dddc6SSchuyler Patton
252*332dddc6SSchuyler Patton&uart3 {
253*332dddc6SSchuyler Patton	status = "okay";
254*332dddc6SSchuyler Patton	interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH
255*332dddc6SSchuyler Patton			       &dra7_pmx_core 0x248>;
256*332dddc6SSchuyler Patton};
257*332dddc6SSchuyler Patton
258*332dddc6SSchuyler Patton&rtc {
259*332dddc6SSchuyler Patton	status = "okay";
260*332dddc6SSchuyler Patton	ext-clk-src;
261*332dddc6SSchuyler Patton};
262*332dddc6SSchuyler Patton
263*332dddc6SSchuyler Patton&mac {
264*332dddc6SSchuyler Patton	status = "okay";
265*332dddc6SSchuyler Patton	dual_emac;
266*332dddc6SSchuyler Patton};
267*332dddc6SSchuyler Patton
268*332dddc6SSchuyler Patton&cpsw_emac0 {
269*332dddc6SSchuyler Patton	phy_id = <&davinci_mdio>, <0>;
270*332dddc6SSchuyler Patton	phy-mode = "rgmii";
271*332dddc6SSchuyler Patton	dual_emac_res_vlan = <1>;
272*332dddc6SSchuyler Patton};
273*332dddc6SSchuyler Patton
274*332dddc6SSchuyler Patton&cpsw_emac1 {
275*332dddc6SSchuyler Patton	phy_id = <&davinci_mdio>, <1>;
276*332dddc6SSchuyler Patton	phy-mode = "rgmii";
277*332dddc6SSchuyler Patton	dual_emac_res_vlan = <2>;
278*332dddc6SSchuyler Patton};
279*332dddc6SSchuyler Patton
280*332dddc6SSchuyler Patton&usb2_phy1 {
281*332dddc6SSchuyler Patton	phy-supply = <&ldousb_reg>;
282*332dddc6SSchuyler Patton};
283*332dddc6SSchuyler Patton
284*332dddc6SSchuyler Patton&usb2_phy2 {
285*332dddc6SSchuyler Patton	phy-supply = <&ldousb_reg>;
286*332dddc6SSchuyler Patton};
287*332dddc6SSchuyler Patton
288*332dddc6SSchuyler Patton&usb1 {
289*332dddc6SSchuyler Patton	dr_mode = "host";
290*332dddc6SSchuyler Patton};
291*332dddc6SSchuyler Patton
292*332dddc6SSchuyler Patton&usb2 {
293*332dddc6SSchuyler Patton	dr_mode = "otg";
294*332dddc6SSchuyler Patton};
295*332dddc6SSchuyler Patton
296*332dddc6SSchuyler Patton&mmc2 {
297*332dddc6SSchuyler Patton	status = "okay";
298*332dddc6SSchuyler Patton	vmmc-supply = <&v3_3d>;
299*332dddc6SSchuyler Patton	bus-width = <8>;
300*332dddc6SSchuyler Patton	ti,non-removable;
301*332dddc6SSchuyler Patton	max-frequency = <96000000>;
302*332dddc6SSchuyler Patton};
303