xref: /openbmc/u-boot/arch/arm/dts/logicpd-som-lv-baseboard.dtsi (revision 5448ff33f281cc4832395109c53effc7593bbfeb)
1*5448ff33SAdam Ford/*
2*5448ff33SAdam Ford * This program is free software; you can redistribute it and/or modify
3*5448ff33SAdam Ford * it under the terms of the GNU General Public License version 2 as
4*5448ff33SAdam Ford * published by the Free Software Foundation.
5*5448ff33SAdam Ford */
6*5448ff33SAdam Ford
7*5448ff33SAdam Ford/ {
8*5448ff33SAdam Ford	gpio_keys {
9*5448ff33SAdam Ford		compatible = "gpio-keys";
10*5448ff33SAdam Ford		pinctrl-names = "default";
11*5448ff33SAdam Ford		pinctrl-0 = <&gpio_key_pins>;
12*5448ff33SAdam Ford
13*5448ff33SAdam Ford		sysboot2 {
14*5448ff33SAdam Ford			label = "gpio3";
15*5448ff33SAdam Ford			gpios = <&gpio4 15 GPIO_ACTIVE_LOW>;	/* gpio_111 / uP_GPIO_3 */
16*5448ff33SAdam Ford			linux,code = <BTN_0>;
17*5448ff33SAdam Ford			wakeup-source;
18*5448ff33SAdam Ford		};
19*5448ff33SAdam Ford	};
20*5448ff33SAdam Ford
21*5448ff33SAdam Ford	sound {
22*5448ff33SAdam Ford		compatible = "ti,omap-twl4030";
23*5448ff33SAdam Ford		ti,model = "omap3logic";
24*5448ff33SAdam Ford		ti,mcbsp = <&mcbsp2>;
25*5448ff33SAdam Ford	};
26*5448ff33SAdam Ford
27*5448ff33SAdam Ford	leds {
28*5448ff33SAdam Ford		compatible = "gpio-leds";
29*5448ff33SAdam Ford		pinctrl-names = "default";
30*5448ff33SAdam Ford		pinctrl-0 = <&led_pins &led_pins_wkup>;
31*5448ff33SAdam Ford
32*5448ff33SAdam Ford		led1 {
33*5448ff33SAdam Ford			label = "led1";
34*5448ff33SAdam Ford			gpios = <&gpio5 5 GPIO_ACTIVE_LOW>;	/* gpio133 */
35*5448ff33SAdam Ford			linux,default-trigger = "cpu0";
36*5448ff33SAdam Ford		};
37*5448ff33SAdam Ford
38*5448ff33SAdam Ford		led2 {
39*5448ff33SAdam Ford			label = "led2";
40*5448ff33SAdam Ford			gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;	/* gpio11 */
41*5448ff33SAdam Ford			linux,default-trigger = "none";
42*5448ff33SAdam Ford		};
43*5448ff33SAdam Ford	};
44*5448ff33SAdam Ford};
45*5448ff33SAdam Ford
46*5448ff33SAdam Ford&vaux1 {
47*5448ff33SAdam Ford	regulator-min-microvolt = <3000000>;
48*5448ff33SAdam Ford	regulator-max-microvolt = <3000000>;
49*5448ff33SAdam Ford};
50*5448ff33SAdam Ford
51*5448ff33SAdam Ford&vaux4 {
52*5448ff33SAdam Ford	regulator-min-microvolt = <1800000>;
53*5448ff33SAdam Ford	regulator-max-microvolt = <1800000>;
54*5448ff33SAdam Ford};
55*5448ff33SAdam Ford
56*5448ff33SAdam Ford&mcbsp2 {
57*5448ff33SAdam Ford	status = "okay";
58*5448ff33SAdam Ford};
59*5448ff33SAdam Ford
60*5448ff33SAdam Ford&charger {
61*5448ff33SAdam Ford	ti,bb-uvolt = <3200000>;
62*5448ff33SAdam Ford	ti,bb-uamp = <150>;
63*5448ff33SAdam Ford};
64*5448ff33SAdam Ford
65*5448ff33SAdam Ford&gpmc {
66*5448ff33SAdam Ford	ranges = <0 0 0x30000000 0x1000000	/* CS0: 16MB for NAND */
67*5448ff33SAdam Ford		  1 0 0x2c000000 0x1000000	/* CS1: 16MB for LAN9221 */
68*5448ff33SAdam Ford		  2 0 0x10000000 0x2000000>;    /* CS2: 32MB for NOR */
69*5448ff33SAdam Ford
70*5448ff33SAdam Ford	ethernet@gpmc {
71*5448ff33SAdam Ford		pinctrl-names = "default";
72*5448ff33SAdam Ford		pinctrl-0 = <&lan9221_pins>;
73*5448ff33SAdam Ford		interrupt-parent = <&gpio5>;
74*5448ff33SAdam Ford		interrupts = <24 IRQ_TYPE_LEVEL_LOW>;		/* gpio_152 */
75*5448ff33SAdam Ford		reg = <1 0 0xff>;
76*5448ff33SAdam Ford	};
77*5448ff33SAdam Ford};
78*5448ff33SAdam Ford
79*5448ff33SAdam Ford&vpll2 {
80*5448ff33SAdam Ford	regulator-always-on;
81*5448ff33SAdam Ford};
82*5448ff33SAdam Ford
83*5448ff33SAdam Ford&dss {
84*5448ff33SAdam Ford	status = "ok";
85*5448ff33SAdam Ford	vdds_dsi-supply = <&vpll2>;
86*5448ff33SAdam Ford	vdda_video-supply = <&video_reg>;
87*5448ff33SAdam Ford	pinctrl-names = "default";
88*5448ff33SAdam Ford	pinctrl-0 = <&dss_dpi_pins1>;
89*5448ff33SAdam Ford	port {
90*5448ff33SAdam Ford		dpi_out: endpoint {
91*5448ff33SAdam Ford			remote-endpoint = <&lcd_in>;
92*5448ff33SAdam Ford			data-lines = <16>;
93*5448ff33SAdam Ford		};
94*5448ff33SAdam Ford	};
95*5448ff33SAdam Ford};
96*5448ff33SAdam Ford
97*5448ff33SAdam Ford/ {
98*5448ff33SAdam Ford	aliases {
99*5448ff33SAdam Ford		display0 = &lcd0;
100*5448ff33SAdam Ford	};
101*5448ff33SAdam Ford
102*5448ff33SAdam Ford	video_reg: video_reg {
103*5448ff33SAdam Ford		compatible = "regulator-fixed";
104*5448ff33SAdam Ford		regulator-name = "fixed-supply";
105*5448ff33SAdam Ford		regulator-min-microvolt = <3300000>;
106*5448ff33SAdam Ford		regulator-max-microvolt = <3300000>;
107*5448ff33SAdam Ford	};
108*5448ff33SAdam Ford
109*5448ff33SAdam Ford	lcd0: display@0 {
110*5448ff33SAdam Ford		compatible = "panel-dpi";
111*5448ff33SAdam Ford		label = "28";
112*5448ff33SAdam Ford		status = "okay";
113*5448ff33SAdam Ford		/* default-on; */
114*5448ff33SAdam Ford		pinctrl-names = "default";
115*5448ff33SAdam Ford		pinctrl-0 = <&lcd_enable_pin>;
116*5448ff33SAdam Ford		enable-gpios = <&gpio5 27 GPIO_ACTIVE_HIGH>;	/* gpio155, lcd INI */
117*5448ff33SAdam Ford		port {
118*5448ff33SAdam Ford			lcd_in: endpoint {
119*5448ff33SAdam Ford				remote-endpoint = <&dpi_out>;
120*5448ff33SAdam Ford			};
121*5448ff33SAdam Ford		};
122*5448ff33SAdam Ford
123*5448ff33SAdam Ford		panel-timing {
124*5448ff33SAdam Ford			clock-frequency = <9000000>;
125*5448ff33SAdam Ford			hactive = <480>;
126*5448ff33SAdam Ford			vactive = <272>;
127*5448ff33SAdam Ford			hfront-porch = <3>;
128*5448ff33SAdam Ford			hback-porch = <2>;
129*5448ff33SAdam Ford			hsync-len = <42>;
130*5448ff33SAdam Ford			vback-porch = <3>;
131*5448ff33SAdam Ford			vfront-porch = <2>;
132*5448ff33SAdam Ford			vsync-len = <11>;
133*5448ff33SAdam Ford			hsync-active = <1>;
134*5448ff33SAdam Ford			vsync-active = <1>;
135*5448ff33SAdam Ford			de-active = <1>;
136*5448ff33SAdam Ford			pixelclk-active = <0>;
137*5448ff33SAdam Ford		};
138*5448ff33SAdam Ford	};
139*5448ff33SAdam Ford
140*5448ff33SAdam Ford	bl: backlight {
141*5448ff33SAdam Ford		compatible = "pwm-backlight";
142*5448ff33SAdam Ford		pinctrl-names = "default";
143*5448ff33SAdam Ford		pinctrl-0 = <&backlight_pins>;
144*5448ff33SAdam Ford		pwms = <&twl_pwm 0 5000000>;
145*5448ff33SAdam Ford		brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
146*5448ff33SAdam Ford		default-brightness-level = <7>;
147*5448ff33SAdam Ford		enable-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; /* gpio_8 */
148*5448ff33SAdam Ford	};
149*5448ff33SAdam Ford};
150*5448ff33SAdam Ford
151*5448ff33SAdam Ford&mmc1 {
152*5448ff33SAdam Ford	interrupts-extended = <&intc 83 &omap3_pmx_core 0x11a>;
153*5448ff33SAdam Ford	pinctrl-names = "default";
154*5448ff33SAdam Ford	pinctrl-0 = <&mmc1_pins>;
155*5448ff33SAdam Ford	wp-gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>;		/* gpio_126 */
156*5448ff33SAdam Ford	cd-gpios = <&gpio4 14 IRQ_TYPE_LEVEL_LOW>;		/* gpio_110 */
157*5448ff33SAdam Ford	vmmc-supply = <&vmmc1>;
158*5448ff33SAdam Ford	bus-width = <4>;
159*5448ff33SAdam Ford	cap-power-off-card;
160*5448ff33SAdam Ford};
161*5448ff33SAdam Ford
162*5448ff33SAdam Ford&omap3_pmx_core {
163*5448ff33SAdam Ford	gpio_key_pins: pinmux_gpio_key_pins {
164*5448ff33SAdam Ford		pinctrl-single,pins = <
165*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x212e, PIN_INPUT_PULLUP | MUX_MODE4)	/* cam_xclkb.gpio_111 / uP_GPIO_3*/
166*5448ff33SAdam Ford		>;
167*5448ff33SAdam Ford	};
168*5448ff33SAdam Ford
169*5448ff33SAdam Ford	led_pins: pinmux_led_pins {
170*5448ff33SAdam Ford		pinctrl-single,pins = <
171*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x215e, PIN_OUTPUT_PULLUP | MUX_MODE4)	/* sdmmc2_dat1.gpio_133 / uP_GPIO_0 */
172*5448ff33SAdam Ford		>;
173*5448ff33SAdam Ford	};
174*5448ff33SAdam Ford
175*5448ff33SAdam Ford	lan9221_pins: pinmux_lan9221_pins {
176*5448ff33SAdam Ford		pinctrl-single,pins = <
177*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x2184, PIN_INPUT_PULLUP | MUX_MODE4)	/* mcbsp4_clkx.gpio_152 */
178*5448ff33SAdam Ford		>;
179*5448ff33SAdam Ford	};
180*5448ff33SAdam Ford
181*5448ff33SAdam Ford	mmc1_pins: pinmux_mmc1_pins {
182*5448ff33SAdam Ford		pinctrl-single,pins = <
183*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x2144, PIN_OUTPUT | MUX_MODE0)	/* sdmmc1_clk.sdmmc1_clk */
184*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT | MUX_MODE0)	/* sdmmc1_cmd.sdmmc1_cmd */
185*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT | MUX_MODE0)	/* sdmmc1_dat0.sdmmc1_dat0 */
186*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT | MUX_MODE0)	/* sdmmc1_dat1.sdmmc1_dat1 */
187*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT | MUX_MODE0)	/* sdmmc1_dat2.sdmmc1_dat2 */
188*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT | MUX_MODE0)	/* sdmmc1_dat3.sdmmc1_dat3 */
189*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x2132, PIN_INPUT_PULLUP | MUX_MODE4)	/* cam_strobe.gpio_126 */
190*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x212c, PIN_INPUT_PULLUP | MUX_MODE4)	/* cam_d11.gpio_110 */
191*5448ff33SAdam Ford		>;
192*5448ff33SAdam Ford	};
193*5448ff33SAdam Ford
194*5448ff33SAdam Ford	lcd_enable_pin: pinmux_lcd_enable_pin {
195*5448ff33SAdam Ford		pinctrl-single,pins = <
196*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x218a, PIN_OUTPUT | PIN_OFF_OUTPUT_LOW | MUX_MODE4)       /* mcbsp4_fs.gpio_155 */
197*5448ff33SAdam Ford		>;
198*5448ff33SAdam Ford	};
199*5448ff33SAdam Ford
200*5448ff33SAdam Ford	dss_dpi_pins1: pinmux_dss_dpi_pins1 {
201*5448ff33SAdam Ford		pinctrl-single,pins = <
202*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_pclk.dss_pclk */
203*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_hsync.dss_hsync */
204*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_vsync.dss_vsync */
205*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_acbias.dss_acbias */
206*5448ff33SAdam Ford
207*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data0.dss_data0 */
208*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data1.dss_data1 */
209*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data2.dss_data2 */
210*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data3.dss_data3 */
211*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data4.dss_data4 */
212*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data5.dss_data5 */
213*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data6.dss_data6 */
214*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data7.dss_data7 */
215*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data8.dss_data8 */
216*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data9.dss_data9 */
217*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data10.dss_data10 */
218*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data11.dss_data11 */
219*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data12.dss_data12 */
220*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data13.dss_data13 */
221*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data14.dss_data14 */
222*5448ff33SAdam Ford			OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data15.dss_data15 */
223*5448ff33SAdam Ford		>;
224*5448ff33SAdam Ford	};
225*5448ff33SAdam Ford};
226*5448ff33SAdam Ford
227*5448ff33SAdam Ford&omap3_pmx_wkup {
228*5448ff33SAdam Ford	led_pins_wkup: pinmux_led_pins_wkup {
229*5448ff33SAdam Ford		pinctrl-single,pins = <
230*5448ff33SAdam Ford			OMAP3_WKUP_IOPAD(0x2a24, PIN_OUTPUT_PULLUP | MUX_MODE4)	/* jtag_emu0.gpio_11 / uP_GPIO_1 */
231*5448ff33SAdam Ford		>;
232*5448ff33SAdam Ford	};
233*5448ff33SAdam Ford
234*5448ff33SAdam Ford	backlight_pins: pinmux_backlight_pins {
235*5448ff33SAdam Ford		pinctrl-single,pins = <
236*5448ff33SAdam Ford			OMAP3_WKUP_IOPAD(0x2a16, PIN_OUTPUT | PIN_OFF_OUTPUT_LOW | MUX_MODE4)       /* sys_boot6.gpio_8 */
237*5448ff33SAdam Ford		>;
238*5448ff33SAdam Ford	};
239*5448ff33SAdam Ford};
240*5448ff33SAdam Ford
241*5448ff33SAdam Ford
242*5448ff33SAdam Ford&uart1 {
243*5448ff33SAdam Ford	interrupts-extended = <&intc 72 &omap3_pmx_core OMAP3_UART1_RX>;
244*5448ff33SAdam Ford};
245*5448ff33SAdam Ford
246*5448ff33SAdam Ford/* Wired to the tps65950 on the SOM, only the USB connector is on the devkit */
247*5448ff33SAdam Ford&usb_otg_hs {
248*5448ff33SAdam Ford	pinctrl-names = "default";
249*5448ff33SAdam Ford	pinctrl-0 = <&hsusb_otg_pins>;
250*5448ff33SAdam Ford	interface-type = <0>;
251*5448ff33SAdam Ford	usb-phy = <&usb2_phy>;
252*5448ff33SAdam Ford	phys = <&usb2_phy>;
253*5448ff33SAdam Ford	phy-names = "usb2-phy";
254*5448ff33SAdam Ford	mode = <3>;
255*5448ff33SAdam Ford	power = <50>;
256*5448ff33SAdam Ford};
257