1#include "qcom-apq8064-v2.0.dtsi"
2#include <dt-bindings/gpio/gpio.h>
3#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
4
5/ {
6	model = "Qualcomm APQ8064/IFC6410";
7	compatible = "qcom,apq8064-ifc6410", "qcom,apq8064";
8
9	aliases {
10		serial0 = &gsbi7_serial;
11		serial1 = &gsbi6_serial;
12	};
13
14	chosen {
15		stdout-path = "serial0:115200n8";
16	};
17
18	pwrseq {
19		compatible = "simple-bus";
20
21		sdcc4_pwrseq: sdcc4_pwrseq {
22			pinctrl-names = "default";
23			pinctrl-0 = <&wlan_default_gpios>;
24			compatible = "mmc-pwrseq-simple";
25			reset-gpios = <&pm8921_gpio 43 GPIO_ACTIVE_LOW>;
26		};
27	};
28
29	leds {
30		compatible = "gpio-leds";
31		pinctrl-names = "default";
32		pinctrl-0 = <&notify_led>;
33
34		led@1 {
35			label = "apq8064:green:user1";
36			gpios = <&pm8921_gpio 18 GPIO_ACTIVE_HIGH>;
37			default-state = "on";
38		};
39	};
40
41	soc {
42		pinctrl@800000 {
43			card_detect: card_detect {
44				mux {
45					pins = "gpio26";
46					function = "gpio";
47					bias-disable;
48				};
49			};
50		};
51
52		rpm@108000 {
53			regulators {
54				vin_lvs1_3_6-supply = <&pm8921_s4>;
55				vin_lvs2-supply = <&pm8921_s1>;
56				vin_lvs4_5_7-supply = <&pm8921_s4>;
57
58				vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
59				vdd_l24-supply = <&pm8921_s1>;
60				vdd_l25-supply = <&pm8921_s1>;
61				vdd_l26-supply = <&pm8921_s7>;
62				vdd_l27-supply = <&pm8921_s7>;
63				vdd_l28-supply = <&pm8921_s7>;
64
65
66				/* Buck SMPS */
67				pm8921_s1: s1 {
68					regulator-always-on;
69					regulator-min-microvolt = <1225000>;
70					regulator-max-microvolt = <1225000>;
71					qcom,switch-mode-frequency = <3200000>;
72					bias-pull-down;
73				};
74
75				pm8921_s3: s3 {
76					regulator-min-microvolt = <1000000>;
77					regulator-max-microvolt = <1400000>;
78					qcom,switch-mode-frequency = <4800000>;
79				};
80
81				pm8921_s4: s4 {
82					regulator-min-microvolt	= <1800000>;
83					regulator-max-microvolt	= <1800000>;
84					qcom,switch-mode-frequency = <3200000>;
85				};
86
87				pm8921_s7: s7 {
88					regulator-min-microvolt = <1300000>;
89					regulator-max-microvolt = <1300000>;
90					qcom,switch-mode-frequency = <3200000>;
91				};
92
93				pm8921_l3: l3 {
94					regulator-min-microvolt = <3050000>;
95					regulator-max-microvolt = <3300000>;
96					bias-pull-down;
97				};
98
99				pm8921_l4: l4 {
100					regulator-min-microvolt = <1000000>;
101					regulator-max-microvolt = <1800000>;
102					bias-pull-down;
103				};
104
105				pm8921_l5: l5 {
106					regulator-min-microvolt = <2750000>;
107					regulator-max-microvolt = <3000000>;
108					bias-pull-down;
109				};
110
111				pm8921_l6: l6 {
112					regulator-min-microvolt = <2950000>;
113					regulator-max-microvolt = <2950000>;
114					bias-pull-down;
115				};
116
117				pm8921_l23: l23 {
118					regulator-min-microvolt = <1700000>;
119					regulator-max-microvolt = <1900000>;
120					bias-pull-down;
121				};
122
123				pm8921_lvs1: lvs1 {
124					bias-pull-down;
125				};
126			};
127		};
128
129		ext_3p3v: regulator-fixed@1 {
130			compatible = "regulator-fixed";
131			regulator-min-microvolt = <3300000>;
132			regulator-max-microvolt = <3300000>;
133			regulator-name = "ext_3p3v";
134			regulator-type = "voltage";
135			startup-delay-us = <0>;
136			gpio = <&tlmm_pinmux 77 GPIO_ACTIVE_HIGH>;
137			enable-active-high;
138			regulator-boot-on;
139		};
140
141		gsbi3: gsbi@16200000 {
142			status = "okay";
143			qcom,mode = <GSBI_PROT_I2C>;
144			i2c3: i2c@16280000 {
145				status = "okay";
146			};
147		};
148
149		gsbi@12440000 {
150			status = "okay";
151			qcom,mode = <GSBI_PROT_I2C>;
152
153			i2c@12460000 {
154				status = "okay";
155				clock-frequency = <200000>;
156
157				eeprom@52 {
158					compatible = "atmel,24c128";
159					reg = <0x52>;
160					pagesize = <32>;
161				};
162			};
163		};
164
165		gsbi@16500000 {
166			status = "ok";
167			qcom,mode = <GSBI_PROT_I2C_UART>;
168
169			serial@16540000 {
170				status = "ok";
171				pinctrl-names = "default";
172				pinctrl-0 = <&gsbi6_uart_4pins>;
173			};
174		};
175
176		gsbi@16600000 {
177			status = "ok";
178			qcom,mode = <GSBI_PROT_I2C_UART>;
179			serial@16640000 {
180				status = "ok";
181				pinctrl-names = "default";
182				pinctrl-0 = <&gsbi7_uart_2pins>;
183			};
184		};
185
186		sata_phy0: phy@1b400000 {
187			status = "okay";
188		};
189
190		sata0: sata@29000000 {
191			status		= "okay";
192			target-supply	= <&pm8921_s4>;
193		};
194
195		/* OTG */
196		usb1_phy: phy@12500000 {
197			status		= "okay";
198			vddcx-supply	= <&pm8921_s3>;
199			v3p3-supply	= <&pm8921_l3>;
200			v1p8-supply	= <&pm8921_l4>;
201		};
202
203		usb3_phy: phy@12520000 {
204			status		= "okay";
205			vddcx-supply	= <&pm8921_s3>;
206			v3p3-supply	= <&pm8921_l3>;
207			v1p8-supply	= <&pm8921_l23>;
208		};
209
210		usb4_phy: phy@12530000 {
211			status		= "okay";
212			vddcx-supply	= <&pm8921_s3>;
213			v3p3-supply	= <&pm8921_l3>;
214			v1p8-supply	= <&pm8921_l23>;
215		};
216
217		gadget1: gadget@12500000 {
218			status = "okay";
219		};
220
221		/* OTG */
222		usb1: usb@12500000 {
223			status = "okay";
224		};
225
226		usb3: usb@12520000 {
227			status = "okay";
228		};
229
230		usb4: usb@12530000 {
231			status = "okay";
232		};
233
234		qcom,ssbi@500000 {
235			pmic@0 {
236				gpio@150 {
237					wlan_default_gpios: wlan-gpios {
238						pios {
239							pins = "gpio43";
240							function = "normal";
241							bias-disable;
242							power-source = <PM8921_GPIO_S4>;
243						};
244					};
245
246					notify_led: nled {
247						pios {
248							pins = "gpio18";
249							function = "normal";
250							bias-disable;
251							power-source = <PM8921_GPIO_S4>;
252						};
253					};
254				};
255			};
256		};
257
258		amba {
259			/* eMMC */
260			sdcc1: sdcc@12400000 {
261				status = "okay";
262				vmmc-supply = <&pm8921_l5>;
263				vqmmc-supply = <&pm8921_s4>;
264			};
265
266			/* External micro SD card */
267			sdcc3: sdcc@12180000 {
268				status = "okay";
269				vmmc-supply = <&pm8921_l6>;
270				pinctrl-names	= "default";
271				pinctrl-0	= <&card_detect>;
272				cd-gpios	= <&tlmm_pinmux 26 GPIO_ACTIVE_LOW>;
273			};
274			/* WLAN */
275			sdcc4: sdcc@121c0000 {
276				status = "okay";
277				vmmc-supply = <&ext_3p3v>;
278				vqmmc-supply = <&pm8921_lvs1>;
279				mmc-pwrseq = <&sdcc4_pwrseq>;
280			};
281		};
282	};
283};
284