xref: /linux/scripts/dtc/include-prefixes/arm/ti/omap/am335x-pepper.dts (revision 724ba6751532055db75992fc6ae21c3e322e94a7)
1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-only
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Copyright (C) 2014 Gumstix, Inc. - https://www.gumstix.com/
4*724ba675SRob Herring */
5*724ba675SRob Herring/dts-v1/;
6*724ba675SRob Herring
7*724ba675SRob Herring#include <dt-bindings/input/input.h>
8*724ba675SRob Herring#include "am33xx.dtsi"
9*724ba675SRob Herring
10*724ba675SRob Herring/ {
11*724ba675SRob Herring	model = "Gumstix Pepper";
12*724ba675SRob Herring	compatible = "gumstix,am335x-pepper", "ti,am33xx";
13*724ba675SRob Herring
14*724ba675SRob Herring	cpus {
15*724ba675SRob Herring		cpu@0 {
16*724ba675SRob Herring			cpu0-supply = <&dcdc3_reg>;
17*724ba675SRob Herring		};
18*724ba675SRob Herring	};
19*724ba675SRob Herring
20*724ba675SRob Herring	memory@80000000 {
21*724ba675SRob Herring		device_type = "memory";
22*724ba675SRob Herring		reg = <0x80000000 0x20000000>; /* 512 MB */
23*724ba675SRob Herring	};
24*724ba675SRob Herring
25*724ba675SRob Herring	buttons: user_buttons {
26*724ba675SRob Herring		compatible = "gpio-keys";
27*724ba675SRob Herring	};
28*724ba675SRob Herring
29*724ba675SRob Herring	leds: user-leds-pins {
30*724ba675SRob Herring		compatible = "gpio-leds";
31*724ba675SRob Herring	};
32*724ba675SRob Herring
33*724ba675SRob Herring	panel: lcd_panel {
34*724ba675SRob Herring		compatible = "ti,tilcdc,panel";
35*724ba675SRob Herring	};
36*724ba675SRob Herring
37*724ba675SRob Herring	sound: sound_iface {
38*724ba675SRob Herring		compatible = "ti,da830-evm-audio";
39*724ba675SRob Herring	};
40*724ba675SRob Herring
41*724ba675SRob Herring	vbat: fixedregulator0 {
42*724ba675SRob Herring		compatible = "regulator-fixed";
43*724ba675SRob Herring	};
44*724ba675SRob Herring
45*724ba675SRob Herring	v3v3c_reg: fixedregulator1 {
46*724ba675SRob Herring		compatible = "regulator-fixed";
47*724ba675SRob Herring	};
48*724ba675SRob Herring
49*724ba675SRob Herring	vdd5_reg: fixedregulator2 {
50*724ba675SRob Herring		compatible = "regulator-fixed";
51*724ba675SRob Herring	};
52*724ba675SRob Herring};
53*724ba675SRob Herring
54*724ba675SRob Herring/* I2C Busses */
55*724ba675SRob Herring&i2c0 {
56*724ba675SRob Herring	status = "okay";
57*724ba675SRob Herring	pinctrl-names = "default";
58*724ba675SRob Herring	pinctrl-0 = <&i2c0_pins>;
59*724ba675SRob Herring
60*724ba675SRob Herring	clock-frequency = <400000>;
61*724ba675SRob Herring
62*724ba675SRob Herring	tps: tps@24 {
63*724ba675SRob Herring		reg = <0x24>;
64*724ba675SRob Herring	};
65*724ba675SRob Herring
66*724ba675SRob Herring	eeprom: eeprom@50 {
67*724ba675SRob Herring		compatible = "atmel,24c256";
68*724ba675SRob Herring		reg = <0x50>;
69*724ba675SRob Herring	};
70*724ba675SRob Herring
71*724ba675SRob Herring	audio_codec: tlv320aic3106@1b {
72*724ba675SRob Herring		compatible = "ti,tlv320aic3106";
73*724ba675SRob Herring		reg = <0x1b>;
74*724ba675SRob Herring		ai3x-micbias-vg = <0x2>;
75*724ba675SRob Herring	};
76*724ba675SRob Herring
77*724ba675SRob Herring	accel: lis331dlh@1d {
78*724ba675SRob Herring		compatible = "st,lis3lv02d";
79*724ba675SRob Herring		reg = <0x1d>;
80*724ba675SRob Herring	};
81*724ba675SRob Herring};
82*724ba675SRob Herring
83*724ba675SRob Herring&i2c1 {
84*724ba675SRob Herring	status = "okay";
85*724ba675SRob Herring	pinctrl-names = "default";
86*724ba675SRob Herring	pinctrl-0 = <&i2c1_pins>;
87*724ba675SRob Herring	clock-frequency = <400000>;
88*724ba675SRob Herring};
89*724ba675SRob Herring
90*724ba675SRob Herring&am33xx_pinmux {
91*724ba675SRob Herring	i2c0_pins: i2c0-pins {
92*724ba675SRob Herring		pinctrl-single,pins = <
93*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_I2C0_SDA, PIN_INPUT_PULLUP, MUX_MODE0)
94*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_I2C0_SCL, PIN_INPUT_PULLUP, MUX_MODE0)
95*724ba675SRob Herring		>;
96*724ba675SRob Herring	};
97*724ba675SRob Herring	i2c1_pins: i2c1-pins {
98*724ba675SRob Herring		pinctrl-single,pins = <
99*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_CRS, PIN_INPUT_PULLUP, MUX_MODE3)	/* mii1_crs,i2c1_sda */
100*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_RX_ER, PIN_INPUT_PULLUP, MUX_MODE3)	/* mii1_rxerr,i2c1_scl */
101*724ba675SRob Herring		>;
102*724ba675SRob Herring	};
103*724ba675SRob Herring};
104*724ba675SRob Herring
105*724ba675SRob Herring/* Accelerometer */
106*724ba675SRob Herring&accel {
107*724ba675SRob Herring	pinctrl-names = "default";
108*724ba675SRob Herring	pinctrl-0 = <&accel_pins>;
109*724ba675SRob Herring
110*724ba675SRob Herring	Vdd-supply = <&ldo3_reg>;
111*724ba675SRob Herring	Vdd_IO-supply = <&ldo3_reg>;
112*724ba675SRob Herring	st,irq1-click;
113*724ba675SRob Herring	st,wakeup-x-lo;
114*724ba675SRob Herring	st,wakeup-x-hi;
115*724ba675SRob Herring	st,wakeup-y-lo;
116*724ba675SRob Herring	st,wakeup-y-hi;
117*724ba675SRob Herring	st,wakeup-z-lo;
118*724ba675SRob Herring	st,wakeup-z-hi;
119*724ba675SRob Herring	st,min-limit-x = <92>;
120*724ba675SRob Herring	st,max-limit-x = <14>;
121*724ba675SRob Herring	st,min-limit-y = <14>;
122*724ba675SRob Herring	st,max-limit-y = <92>;
123*724ba675SRob Herring	st,min-limit-z = <92>;
124*724ba675SRob Herring	st,max-limit-z = <14>;
125*724ba675SRob Herring};
126*724ba675SRob Herring
127*724ba675SRob Herring&am33xx_pinmux {
128*724ba675SRob Herring	accel_pins: accel-pins {
129*724ba675SRob Herring		pinctrl-single,pins = <
130*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_WEN, PIN_INPUT, MUX_MODE7)   /* gpmc_wen.gpio2_4 */
131*724ba675SRob Herring		>;
132*724ba675SRob Herring	};
133*724ba675SRob Herring};
134*724ba675SRob Herring
135*724ba675SRob Herring/* Audio */
136*724ba675SRob Herring&audio_codec {
137*724ba675SRob Herring	status = "okay";
138*724ba675SRob Herring
139*724ba675SRob Herring	reset-gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
140*724ba675SRob Herring	AVDD-supply = <&ldo3_reg>;
141*724ba675SRob Herring	IOVDD-supply = <&ldo3_reg>;
142*724ba675SRob Herring	DRVDD-supply = <&ldo3_reg>;
143*724ba675SRob Herring	DVDD-supply = <&dcdc1_reg>;
144*724ba675SRob Herring};
145*724ba675SRob Herring
146*724ba675SRob Herring&sound {
147*724ba675SRob Herring	ti,model = "AM335x-EVM";
148*724ba675SRob Herring	ti,audio-codec = <&audio_codec>;
149*724ba675SRob Herring	ti,mcasp-controller = <&mcasp0>;
150*724ba675SRob Herring	ti,codec-clock-rate = <12000000>;
151*724ba675SRob Herring	ti,audio-routing =
152*724ba675SRob Herring		"Headphone Jack",	"HPLOUT",
153*724ba675SRob Herring		"Headphone Jack",	"HPROUT",
154*724ba675SRob Herring		"MIC3L",		"Mic3L Switch";
155*724ba675SRob Herring};
156*724ba675SRob Herring
157*724ba675SRob Herring&mcasp0 {
158*724ba675SRob Herring	status = "okay";
159*724ba675SRob Herring	pinctrl-names = "default";
160*724ba675SRob Herring	pinctrl-0 = <&audio_pins>;
161*724ba675SRob Herring
162*724ba675SRob Herring	op-mode = <0>;	/* MCASP_ISS_MODE */
163*724ba675SRob Herring	tdm-slots = <2>;
164*724ba675SRob Herring	serial-dir = <
165*724ba675SRob Herring		1 2 0 0
166*724ba675SRob Herring		0 0 0 0
167*724ba675SRob Herring		0 0 0 0
168*724ba675SRob Herring		0 0 0 0
169*724ba675SRob Herring	>;
170*724ba675SRob Herring	tx-num-evt = <1>;
171*724ba675SRob Herring	rx-num-evt = <1>;
172*724ba675SRob Herring};
173*724ba675SRob Herring
174*724ba675SRob Herring&am33xx_pinmux {
175*724ba675SRob Herring	audio_pins: audio-pins {
176*724ba675SRob Herring		pinctrl-single,pins = <
177*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MCASP0_AHCLKX, PIN_INPUT_PULLDOWN, MUX_MODE0)
178*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MCASP0_FSX, PIN_INPUT_PULLDOWN, MUX_MODE0)
179*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MCASP0_ACLKX, PIN_INPUT_PULLDOWN, MUX_MODE0)
180*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MCASP0_AXR0, PIN_INPUT_PULLDOWN, MUX_MODE0)
181*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MCASP0_AXR1, PIN_INPUT_PULLDOWN, MUX_MODE0)
182*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_A0, PIN_OUTPUT, MUX_MODE7)	/* gpmc_a0.gpio1_16 */
183*724ba675SRob Herring		>;
184*724ba675SRob Herring	};
185*724ba675SRob Herring};
186*724ba675SRob Herring
187*724ba675SRob Herring/* Display: 24-bit LCD Screen */
188*724ba675SRob Herring&panel {
189*724ba675SRob Herring	status = "okay";
190*724ba675SRob Herring	pinctrl-names = "default";
191*724ba675SRob Herring	pinctrl-0 = <&lcd_pins>;
192*724ba675SRob Herring	panel-info {
193*724ba675SRob Herring		ac-bias = <255>;
194*724ba675SRob Herring		ac-bias-intrpt = <0>;
195*724ba675SRob Herring		dma-burst-sz = <16>;
196*724ba675SRob Herring		bpp = <32>;
197*724ba675SRob Herring		fdd = <0x80>;
198*724ba675SRob Herring		sync-edge = <0>;
199*724ba675SRob Herring		sync-ctrl = <1>;
200*724ba675SRob Herring		raster-order = <0>;
201*724ba675SRob Herring		fifo-th = <0>;
202*724ba675SRob Herring	};
203*724ba675SRob Herring	display-timings {
204*724ba675SRob Herring		native-mode = <&timing0>;
205*724ba675SRob Herring		timing0: 480x272 {
206*724ba675SRob Herring			clock-frequency = <18400000>;
207*724ba675SRob Herring			hactive = <480>;
208*724ba675SRob Herring			vactive = <272>;
209*724ba675SRob Herring			hfront-porch = <8>;
210*724ba675SRob Herring			hback-porch = <4>;
211*724ba675SRob Herring			hsync-len = <41>;
212*724ba675SRob Herring			vfront-porch = <4>;
213*724ba675SRob Herring			vback-porch = <2>;
214*724ba675SRob Herring			vsync-len = <10>;
215*724ba675SRob Herring			hsync-active = <1>;
216*724ba675SRob Herring			vsync-active = <1>;
217*724ba675SRob Herring		};
218*724ba675SRob Herring	};
219*724ba675SRob Herring};
220*724ba675SRob Herring
221*724ba675SRob Herring&lcdc {
222*724ba675SRob Herring	status = "okay";
223*724ba675SRob Herring};
224*724ba675SRob Herring
225*724ba675SRob Herring&am33xx_pinmux {
226*724ba675SRob Herring	lcd_pins: lcd-pins {
227*724ba675SRob Herring		pinctrl-single,pins = <
228*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_LCD_DATA0, PIN_OUTPUT, MUX_MODE0)
229*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_LCD_DATA1, PIN_OUTPUT, MUX_MODE0)
230*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_LCD_DATA2, PIN_OUTPUT, MUX_MODE0)
231*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_LCD_DATA3, PIN_OUTPUT, MUX_MODE0)
232*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_LCD_DATA4, PIN_OUTPUT, MUX_MODE0)
233*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_LCD_DATA5, PIN_OUTPUT, MUX_MODE0)
234*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_LCD_DATA6, PIN_OUTPUT, MUX_MODE0)
235*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_LCD_DATA7, PIN_OUTPUT, MUX_MODE0)
236*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_LCD_DATA8, PIN_OUTPUT, MUX_MODE0)
237*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_LCD_DATA9, PIN_OUTPUT, MUX_MODE0)
238*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_LCD_DATA10, PIN_OUTPUT, MUX_MODE0)
239*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_LCD_DATA11, PIN_OUTPUT, MUX_MODE0)
240*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_LCD_DATA12, PIN_OUTPUT, MUX_MODE0)
241*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_LCD_DATA13, PIN_OUTPUT, MUX_MODE0)
242*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_LCD_DATA14, PIN_OUTPUT, MUX_MODE0)
243*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_LCD_DATA15, PIN_OUTPUT, MUX_MODE0)
244*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_AD8, PIN_OUTPUT, MUX_MODE1)	/* gpmc_ad8.lcd_data16 */
245*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_AD9, PIN_OUTPUT, MUX_MODE1)	/* gpmc_ad9.lcd_data17 */
246*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_AD10, PIN_OUTPUT, MUX_MODE1)	/* gpmc_ad10.lcd_data18 */
247*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_AD11, PIN_OUTPUT, MUX_MODE1)	/* gpmc_ad11.lcd_data19 */
248*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_AD12, PIN_OUTPUT, MUX_MODE1)	/* gpmc_ad12.lcd_data20 */
249*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_AD13, PIN_OUTPUT, MUX_MODE1)	/* gpmc_ad13.lcd_data21 */
250*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_AD14, PIN_OUTPUT, MUX_MODE1)	/* gpmc_ad14.lcd_data22 */
251*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_AD15, PIN_OUTPUT, MUX_MODE1)	/* gpmc_ad15.lcd_data23 */
252*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_LCD_VSYNC, PIN_OUTPUT, MUX_MODE0)
253*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_LCD_HSYNC, PIN_OUTPUT, MUX_MODE0)
254*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_LCD_PCLK, PIN_OUTPUT, MUX_MODE0)
255*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_LCD_AC_BIAS_EN, PIN_OUTPUT, MUX_MODE0)
256*724ba675SRob Herring			/* Display Enable */
257*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_A11, PIN_OUTPUT_PULLUP, MUX_MODE7)	/* gpmc_a11.gpio1_27 */
258*724ba675SRob Herring		>;
259*724ba675SRob Herring	};
260*724ba675SRob Herring};
261*724ba675SRob Herring
262*724ba675SRob Herring/* Ethernet */
263*724ba675SRob Herring&cpsw_port1 {
264*724ba675SRob Herring	phy-handle = <&ethphy0>;
265*724ba675SRob Herring	phy-mode = "rgmii";
266*724ba675SRob Herring	ti,dual-emac-pvid = <1>;
267*724ba675SRob Herring};
268*724ba675SRob Herring
269*724ba675SRob Herring&cpsw_port2 {
270*724ba675SRob Herring	phy-handle = <&ethphy1>;
271*724ba675SRob Herring	phy-mode = "rgmii";
272*724ba675SRob Herring	ti,dual-emac-pvid = <2>;
273*724ba675SRob Herring};
274*724ba675SRob Herring
275*724ba675SRob Herring&davinci_mdio_sw {
276*724ba675SRob Herring	pinctrl-names = "default";
277*724ba675SRob Herring	pinctrl-0 = <&mdio_pins>;
278*724ba675SRob Herring
279*724ba675SRob Herring	ethphy0: ethernet-phy@0 {
280*724ba675SRob Herring		reg = <0>;
281*724ba675SRob Herring	};
282*724ba675SRob Herring
283*724ba675SRob Herring	ethphy1: ethernet-phy@1 {
284*724ba675SRob Herring		reg = <1>;
285*724ba675SRob Herring	};
286*724ba675SRob Herring};
287*724ba675SRob Herring
288*724ba675SRob Herring&mac_sw {
289*724ba675SRob Herring	status = "okay";
290*724ba675SRob Herring	pinctrl-names = "default";
291*724ba675SRob Herring	pinctrl-0 = <&ethernet_pins>;
292*724ba675SRob Herring};
293*724ba675SRob Herring
294*724ba675SRob Herring&am33xx_pinmux {
295*724ba675SRob Herring	ethernet_pins: ethernet-pins {
296*724ba675SRob Herring		pinctrl-single,pins = <
297*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_TX_EN, PIN_OUTPUT_PULLDOWN, MUX_MODE2)	/* mii1_txen.rgmii1_tctl */
298*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_RX_DV, PIN_INPUT_PULLUP, MUX_MODE2)	/* mii1_rxdv.rgmii1_rctl */
299*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_TXD3, PIN_OUTPUT_PULLDOWN, MUX_MODE2)	/* mii1_txd3.rgmii1_td3 */
300*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_TXD2, PIN_OUTPUT_PULLDOWN, MUX_MODE2)	/* mii1_txd2.rgmii1_td2 */
301*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_TXD1, PIN_OUTPUT_PULLDOWN, MUX_MODE2)	/* mii1_txd1.rgmii1_td1 */
302*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_TXD0, PIN_OUTPUT_PULLDOWN, MUX_MODE2)	/* mii1_txd0.rgmii1_td0 */
303*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_TX_CLK, PIN_INPUT_PULLUP, MUX_MODE2)
304*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_RX_CLK, PIN_INPUT_PULLUP, MUX_MODE2)
305*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_RXD3, PIN_INPUT_PULLUP, MUX_MODE2)
306*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_RXD2, PIN_INPUT_PULLUP, MUX_MODE2)
307*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_RXD1, PIN_INPUT_PULLUP, MUX_MODE2)
308*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_RXD0, PIN_INPUT_PULLUP, MUX_MODE2)
309*724ba675SRob Herring			/* ethernet interrupt */
310*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_RMII1_REF_CLK, PIN_INPUT_PULLUP, MUX_MODE7)	/* rmii2_refclk.gpio0_29 */
311*724ba675SRob Herring			/* ethernet PHY nReset */
312*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_COL, PIN_OUTPUT_PULLUP, MUX_MODE7)	/* mii1_col.gpio3_0 */
313*724ba675SRob Herring		>;
314*724ba675SRob Herring	};
315*724ba675SRob Herring
316*724ba675SRob Herring	mdio_pins: mdio-pins {
317*724ba675SRob Herring		pinctrl-single,pins = <
318*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MDIO, PIN_INPUT_PULLUP | SLEWCTRL_FAST, MUX_MODE0)
319*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MDC, PIN_OUTPUT_PULLUP, MUX_MODE0)
320*724ba675SRob Herring		>;
321*724ba675SRob Herring	};
322*724ba675SRob Herring};
323*724ba675SRob Herring
324*724ba675SRob Herring/* MMC */
325*724ba675SRob Herring&mmc1 {
326*724ba675SRob Herring	/* Bootable SD card slot */
327*724ba675SRob Herring	status = "okay";
328*724ba675SRob Herring	vmmc-supply = <&ldo3_reg>;
329*724ba675SRob Herring	bus-width = <4>;
330*724ba675SRob Herring	pinctrl-names = "default";
331*724ba675SRob Herring	pinctrl-0 = <&sd_pins>;
332*724ba675SRob Herring	cd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
333*724ba675SRob Herring};
334*724ba675SRob Herring
335*724ba675SRob Herring&mmc2 {
336*724ba675SRob Herring	/* eMMC (not populated) on MMC #2 */
337*724ba675SRob Herring	status = "disabled";
338*724ba675SRob Herring	pinctrl-names = "default";
339*724ba675SRob Herring	pinctrl-0 = <&emmc_pins>;
340*724ba675SRob Herring	vmmc-supply = <&ldo3_reg>;
341*724ba675SRob Herring	bus-width = <8>;
342*724ba675SRob Herring	non-removable;
343*724ba675SRob Herring};
344*724ba675SRob Herring
345*724ba675SRob Herring&mmc3 {
346*724ba675SRob Herring	/* Wifi & Bluetooth on MMC #3 */
347*724ba675SRob Herring	status = "okay";
348*724ba675SRob Herring	pinctrl-names = "default";
349*724ba675SRob Herring	pinctrl-0 = <&wireless_pins>;
350*724ba675SRob Herring	vmmmc-supply = <&v3v3c_reg>;
351*724ba675SRob Herring	bus-width = <4>;
352*724ba675SRob Herring	non-removable;
353*724ba675SRob Herring	dmas = <&edma_xbar 12 0 1
354*724ba675SRob Herring		&edma_xbar 13 0 2>;
355*724ba675SRob Herring	dma-names = "tx", "rx";
356*724ba675SRob Herring};
357*724ba675SRob Herring
358*724ba675SRob Herring
359*724ba675SRob Herring&am33xx_pinmux {
360*724ba675SRob Herring	sd_pins: sd-card-pins {
361*724ba675SRob Herring		pinctrl-single,pins = <
362*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MMC0_DAT3, PIN_INPUT_PULLUP, MUX_MODE0)
363*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MMC0_DAT2, PIN_INPUT_PULLUP, MUX_MODE0)
364*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MMC0_DAT1, PIN_INPUT_PULLUP, MUX_MODE0)
365*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MMC0_DAT0, PIN_INPUT_PULLUP, MUX_MODE0)
366*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MMC0_CLK, PIN_INPUT_PULLUP, MUX_MODE0)
367*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MMC0_CMD, PIN_INPUT_PULLUP, MUX_MODE0)
368*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_SPI0_CS1, PIN_INPUT, MUX_MODE7)		/* spi0_cs1.gpio0_6 */
369*724ba675SRob Herring		>;
370*724ba675SRob Herring	};
371*724ba675SRob Herring	emmc_pins: emmc-pins {
372*724ba675SRob Herring		pinctrl-single,pins = <
373*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_CSN1, PIN_INPUT_PULLUP, MUX_MODE2)	/* gpmc_csn1.mmc1_clk */
374*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_CSN2, PIN_INPUT_PULLUP, MUX_MODE2)	/* gpmc_csn2.mmc1_cmd */
375*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_AD0, PIN_INPUT_PULLUP, MUX_MODE1)	/* gpmc_ad0.mmc1_dat0 */
376*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_AD1, PIN_INPUT_PULLUP, MUX_MODE1)	/* gpmc_ad1.mmc1_dat1 */
377*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_AD2, PIN_INPUT_PULLUP, MUX_MODE1)	/* gpmc_ad2.mmc1_dat2 */
378*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_AD3, PIN_INPUT_PULLUP, MUX_MODE1)	/* gpmc_ad3.mmc1_dat3 */
379*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_AD4, PIN_INPUT_PULLUP, MUX_MODE1)	/* gpmc_ad4.mmc1_dat4 */
380*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_AD5, PIN_INPUT_PULLUP, MUX_MODE1)	/* gpmc_ad5.mmc1_dat5 */
381*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_AD6, PIN_INPUT_PULLUP, MUX_MODE1)	/* gpmc_ad6.mmc1_dat6 */
382*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_AD7, PIN_INPUT_PULLUP, MUX_MODE1)	/* gpmc_ad7.mmc1_dat7 */
383*724ba675SRob Herring			/* EMMC nReset */
384*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_WPN, PIN_OUTPUT_PULLUP, MUX_MODE7)	/* gpmc_wpn.gpio0_31 */
385*724ba675SRob Herring		>;
386*724ba675SRob Herring	};
387*724ba675SRob Herring	wireless_pins: wireless-pins {
388*724ba675SRob Herring		pinctrl-single,pins = <
389*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_A1, PIN_INPUT_PULLUP, MUX_MODE3)	/* gpmc_a1.mmc2_dat0 */
390*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_A2, PIN_INPUT_PULLUP, MUX_MODE3)	/* gpmc_a2.mmc2_dat1 */
391*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_A3, PIN_INPUT_PULLUP, MUX_MODE3)	/* gpmc_a3.mmc2_dat2 */
392*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_BEN1, PIN_INPUT_PULLUP, MUX_MODE3)	/* gpmc_ben1.mmc2_dat3 */
393*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_CSN3, PIN_INPUT_PULLUP, MUX_MODE3)	/* gpmc_csn3.mmc2_cmd */
394*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_CLK, PIN_INPUT_PULLUP, MUX_MODE3)	/* gpmc_clk.mmc1_clk */
395*724ba675SRob Herring			/* WLAN nReset */
396*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_A8, PIN_OUTPUT_PULLUP, MUX_MODE7)	/* gpmc_a8.gpio1_24 */
397*724ba675SRob Herring			/* WLAN nPower down */
398*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_WAIT0, PIN_OUTPUT_PULLUP, MUX_MODE7)	/* gpmc_wait0.gpio0_30 */
399*724ba675SRob Herring			/* 32kHz Clock */
400*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_XDMA_EVENT_INTR1, PIN_OUTPUT_PULLDOWN, MUX_MODE3)	/* xdma_event_intr1.clkout2 */
401*724ba675SRob Herring		>;
402*724ba675SRob Herring	};
403*724ba675SRob Herring};
404*724ba675SRob Herring
405*724ba675SRob Herring/* Power */
406*724ba675SRob Herring&vbat {
407*724ba675SRob Herring	regulator-name = "vbat";
408*724ba675SRob Herring	regulator-min-microvolt = <5000000>;
409*724ba675SRob Herring	regulator-max-microvolt = <5000000>;
410*724ba675SRob Herring};
411*724ba675SRob Herring
412*724ba675SRob Herring&v3v3c_reg {
413*724ba675SRob Herring	regulator-name = "v3v3c_reg";
414*724ba675SRob Herring	regulator-min-microvolt = <3300000>;
415*724ba675SRob Herring	regulator-max-microvolt = <3300000>;
416*724ba675SRob Herring	vin-supply = <&vbat>;
417*724ba675SRob Herring};
418*724ba675SRob Herring
419*724ba675SRob Herring&vdd5_reg {
420*724ba675SRob Herring	regulator-name = "vdd5_reg";
421*724ba675SRob Herring	regulator-min-microvolt = <5000000>;
422*724ba675SRob Herring	regulator-max-microvolt = <5000000>;
423*724ba675SRob Herring	vin-supply = <&vbat>;
424*724ba675SRob Herring};
425*724ba675SRob Herring
426*724ba675SRob Herring/include/ "../../tps65217.dtsi"
427*724ba675SRob Herring
428*724ba675SRob Herring&tps {
429*724ba675SRob Herring	backlight {
430*724ba675SRob Herring		isel = <1>; /* ISET1 */
431*724ba675SRob Herring		fdim = <200>; /* TPS65217_BL_FDIM_200HZ */
432*724ba675SRob Herring		default-brightness = <80>;
433*724ba675SRob Herring	};
434*724ba675SRob Herring
435*724ba675SRob Herring	regulators {
436*724ba675SRob Herring		dcdc1_reg: regulator@0 {
437*724ba675SRob Herring			/* VDD_1V8 system supply */
438*724ba675SRob Herring			regulator-always-on;
439*724ba675SRob Herring		};
440*724ba675SRob Herring
441*724ba675SRob Herring		dcdc2_reg: regulator@1 {
442*724ba675SRob Herring			/* VDD_CORE voltage limits 0.95V - 1.26V with +/-4% tolerance */
443*724ba675SRob Herring			regulator-name = "vdd_core";
444*724ba675SRob Herring			regulator-min-microvolt = <925000>;
445*724ba675SRob Herring			regulator-max-microvolt = <1150000>;
446*724ba675SRob Herring			regulator-boot-on;
447*724ba675SRob Herring			regulator-always-on;
448*724ba675SRob Herring		};
449*724ba675SRob Herring
450*724ba675SRob Herring		dcdc3_reg: regulator@2 {
451*724ba675SRob Herring			/* VDD_MPU voltage limits 0.95V - 1.1V with +/-4% tolerance */
452*724ba675SRob Herring			regulator-name = "vdd_mpu";
453*724ba675SRob Herring			regulator-min-microvolt = <925000>;
454*724ba675SRob Herring			regulator-max-microvolt = <1325000>;
455*724ba675SRob Herring			regulator-boot-on;
456*724ba675SRob Herring			regulator-always-on;
457*724ba675SRob Herring		};
458*724ba675SRob Herring
459*724ba675SRob Herring		ldo1_reg: regulator@3 {
460*724ba675SRob Herring			/* VRTC 1.8V always-on supply */
461*724ba675SRob Herring			regulator-name = "vrtc,vdds";
462*724ba675SRob Herring			regulator-always-on;
463*724ba675SRob Herring		};
464*724ba675SRob Herring
465*724ba675SRob Herring		ldo2_reg: regulator@4 {
466*724ba675SRob Herring			/* 3.3V rail */
467*724ba675SRob Herring			regulator-name = "vdd_3v3aux";
468*724ba675SRob Herring			regulator-always-on;
469*724ba675SRob Herring		};
470*724ba675SRob Herring
471*724ba675SRob Herring		ldo3_reg: regulator@5 {
472*724ba675SRob Herring			/* VDD_3V3A 3.3V rail */
473*724ba675SRob Herring			regulator-name = "vdd_3v3a";
474*724ba675SRob Herring			regulator-min-microvolt = <3300000>;
475*724ba675SRob Herring			regulator-max-microvolt = <3300000>;
476*724ba675SRob Herring		};
477*724ba675SRob Herring
478*724ba675SRob Herring		ldo4_reg: regulator@6 {
479*724ba675SRob Herring			/* VDD_3V3B 3.3V rail */
480*724ba675SRob Herring			regulator-name = "vdd_3v3b";
481*724ba675SRob Herring			regulator-always-on;
482*724ba675SRob Herring		};
483*724ba675SRob Herring	};
484*724ba675SRob Herring};
485*724ba675SRob Herring
486*724ba675SRob Herring/* SPI Busses */
487*724ba675SRob Herring&spi0 {
488*724ba675SRob Herring	status = "okay";
489*724ba675SRob Herring	pinctrl-names = "default";
490*724ba675SRob Herring	pinctrl-0 = <&spi0_pins>;
491*724ba675SRob Herring};
492*724ba675SRob Herring
493*724ba675SRob Herring&am33xx_pinmux {
494*724ba675SRob Herring	spi0_pins: spi0-pins {
495*724ba675SRob Herring		pinctrl-single,pins = <
496*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_SPI0_SCLK, PIN_INPUT_PULLUP, MUX_MODE0)
497*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_SPI0_CS0, PIN_INPUT_PULLUP, MUX_MODE0)
498*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_SPI0_D0, PIN_INPUT_PULLUP, MUX_MODE0)
499*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_SPI0_D1, PIN_INPUT_PULLUP, MUX_MODE0)
500*724ba675SRob Herring		>;
501*724ba675SRob Herring	};
502*724ba675SRob Herring};
503*724ba675SRob Herring
504*724ba675SRob Herring/* Touch Screen */
505*724ba675SRob Herring&tscadc {
506*724ba675SRob Herring	status = "okay";
507*724ba675SRob Herring	tsc {
508*724ba675SRob Herring		ti,wires = <4>;
509*724ba675SRob Herring		ti,x-plate-resistance = <200>;
510*724ba675SRob Herring		ti,coordinate-readouts = <5>;
511*724ba675SRob Herring		ti,wire-config = <0x00 0x11 0x22 0x33>;
512*724ba675SRob Herring	};
513*724ba675SRob Herring
514*724ba675SRob Herring	adc {
515*724ba675SRob Herring		ti,adc-channels = <4 5 6 7>;
516*724ba675SRob Herring	};
517*724ba675SRob Herring};
518*724ba675SRob Herring
519*724ba675SRob Herring/* UARTs */
520*724ba675SRob Herring&uart0 {
521*724ba675SRob Herring	/* Serial Console */
522*724ba675SRob Herring	status = "okay";
523*724ba675SRob Herring	pinctrl-names = "default";
524*724ba675SRob Herring	pinctrl-0 = <&uart0_pins>;
525*724ba675SRob Herring};
526*724ba675SRob Herring
527*724ba675SRob Herring&uart1 {
528*724ba675SRob Herring	/* Broken out to J6 header */
529*724ba675SRob Herring	status = "okay";
530*724ba675SRob Herring	pinctrl-names = "default";
531*724ba675SRob Herring	pinctrl-0 = <&uart1_pins>;
532*724ba675SRob Herring};
533*724ba675SRob Herring
534*724ba675SRob Herring&am33xx_pinmux {
535*724ba675SRob Herring	uart0_pins: uart0-pins {
536*724ba675SRob Herring		pinctrl-single,pins = <
537*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_UART0_RXD, PIN_INPUT_PULLUP, MUX_MODE0)
538*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_UART0_TXD, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
539*724ba675SRob Herring		>;
540*724ba675SRob Herring	};
541*724ba675SRob Herring	uart1_pins: uart1-pins {
542*724ba675SRob Herring		pinctrl-single,pins = <
543*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_UART1_CTSN, PIN_INPUT_PULLUP, MUX_MODE0)
544*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_UART1_RTSN, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
545*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_UART1_RXD, PIN_INPUT_PULLUP, MUX_MODE0)
546*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_UART1_TXD, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
547*724ba675SRob Herring		>;
548*724ba675SRob Herring	};
549*724ba675SRob Herring};
550*724ba675SRob Herring
551*724ba675SRob Herring/* USB */
552*724ba675SRob Herring&usb {
553*724ba675SRob Herring	pinctrl-names = "default";
554*724ba675SRob Herring	pinctrl-0 = <&usb_pins>;
555*724ba675SRob Herring};
556*724ba675SRob Herring
557*724ba675SRob Herring&usb0 {
558*724ba675SRob Herring	dr_mode = "host";
559*724ba675SRob Herring};
560*724ba675SRob Herring
561*724ba675SRob Herring&usb1 {
562*724ba675SRob Herring	dr_mode = "host";
563*724ba675SRob Herring};
564*724ba675SRob Herring
565*724ba675SRob Herring&am33xx_pinmux {
566*724ba675SRob Herring	usb_pins: usb-pins {
567*724ba675SRob Herring		pinctrl-single,pins = <
568*724ba675SRob Herring			/* USB0 Over-Current (active low) */
569*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_A9, PIN_INPUT, MUX_MODE7)	/* gpmc_a9.gpio1_25 */
570*724ba675SRob Herring			/* USB1 Over-Current (active low) */
571*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_A10, PIN_INPUT, MUX_MODE7)	/* gpmc_a10.gpio1_26 */
572*724ba675SRob Herring		>;
573*724ba675SRob Herring	};
574*724ba675SRob Herring};
575*724ba675SRob Herring
576*724ba675SRob Herring/* User IO */
577*724ba675SRob Herring&leds {
578*724ba675SRob Herring	pinctrl-names = "default";
579*724ba675SRob Herring	pinctrl-0 = <&user_leds_pins>;
580*724ba675SRob Herring
581*724ba675SRob Herring	led0 {
582*724ba675SRob Herring		label = "pepper:user0:blue";
583*724ba675SRob Herring		gpios = <&gpio1 20 GPIO_ACTIVE_HIGH>;
584*724ba675SRob Herring		linux,default-trigger = "none";
585*724ba675SRob Herring		default-state = "off";
586*724ba675SRob Herring	};
587*724ba675SRob Herring
588*724ba675SRob Herring	led1 {
589*724ba675SRob Herring		label = "pepper:user1:red";
590*724ba675SRob Herring		gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>;
591*724ba675SRob Herring		linux,default-trigger = "none";
592*724ba675SRob Herring		default-state = "off";
593*724ba675SRob Herring	};
594*724ba675SRob Herring};
595*724ba675SRob Herring
596*724ba675SRob Herring&buttons {
597*724ba675SRob Herring	pinctrl-names = "default";
598*724ba675SRob Herring	pinctrl-0 = <&user_buttons_pins>;
599*724ba675SRob Herring
600*724ba675SRob Herring	button-0 {
601*724ba675SRob Herring		label = "home";
602*724ba675SRob Herring		linux,code = <KEY_HOME>;
603*724ba675SRob Herring		gpios = <&gpio1 22 GPIO_ACTIVE_LOW>;
604*724ba675SRob Herring		wakeup-source;
605*724ba675SRob Herring	};
606*724ba675SRob Herring
607*724ba675SRob Herring	button-1 {
608*724ba675SRob Herring		label = "menu";
609*724ba675SRob Herring		linux,code = <KEY_MENU>;
610*724ba675SRob Herring		gpios = <&gpio1 23 GPIO_ACTIVE_LOW>;
611*724ba675SRob Herring		wakeup-source;
612*724ba675SRob Herring	};
613*724ba675SRob Herring
614*724ba675SRob Herring	button-2 {
615*724ba675SRob Herring		label = "power";
616*724ba675SRob Herring		linux,code = <KEY_POWER>;
617*724ba675SRob Herring		gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
618*724ba675SRob Herring		wakeup-source;
619*724ba675SRob Herring	};
620*724ba675SRob Herring};
621*724ba675SRob Herring
622*724ba675SRob Herring&am33xx_pinmux {
623*724ba675SRob Herring	user_leds_pins: user-leds-pins {
624*724ba675SRob Herring		pinctrl-single,pins = <
625*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_A4, PIN_OUTPUT, MUX_MODE7)	/* gpmc_a4.gpio1_20 */
626*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_A5, PIN_OUTPUT, MUX_MODE7)	/* gpmc_a5.gpio1_21 */
627*724ba675SRob Herring		>;
628*724ba675SRob Herring	};
629*724ba675SRob Herring
630*724ba675SRob Herring	user_buttons_pins: user-buttons-pins {
631*724ba675SRob Herring		pinctrl-single,pins = <
632*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_A6, PIN_INPUT_PULLUP, MUX_MODE7)	/* gpmc_a6.gpio1_22 */
633*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_GPMC_A7, PIN_INPUT_PULLUP, MUX_MODE7)	/* gpmc_a7.gpio1_21 */
634*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_ECAP0_IN_PWM0_OUT, PIN_INPUT_PULLUP, MUX_MODE7)	/* gpmc_a8.gpio0_7 */
635*724ba675SRob Herring		>;
636*724ba675SRob Herring	};
637*724ba675SRob Herring};
638