1// SPDX-License-Identifier: GPL-2.0-only
2
3#include "msm8916.dtsi"
4#include "pm8916.dtsi"
5#include <dt-bindings/gpio/gpio.h>
6#include <dt-bindings/interrupt-controller/irq.h>
7
8/ {
9	aliases {
10		serial0 = &blsp1_uart2;
11	};
12
13	chosen {
14		stdout-path = "serial0";
15	};
16
17	soc {
18		sdhci@7824000 {
19			status = "okay";
20
21			vmmc-supply = <&pm8916_l8>;
22			vqmmc-supply = <&pm8916_l5>;
23
24			pinctrl-names = "default", "sleep";
25			pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
26			pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
27		};
28
29		sdhci@7864000 {
30			status = "okay";
31
32			vmmc-supply = <&pm8916_l11>;
33			vqmmc-supply = <&pm8916_l12>;
34
35			pinctrl-names = "default", "sleep";
36			pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
37			pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
38
39			cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>;
40		};
41
42		serial@78b0000 {
43			status = "okay";
44			pinctrl-names = "default", "sleep";
45			pinctrl-0 = <&blsp1_uart2_default>;
46			pinctrl-1 = <&blsp1_uart2_sleep>;
47		};
48
49		usb@78d9000 {
50			status = "okay";
51			extcon = <&muic>, <&muic>;
52
53			hnp-disable;
54			srp-disable;
55			adp-disable;
56
57			ulpi {
58				phy {
59					extcon = <&muic>;
60					v1p8-supply = <&pm8916_l7>;
61					v3p3-supply = <&pm8916_l13>;
62				};
63			};
64		};
65
66		/*
67		 * Attempting to enable these devices causes a "synchronous
68		 * external abort". Suspected cause is that the debug power
69		 * domain is not enabled by default on this device.
70		 * Disable these devices for now to avoid the crash.
71		 *
72		 * See: https://lore.kernel.org/linux-arm-msm/20190618202623.GA53651@gerhold.net/
73		 */
74		tpiu@820000 { status = "disabled"; };
75		funnel@821000 { status = "disabled"; };
76		replicator@824000 { status = "disabled"; };
77		etf@825000 { status = "disabled"; };
78		etr@826000 { status = "disabled"; };
79		funnel@841000 { status = "disabled"; };
80		debug@850000 { status = "disabled"; };
81		debug@852000 { status = "disabled"; };
82		debug@854000 { status = "disabled"; };
83		debug@856000 { status = "disabled"; };
84		etm@85c000 { status = "disabled"; };
85		etm@85d000 { status = "disabled"; };
86		etm@85e000 { status = "disabled"; };
87		etm@85f000 { status = "disabled"; };
88	};
89
90	i2c-muic {
91		compatible = "i2c-gpio";
92		sda-gpios = <&msmgpio 105 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
93		scl-gpios = <&msmgpio 106 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
94
95		#address-cells = <1>;
96		#size-cells = <0>;
97
98		muic: sm5502@25 {
99			compatible = "siliconmitus,sm5502-muic";
100
101			reg = <0x25>;
102			interrupt-parent = <&msmgpio>;
103			interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
104
105			pinctrl-names = "default";
106			pinctrl-0 = <&muic_int_default>;
107		};
108	};
109};
110
111&msmgpio {
112	muic_int_default: muic_int_default {
113		pinmux {
114			function = "gpio";
115			pins = "gpio12";
116		};
117		pinconf {
118			pins = "gpio12";
119			drive-strength = <2>;
120			bias-disable;
121		};
122	};
123};
124
125&smd_rpm_regulators {
126	vdd_l1_l2_l3-supply = <&pm8916_s3>;
127	vdd_l4_l5_l6-supply = <&pm8916_s4>;
128	vdd_l7-supply = <&pm8916_s4>;
129
130	s1 {
131		regulator-min-microvolt = <500000>;
132		regulator-max-microvolt = <1300000>;
133	};
134
135	s3 {
136		regulator-min-microvolt = <1200000>;
137		regulator-max-microvolt = <1300000>;
138	};
139
140	s4 {
141		regulator-min-microvolt = <1800000>;
142		regulator-max-microvolt = <2100000>;
143	};
144
145	l1 {
146		regulator-min-microvolt = <1225000>;
147		regulator-max-microvolt = <1225000>;
148	};
149
150	l2 {
151		regulator-min-microvolt = <1200000>;
152		regulator-max-microvolt = <1200000>;
153	};
154
155	l3 {
156		regulator-min-microvolt = <500000>;
157		regulator-max-microvolt = <1287500>;
158	};
159
160	l4 {
161		regulator-min-microvolt = <2050000>;
162		regulator-max-microvolt = <2050000>;
163	};
164
165	l5 {
166		regulator-min-microvolt = <1800000>;
167		regulator-max-microvolt = <1800000>;
168	};
169
170	l6 {
171		regulator-min-microvolt = <1800000>;
172		regulator-max-microvolt = <1800000>;
173	};
174
175	l7 {
176		regulator-min-microvolt = <1800000>;
177		regulator-max-microvolt = <1800000>;
178	};
179
180	l8 {
181		regulator-min-microvolt = <2850000>;
182		regulator-max-microvolt = <2900000>;
183	};
184
185	l9 {
186		regulator-min-microvolt = <3300000>;
187		regulator-max-microvolt = <3300000>;
188	};
189
190	l10 {
191		regulator-min-microvolt = <2700000>;
192		regulator-max-microvolt = <2800000>;
193	};
194
195	l11 {
196		regulator-min-microvolt = <1800000>;
197		regulator-max-microvolt = <2950000>;
198		regulator-allow-set-load;
199		regulator-system-load = <200000>;
200	};
201
202	l12 {
203		regulator-min-microvolt = <1800000>;
204		regulator-max-microvolt = <2950000>;
205	};
206
207	l13 {
208		regulator-min-microvolt = <3075000>;
209		regulator-max-microvolt = <3075000>;
210	};
211
212	l14 {
213		regulator-min-microvolt = <1800000>;
214		regulator-max-microvolt = <3300000>;
215	};
216
217	l15 {
218		regulator-min-microvolt = <1800000>;
219		regulator-max-microvolt = <3300000>;
220	};
221
222	l16 {
223		regulator-min-microvolt = <1800000>;
224		regulator-max-microvolt = <3300000>;
225	};
226
227	l17 {
228		regulator-min-microvolt = <2850000>;
229		regulator-max-microvolt = <2850000>;
230	};
231
232	l18 {
233		regulator-min-microvolt = <2700000>;
234		regulator-max-microvolt = <2700000>;
235	};
236};
237