• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2015, The Linux Foundation. All rights reserved.
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 and
6 * only version 2 as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 * GNU General Public License for more details.
12 */
13
14#include "msm8916.dtsi"
15#include "pm8916.dtsi"
16#include "apq8016-sbc-soc-pins.dtsi"
17#include "apq8016-sbc-pmic-pins.dtsi"
18
19/ {
20	aliases {
21		serial0 = &blsp1_uart2;
22		serial1 = &blsp1_uart1;
23		usid0 = &pm8916_0;
24		i2c0	= &blsp_i2c2;
25		i2c1	= &blsp_i2c6;
26		i2c3	= &blsp_i2c4;
27		spi0	= &blsp_spi5;
28		spi1	= &blsp_spi3;
29	};
30
31	chosen {
32		stdout-path = "serial0";
33	};
34
35	soc {
36		dma@7884000 {
37			status = "okay";
38		};
39
40		serial@78af000 {
41			label = "LS-UART0";
42			status = "okay";
43			pinctrl-names = "default", "sleep";
44			pinctrl-0 = <&blsp1_uart1_default>;
45			pinctrl-1 = <&blsp1_uart1_sleep>;
46		};
47
48		serial@78b0000 {
49			label = "LS-UART1";
50			status = "okay";
51			pinctrl-names = "default", "sleep";
52			pinctrl-0 = <&blsp1_uart2_default>;
53			pinctrl-1 = <&blsp1_uart2_sleep>;
54		};
55
56		i2c@78b6000 {
57		/* On Low speed expansion */
58			label = "LS-I2C0";
59			status = "okay";
60		};
61
62		i2c@78b8000 {
63		/* On High speed expansion */
64			label = "HS-I2C2";
65			status = "okay";
66
67			adv_bridge: bridge@39 {
68				status = "okay";
69
70				compatible = "adi,adv7533";
71				reg = <0x39>;
72
73				interrupt-parent = <&msmgpio>;
74				interrupts = <31 2>;
75
76				adi,dsi-lanes = <4>;
77
78				pd-gpios = <&msmgpio 32 0>;
79
80				avdd-supply = <&pm8916_l6>;
81				v1p2-supply = <&pm8916_l6>;
82				v3p3-supply = <&pm8916_l17>;
83
84				pinctrl-names = "default","sleep";
85				pinctrl-0 = <&adv7533_int_active &adv7533_switch_active>;
86				pinctrl-1 = <&adv7533_int_suspend &adv7533_switch_suspend>;
87
88				ports {
89					#address-cells = <1>;
90					#size-cells = <0>;
91
92					port@0 {
93						reg = <0>;
94						adv7533_in: endpoint {
95							remote-endpoint = <&dsi0_out>;
96						};
97					};
98
99					port@1 {
100						reg = <1>;
101						adv7533_out: endpoint {
102							remote-endpoint = <&hdmi_con>;
103						};
104					};
105				};
106			};
107		};
108
109		i2c@78ba000 {
110		/* On Low speed expansion */
111			label = "LS-I2C1";
112			status = "okay";
113		};
114
115		spi@78b7000 {
116		/* On High speed expansion */
117			label = "HS-SPI1";
118			status = "okay";
119		};
120
121		spi@78b9000 {
122		/* On Low speed expansion */
123			label = "LS-SPI0";
124			status = "okay";
125		};
126
127		leds {
128			pinctrl-names = "default";
129			pinctrl-0 = <&msmgpio_leds>,
130				    <&pm8916_gpios_leds>,
131				    <&pm8916_mpps_leds>;
132
133			compatible = "gpio-leds";
134
135			led@1 {
136				label = "apq8016-sbc:green:user1";
137				gpios = <&msmgpio 21 GPIO_ACTIVE_HIGH>;
138				linux,default-trigger = "heartbeat";
139				default-state = "off";
140			};
141
142			led@2 {
143				label = "apq8016-sbc:green:user2";
144				gpios = <&msmgpio 120 GPIO_ACTIVE_HIGH>;
145				linux,default-trigger = "mmc0";
146				default-state = "off";
147			};
148
149			led@3 {
150				label = "apq8016-sbc:green:user3";
151				gpios = <&pm8916_gpios 1 GPIO_ACTIVE_HIGH>;
152				linux,default-trigger = "mmc1";
153				default-state = "off";
154			};
155
156			led@4 {
157				label = "apq8016-sbc:green:user4";
158				gpios = <&pm8916_gpios 2 GPIO_ACTIVE_HIGH>;
159				linux,default-trigger = "none";
160				default-state = "off";
161			};
162
163			led@5 {
164				label = "apq8016-sbc:yellow:wlan";
165				gpios = <&pm8916_mpps 2 GPIO_ACTIVE_HIGH>;
166				linux,default-trigger = "wlan";
167				default-state = "off";
168			};
169
170			led@6 {
171				label = "apq8016-sbc:blue:bt";
172				gpios = <&pm8916_mpps 3 GPIO_ACTIVE_HIGH>;
173				linux,default-trigger = "bt";
174				default-state = "off";
175			};
176		};
177
178		sdhci@07824000 {
179			vmmc-supply = <&pm8916_l8>;
180			vqmmc-supply = <&pm8916_l5>;
181
182			pinctrl-names = "default", "sleep";
183			pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
184			pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
185			status = "okay";
186		};
187
188		sdhci@07864000 {
189			vmmc-supply = <&pm8916_l11>;
190			vqmmc-supply = <&pm8916_l12>;
191
192			pinctrl-names = "default", "sleep";
193			pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
194			pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
195
196			cd-gpios = <&msmgpio 38 0x1>;
197			status = "okay";
198		};
199
200		usb@78d9000 {
201			extcon = <&usb_id>, <&usb_id>;
202			status = "okay";
203		};
204
205		ehci@78d9000 {
206			status = "okay";
207		};
208
209		phy@78d9000 {
210			v1p8-supply = <&pm8916_l7>;
211			v3p3-supply = <&pm8916_l13>;
212			vddcx-supply = <&pm8916_s1>;
213			extcon = <&usb_id>, <&usb_id>;
214			dr_mode = "otg";
215			status = "okay";
216			switch-gpio = <&pm8916_gpios 4 GPIO_ACTIVE_HIGH>;
217			pinctrl-names = "default";
218			pinctrl-0 = <&usb_sw_sel_pm>;
219		};
220
221		lpass@07708000 {
222			status = "okay";
223		};
224
225		mdss@1a00000 {
226			status = "okay";
227
228			mdp@1a01000 {
229				status = "okay";
230			};
231
232			dsi@1a98000 {
233				status = "okay";
234
235				vdda-supply = <&pm8916_l2>;
236				vddio-supply = <&pm8916_l6>;
237
238				ports {
239					port@1 {
240						endpoint {
241							remote-endpoint = <&adv7533_in>;
242							data-lanes = <0 1 2 3>;
243						};
244					};
245				};
246			};
247
248			dsi-phy@1a98300 {
249				status = "okay";
250
251				vddio-supply = <&pm8916_l6>;
252			};
253		};
254	};
255
256	usb2513 {
257		compatible = "smsc,usb3503";
258		reset-gpios = <&pm8916_gpios 3 GPIO_ACTIVE_LOW>;
259		initial-mode = <1>;
260	};
261
262	usb_id: usb-id {
263		compatible = "linux,extcon-usb-gpio";
264		id-gpio = <&msmgpio 121 GPIO_ACTIVE_HIGH>;
265		pinctrl-names = "default";
266		pinctrl-0 = <&usb_id_default>;
267	};
268
269	hdmi-out {
270		compatible = "hdmi-connector";
271		type = "a";
272
273		port {
274			hdmi_con: endpoint {
275				remote-endpoint = <&adv7533_out>;
276			};
277		};
278	};
279};
280
281&smd_rpm_regulators {
282	vdd_l1_l2_l3-supply = <&pm8916_s3>;
283	vdd_l5-supply = <&pm8916_s3>;
284	vdd_l4_l5_l6-supply = <&pm8916_s4>;
285	vdd_l7-supply = <&pm8916_s4>;
286
287	s1 {
288		regulator-min-microvolt = <375000>;
289		regulator-max-microvolt = <1562000>;
290	};
291
292	s3 {
293		regulator-min-microvolt = <375000>;
294		regulator-max-microvolt = <1562000>;
295	};
296
297	s4 {
298		regulator-min-microvolt = <1800000>;
299		regulator-max-microvolt = <1800000>;
300
301		regulator-always-on;
302		regulator-boot-on;
303	};
304
305	l1 {
306		regulator-min-microvolt = <375000>;
307		regulator-max-microvolt = <1525000>;
308	};
309
310	l2 {
311		regulator-min-microvolt = <375000>;
312		regulator-max-microvolt = <1525000>;
313	};
314
315	l3 {
316		regulator-min-microvolt = <375000>;
317		regulator-max-microvolt = <1525000>;
318	};
319
320	l4 {
321		regulator-min-microvolt = <1750000>;
322		regulator-max-microvolt = <3337000>;
323	};
324
325	l5 {
326		regulator-min-microvolt = <1750000>;
327		regulator-max-microvolt = <3337000>;
328	};
329
330	l6 {
331		regulator-min-microvolt = <1750000>;
332		regulator-max-microvolt = <3337000>;
333	};
334
335	l7 {
336		regulator-min-microvolt = <1750000>;
337		regulator-max-microvolt = <3337000>;
338	};
339
340	l8 {
341		regulator-min-microvolt = <1750000>;
342		regulator-max-microvolt = <3337000>;
343	};
344
345	l9 {
346		regulator-min-microvolt = <1750000>;
347		regulator-max-microvolt = <3337000>;
348	};
349
350	l10 {
351		regulator-min-microvolt = <1750000>;
352		regulator-max-microvolt = <3337000>;
353	};
354
355	l11 {
356		regulator-min-microvolt = <1750000>;
357		regulator-max-microvolt = <3337000>;
358	};
359
360	l12 {
361		regulator-min-microvolt = <1750000>;
362		regulator-max-microvolt = <3337000>;
363	};
364
365	l13 {
366		regulator-min-microvolt = <1750000>;
367		regulator-max-microvolt = <3337000>;
368	};
369
370	l14 {
371		regulator-min-microvolt = <1750000>;
372		regulator-max-microvolt = <3337000>;
373	};
374
375	/**
376	 * 1.8v required on LS expansion
377	 * for mezzanine boards
378	 */
379	l15 {
380		regulator-min-microvolt = <1750000>;
381		regulator-max-microvolt = <3337000>;
382		regulator-always-on;
383	};
384
385	l16 {
386		regulator-min-microvolt = <1750000>;
387		regulator-max-microvolt = <3337000>;
388	};
389
390	l17 {
391		regulator-min-microvolt = <1750000>;
392		regulator-max-microvolt = <3337000>;
393	};
394
395	l18 {
396		regulator-min-microvolt = <1750000>;
397		regulator-max-microvolt = <3337000>;
398	};
399};
400