1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2*724ba675SRob Herring#include "qcom-apq8064-v2.0.dtsi"
3*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
4*724ba675SRob Herring#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
5*724ba675SRob Herring
6*724ba675SRob Herring/ {
7*724ba675SRob Herring	model = "CompuLab CM-QS600";
8*724ba675SRob Herring	compatible = "qcom,apq8064-cm-qs600", "qcom,apq8064";
9*724ba675SRob Herring
10*724ba675SRob Herring	aliases {
11*724ba675SRob Herring		serial0 = &gsbi7_serial;
12*724ba675SRob Herring	};
13*724ba675SRob Herring
14*724ba675SRob Herring	chosen {
15*724ba675SRob Herring		stdout-path = "serial0:115200n8";
16*724ba675SRob Herring	};
17*724ba675SRob Herring
18*724ba675SRob Herring	sdcc4_pwrseq: pwrseq-sdcc4 {
19*724ba675SRob Herring		pinctrl-names = "default";
20*724ba675SRob Herring		pinctrl-0 = <&wlan_default_gpios>;
21*724ba675SRob Herring		compatible = "mmc-pwrseq-simple";
22*724ba675SRob Herring		reset-gpios = <&pm8921_gpio 43 GPIO_ACTIVE_LOW>;
23*724ba675SRob Herring	};
24*724ba675SRob Herring
25*724ba675SRob Herring	/* on board fixed 3.3v supply */
26*724ba675SRob Herring	v3p3_fixed: regulator-v3p3 {
27*724ba675SRob Herring		compatible = "regulator-fixed";
28*724ba675SRob Herring		regulator-name = "PCIE V3P3";
29*724ba675SRob Herring		regulator-min-microvolt = <3300000>;
30*724ba675SRob Herring		regulator-max-microvolt = <3300000>;
31*724ba675SRob Herring		regulator-always-on;
32*724ba675SRob Herring	};
33*724ba675SRob Herring};
34*724ba675SRob Herring
35*724ba675SRob Herring&gsbi1 {
36*724ba675SRob Herring	qcom,mode = <GSBI_PROT_I2C>;
37*724ba675SRob Herring	status = "okay";
38*724ba675SRob Herring};
39*724ba675SRob Herring
40*724ba675SRob Herring&gsbi1_i2c {
41*724ba675SRob Herring	clock-frequency = <200000>;
42*724ba675SRob Herring	status = "okay";
43*724ba675SRob Herring
44*724ba675SRob Herring	eeprom@50 {
45*724ba675SRob Herring		compatible = "atmel,24c02";
46*724ba675SRob Herring		reg = <0x50>;
47*724ba675SRob Herring		pagesize = <32>;
48*724ba675SRob Herring	};
49*724ba675SRob Herring};
50*724ba675SRob Herring
51*724ba675SRob Herring&gsbi7 {
52*724ba675SRob Herring	qcom,mode = <GSBI_PROT_I2C_UART>;
53*724ba675SRob Herring	status = "okay";
54*724ba675SRob Herring};
55*724ba675SRob Herring
56*724ba675SRob Herring&gsbi7_serial {
57*724ba675SRob Herring	pinctrl-names = "default";
58*724ba675SRob Herring	pinctrl-0 = <&gsbi7_uart_2pins>;
59*724ba675SRob Herring	status = "okay";
60*724ba675SRob Herring};
61*724ba675SRob Herring
62*724ba675SRob Herring&pcie {
63*724ba675SRob Herring	vdda-supply = <&pm8921_s3>;
64*724ba675SRob Herring	vdda_phy-supply = <&pm8921_lvs6>;
65*724ba675SRob Herring	vdda_refclk-supply = <&v3p3_fixed>;
66*724ba675SRob Herring	pinctrl-0 = <&pcie_pins>;
67*724ba675SRob Herring	pinctrl-names = "default";
68*724ba675SRob Herring	perst-gpios = <&tlmm_pinmux 27 GPIO_ACTIVE_LOW>;
69*724ba675SRob Herring	status = "okay";
70*724ba675SRob Herring};
71*724ba675SRob Herring
72*724ba675SRob Herring&pm8921_gpio {
73*724ba675SRob Herring	wlan_default_gpios: wlan-gpios-state {
74*724ba675SRob Herring		pinconf {
75*724ba675SRob Herring			pins = "gpio43";
76*724ba675SRob Herring			function = "normal";
77*724ba675SRob Herring			bias-disable;
78*724ba675SRob Herring			power-source = <PM8921_GPIO_S4>;
79*724ba675SRob Herring		};
80*724ba675SRob Herring	};
81*724ba675SRob Herring};
82*724ba675SRob Herring
83*724ba675SRob Herring&rpm {
84*724ba675SRob Herring	regulators {
85*724ba675SRob Herring		vin_lvs1_3_6-supply = <&pm8921_s4>;
86*724ba675SRob Herring		vin_lvs2-supply = <&pm8921_s1>;
87*724ba675SRob Herring		vin_lvs4_5_7-supply = <&pm8921_s4>;
88*724ba675SRob Herring
89*724ba675SRob Herring		vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
90*724ba675SRob Herring		vdd_l24-supply = <&pm8921_s1>;
91*724ba675SRob Herring		vdd_l25-supply = <&pm8921_s1>;
92*724ba675SRob Herring		vdd_l26-supply = <&pm8921_s7>;
93*724ba675SRob Herring		vdd_l27-supply = <&pm8921_s7>;
94*724ba675SRob Herring		vdd_l28-supply = <&pm8921_s7>;
95*724ba675SRob Herring
96*724ba675SRob Herring
97*724ba675SRob Herring		/* Buck SMPS */
98*724ba675SRob Herring		s1 {
99*724ba675SRob Herring			regulator-always-on;
100*724ba675SRob Herring			regulator-min-microvolt = <1225000>;
101*724ba675SRob Herring			regulator-max-microvolt = <1225000>;
102*724ba675SRob Herring			qcom,switch-mode-frequency = <3200000>;
103*724ba675SRob Herring			bias-pull-down;
104*724ba675SRob Herring		};
105*724ba675SRob Herring
106*724ba675SRob Herring		s3 {
107*724ba675SRob Herring			regulator-min-microvolt = <1000000>;
108*724ba675SRob Herring			regulator-max-microvolt = <1400000>;
109*724ba675SRob Herring			qcom,switch-mode-frequency = <4800000>;
110*724ba675SRob Herring		};
111*724ba675SRob Herring
112*724ba675SRob Herring		s4 {
113*724ba675SRob Herring			regulator-min-microvolt = <1800000>;
114*724ba675SRob Herring			regulator-max-microvolt = <1800000>;
115*724ba675SRob Herring			qcom,switch-mode-frequency = <3200000>;
116*724ba675SRob Herring		};
117*724ba675SRob Herring
118*724ba675SRob Herring		s7 {
119*724ba675SRob Herring			regulator-min-microvolt = <1300000>;
120*724ba675SRob Herring			regulator-max-microvolt = <1300000>;
121*724ba675SRob Herring			qcom,switch-mode-frequency = <3200000>;
122*724ba675SRob Herring		};
123*724ba675SRob Herring
124*724ba675SRob Herring		l3 {
125*724ba675SRob Herring			regulator-min-microvolt = <3050000>;
126*724ba675SRob Herring			regulator-max-microvolt = <3300000>;
127*724ba675SRob Herring			bias-pull-down;
128*724ba675SRob Herring		};
129*724ba675SRob Herring
130*724ba675SRob Herring		l4 {
131*724ba675SRob Herring			regulator-min-microvolt = <1000000>;
132*724ba675SRob Herring			regulator-max-microvolt = <1800000>;
133*724ba675SRob Herring			bias-pull-down;
134*724ba675SRob Herring		};
135*724ba675SRob Herring
136*724ba675SRob Herring		l5 {
137*724ba675SRob Herring			regulator-min-microvolt = <2750000>;
138*724ba675SRob Herring			regulator-max-microvolt = <3000000>;
139*724ba675SRob Herring			bias-pull-down;
140*724ba675SRob Herring		};
141*724ba675SRob Herring
142*724ba675SRob Herring		l23 {
143*724ba675SRob Herring			regulator-min-microvolt = <1700000>;
144*724ba675SRob Herring			regulator-max-microvolt = <1900000>;
145*724ba675SRob Herring			bias-pull-down;
146*724ba675SRob Herring		};
147*724ba675SRob Herring
148*724ba675SRob Herring		lvs6 {
149*724ba675SRob Herring			bias-pull-down;
150*724ba675SRob Herring		};
151*724ba675SRob Herring
152*724ba675SRob Herring	};
153*724ba675SRob Herring};
154*724ba675SRob Herring
155*724ba675SRob Herring/* eMMC */
156*724ba675SRob Herring&sdcc1 {
157*724ba675SRob Herring	vmmc-supply = <&pm8921_l5>;
158*724ba675SRob Herring	vqmmc-supply = <&pm8921_s4>;
159*724ba675SRob Herring	status = "okay";
160*724ba675SRob Herring};
161*724ba675SRob Herring
162*724ba675SRob Herring/* External micro SD card */
163*724ba675SRob Herring&sdcc3 {
164*724ba675SRob Herring	vmmc-supply = <&v3p3_fixed>;
165*724ba675SRob Herring	pinctrl-names = "default";
166*724ba675SRob Herring	pinctrl-0 = <&card_detect>;
167*724ba675SRob Herring	cd-gpios = <&tlmm_pinmux 26 GPIO_ACTIVE_LOW>;
168*724ba675SRob Herring	status = "okay";
169*724ba675SRob Herring};
170*724ba675SRob Herring
171*724ba675SRob Herring/* WLAN */
172*724ba675SRob Herring&sdcc4 {
173*724ba675SRob Herring	status = "okay";
174*724ba675SRob Herring	vmmc-supply = <&v3p3_fixed>;
175*724ba675SRob Herring	vqmmc-supply = <&v3p3_fixed>;
176*724ba675SRob Herring	mmc-pwrseq = <&sdcc4_pwrseq>;
177*724ba675SRob Herring};
178*724ba675SRob Herring
179*724ba675SRob Herring&tlmm_pinmux {
180*724ba675SRob Herring	card_detect: card_detect {
181*724ba675SRob Herring		mux {
182*724ba675SRob Herring			pins = "gpio26";
183*724ba675SRob Herring			function = "gpio";
184*724ba675SRob Herring			bias-disable;
185*724ba675SRob Herring		};
186*724ba675SRob Herring	};
187*724ba675SRob Herring
188*724ba675SRob Herring	pcie_pins: pcie_pinmux {
189*724ba675SRob Herring		mux {
190*724ba675SRob Herring			pins = "gpio27";
191*724ba675SRob Herring			function = "gpio";
192*724ba675SRob Herring		};
193*724ba675SRob Herring		conf {
194*724ba675SRob Herring			pins = "gpio27";
195*724ba675SRob Herring			drive-strength = <12>;
196*724ba675SRob Herring			bias-disable;
197*724ba675SRob Herring		};
198*724ba675SRob Herring	};
199*724ba675SRob Herring};
200*724ba675SRob Herring
201*724ba675SRob Herring&usb_hs1_phy {
202*724ba675SRob Herring	v3p3-supply = <&pm8921_l3>;
203*724ba675SRob Herring	v1p8-supply = <&pm8921_l4>;
204*724ba675SRob Herring};
205*724ba675SRob Herring
206*724ba675SRob Herring&usb_hs3_phy {
207*724ba675SRob Herring	v3p3-supply = <&pm8921_l3>;
208*724ba675SRob Herring	v1p8-supply = <&pm8921_l23>;
209*724ba675SRob Herring};
210*724ba675SRob Herring
211*724ba675SRob Herring&usb_hs4_phy {
212*724ba675SRob Herring	v3p3-supply = <&pm8921_l3>;
213*724ba675SRob Herring	v1p8-supply = <&pm8921_l23>;
214*724ba675SRob Herring};
215*724ba675SRob Herring
216*724ba675SRob Herring/* OTG */
217*724ba675SRob Herring&usb1 {
218*724ba675SRob Herring	dr_mode = "otg";
219*724ba675SRob Herring	status = "okay";
220*724ba675SRob Herring};
221*724ba675SRob Herring
222*724ba675SRob Herring&usb3 {
223*724ba675SRob Herring	dr_mode = "host";
224*724ba675SRob Herring	status = "okay";
225*724ba675SRob Herring};
226*724ba675SRob Herring
227*724ba675SRob Herring&usb4 {
228*724ba675SRob Herring	dr_mode = "host";
229*724ba675SRob Herring	status = "okay";
230*724ba675SRob Herring};
231