xref: /linux/scripts/dtc/include-prefixes/arm64/qcom/qrb2210-rb1.dts (revision ec71f661a572a770d7c861cd52a50cbbb0e1a8d1)
1e1877196SKonrad Dybcio// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2e1877196SKonrad Dybcio/*
3e1877196SKonrad Dybcio * Copyright (c) 2023, Linaro Ltd
4e1877196SKonrad Dybcio */
5e1877196SKonrad Dybcio
6e1877196SKonrad Dybcio/dts-v1/;
7e1877196SKonrad Dybcio
802a2fcfbSKonrad Dybcio#include <dt-bindings/leds/common.h>
9e1877196SKonrad Dybcio#include "qcm2290.dtsi"
1039e62f41SDmitry Baryshkov#include "pm4125.dtsi"
11e1877196SKonrad Dybcio
12e1877196SKonrad Dybcio/ {
13e1877196SKonrad Dybcio	model = "Qualcomm Technologies, Inc. Robotics RB1";
14e1877196SKonrad Dybcio	compatible = "qcom,qrb2210-rb1", "qcom,qrb2210", "qcom,qcm2290";
15e1877196SKonrad Dybcio
16e1877196SKonrad Dybcio	aliases {
17973c015fSKonrad Dybcio		serial0 = &uart4;
18*9380e0a1SDmitry Baryshkov		serial1 = &uart3;
19e1877196SKonrad Dybcio		sdhc1 = &sdhc_1;
20e1877196SKonrad Dybcio		sdhc2 = &sdhc_2;
21e1877196SKonrad Dybcio	};
22e1877196SKonrad Dybcio
23e1877196SKonrad Dybcio	chosen {
24e1877196SKonrad Dybcio		stdout-path = "serial0:115200n8";
25e1877196SKonrad Dybcio	};
26e1877196SKonrad Dybcio
27252bc7adSKonrad Dybcio	clocks {
286a364990SKrzysztof Kozlowski		clk40m: can-clk {
29252bc7adSKonrad Dybcio			compatible = "fixed-clock";
30252bc7adSKonrad Dybcio			clock-frequency = <40000000>;
31252bc7adSKonrad Dybcio			#clock-cells = <0>;
32252bc7adSKonrad Dybcio		};
33252bc7adSKonrad Dybcio	};
34252bc7adSKonrad Dybcio
35e1877196SKonrad Dybcio	gpio-keys {
36e1877196SKonrad Dybcio		compatible = "gpio-keys";
37e1877196SKonrad Dybcio		label = "gpio-keys";
38e1877196SKonrad Dybcio
39e1877196SKonrad Dybcio		pinctrl-0 = <&key_volp_n>;
40e1877196SKonrad Dybcio		pinctrl-names = "default";
41e1877196SKonrad Dybcio
42e1877196SKonrad Dybcio		key-volume-up {
43e1877196SKonrad Dybcio			label = "Volume Up";
44e1877196SKonrad Dybcio			linux,code = <KEY_VOLUMEUP>;
45e1877196SKonrad Dybcio			gpios = <&tlmm 96 GPIO_ACTIVE_LOW>;
46e1877196SKonrad Dybcio			debounce-interval = <15>;
47e1877196SKonrad Dybcio			linux,can-disable;
48e1877196SKonrad Dybcio			wakeup-source;
49e1877196SKonrad Dybcio		};
50e1877196SKonrad Dybcio	};
51b4fe47d1SKonrad Dybcio
52616eda24SKonrad Dybcio	hdmi-connector {
53616eda24SKonrad Dybcio		compatible = "hdmi-connector";
54616eda24SKonrad Dybcio		type = "a";
55616eda24SKonrad Dybcio
56616eda24SKonrad Dybcio		port {
57616eda24SKonrad Dybcio			hdmi_con: endpoint {
58616eda24SKonrad Dybcio				remote-endpoint = <&lt9611_out>;
59616eda24SKonrad Dybcio			};
60616eda24SKonrad Dybcio		};
61616eda24SKonrad Dybcio	};
62616eda24SKonrad Dybcio
63b7b545ccSDmitry Baryshkov	i2c2_gpio: i2c {
64b7b545ccSDmitry Baryshkov		compatible = "i2c-gpio";
65b7b545ccSDmitry Baryshkov
66b7b545ccSDmitry Baryshkov		sda-gpios = <&tlmm 6 GPIO_ACTIVE_HIGH>;
67b7b545ccSDmitry Baryshkov		scl-gpios = <&tlmm 7 GPIO_ACTIVE_HIGH>;
68b7b545ccSDmitry Baryshkov		#address-cells = <1>;
69b7b545ccSDmitry Baryshkov		#size-cells = <0>;
70b7b545ccSDmitry Baryshkov
71b7b545ccSDmitry Baryshkov		status = "disabled";
72b7b545ccSDmitry Baryshkov	};
73b7b545ccSDmitry Baryshkov
7402a2fcfbSKonrad Dybcio	leds {
7502a2fcfbSKonrad Dybcio		compatible = "gpio-leds";
7602a2fcfbSKonrad Dybcio
7702a2fcfbSKonrad Dybcio		led-bt {
7802a2fcfbSKonrad Dybcio			label = "blue:bt";
7902a2fcfbSKonrad Dybcio			function = LED_FUNCTION_BLUETOOTH;
8002a2fcfbSKonrad Dybcio			color = <LED_COLOR_ID_BLUE>;
8102a2fcfbSKonrad Dybcio			gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>;
8202a2fcfbSKonrad Dybcio			linux,default-trigger = "bluetooth-power";
8302a2fcfbSKonrad Dybcio			default-state = "off";
8402a2fcfbSKonrad Dybcio		};
8502a2fcfbSKonrad Dybcio
8602a2fcfbSKonrad Dybcio		led-user0 {
8702a2fcfbSKonrad Dybcio			label = "green:user0";
8802a2fcfbSKonrad Dybcio			function = LED_FUNCTION_INDICATOR;
8902a2fcfbSKonrad Dybcio			color = <LED_COLOR_ID_GREEN>;
9002a2fcfbSKonrad Dybcio			gpios = <&tlmm 52 GPIO_ACTIVE_HIGH>;
9102a2fcfbSKonrad Dybcio			linux,default-trigger = "none";
9202a2fcfbSKonrad Dybcio			default-state = "off";
9302a2fcfbSKonrad Dybcio			panic-indicator;
9402a2fcfbSKonrad Dybcio		};
9502a2fcfbSKonrad Dybcio
9602a2fcfbSKonrad Dybcio		led-wlan {
9702a2fcfbSKonrad Dybcio			label = "yellow:wlan";
9802a2fcfbSKonrad Dybcio			function = LED_FUNCTION_WLAN;
9902a2fcfbSKonrad Dybcio			color = <LED_COLOR_ID_YELLOW>;
10002a2fcfbSKonrad Dybcio			gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>;
10102a2fcfbSKonrad Dybcio			linux,default-trigger = "phy0tx";
10202a2fcfbSKonrad Dybcio			default-state = "off";
10302a2fcfbSKonrad Dybcio		};
10402a2fcfbSKonrad Dybcio	};
10502a2fcfbSKonrad Dybcio
106b4fe47d1SKonrad Dybcio	vreg_hdmi_out_1p2: regulator-hdmi-out-1p2 {
107b4fe47d1SKonrad Dybcio		compatible = "regulator-fixed";
108b4fe47d1SKonrad Dybcio		regulator-name = "VREG_HDMI_OUT_1P2";
109b4fe47d1SKonrad Dybcio		regulator-min-microvolt = <1200000>;
110b4fe47d1SKonrad Dybcio		regulator-max-microvolt = <1200000>;
111b4fe47d1SKonrad Dybcio		vin-supply = <&vdc_1v2>;
112b4fe47d1SKonrad Dybcio		regulator-always-on;
113b4fe47d1SKonrad Dybcio		regulator-boot-on;
114b4fe47d1SKonrad Dybcio	};
115b4fe47d1SKonrad Dybcio
116b4fe47d1SKonrad Dybcio	lt9611_3v3: regulator-lt9611-3v3 {
117b4fe47d1SKonrad Dybcio		compatible = "regulator-fixed";
118b4fe47d1SKonrad Dybcio		regulator-name = "LT9611_3V3";
119b4fe47d1SKonrad Dybcio		regulator-min-microvolt = <3300000>;
120b4fe47d1SKonrad Dybcio		regulator-max-microvolt = <3300000>;
121b4fe47d1SKonrad Dybcio		vin-supply = <&vdc_3v3>;
122b4fe47d1SKonrad Dybcio		regulator-always-on;
123b4fe47d1SKonrad Dybcio		regulator-boot-on;
124b4fe47d1SKonrad Dybcio	};
125b4fe47d1SKonrad Dybcio
126b4fe47d1SKonrad Dybcio	/* Main barrel jack input */
127b4fe47d1SKonrad Dybcio	vdc_12v: regulator-vdc-12v {
128b4fe47d1SKonrad Dybcio		compatible = "regulator-fixed";
129b4fe47d1SKonrad Dybcio		regulator-name = "DC_12V";
130b4fe47d1SKonrad Dybcio		regulator-min-microvolt = <12000000>;
131b4fe47d1SKonrad Dybcio		regulator-max-microvolt = <12000000>;
132b4fe47d1SKonrad Dybcio		regulator-always-on;
133b4fe47d1SKonrad Dybcio		regulator-boot-on;
134b4fe47d1SKonrad Dybcio	};
135b4fe47d1SKonrad Dybcio
136b4fe47d1SKonrad Dybcio	/* 1.2V supply stepped down from the barrel jack input */
137b4fe47d1SKonrad Dybcio	vdc_1v2: regulator-vdc-1v2 {
138b4fe47d1SKonrad Dybcio		compatible = "regulator-fixed";
139b4fe47d1SKonrad Dybcio		regulator-name = "VDC_1V2";
140b4fe47d1SKonrad Dybcio		regulator-min-microvolt = <1200000>;
141b4fe47d1SKonrad Dybcio		regulator-max-microvolt = <1200000>;
142b4fe47d1SKonrad Dybcio		vin-supply = <&vdc_12v>;
143b4fe47d1SKonrad Dybcio		regulator-always-on;
144b4fe47d1SKonrad Dybcio		regulator-boot-on;
145b4fe47d1SKonrad Dybcio	};
146b4fe47d1SKonrad Dybcio
147b4fe47d1SKonrad Dybcio	/* 3.3V supply stepped down from the barrel jack input */
148b4fe47d1SKonrad Dybcio	vdc_3v3: regulator-vdc-3v3 {
149b4fe47d1SKonrad Dybcio		compatible = "regulator-fixed";
150b4fe47d1SKonrad Dybcio		regulator-name = "VDC_3V3";
151b4fe47d1SKonrad Dybcio		regulator-min-microvolt = <3300000>;
152b4fe47d1SKonrad Dybcio		regulator-max-microvolt = <3300000>;
153b4fe47d1SKonrad Dybcio		vin-supply = <&vdc_12v>;
154b4fe47d1SKonrad Dybcio		regulator-always-on;
155b4fe47d1SKonrad Dybcio		regulator-boot-on;
156b4fe47d1SKonrad Dybcio	};
157b4fe47d1SKonrad Dybcio
158b4fe47d1SKonrad Dybcio	/* 5V supply stepped down from the barrel jack input */
159b4fe47d1SKonrad Dybcio	vdc_5v: regulator-vdc-5v {
160b4fe47d1SKonrad Dybcio		compatible = "regulator-fixed";
161b4fe47d1SKonrad Dybcio		regulator-name = "VDC_5V";
162b4fe47d1SKonrad Dybcio
163b4fe47d1SKonrad Dybcio		regulator-min-microvolt = <5000000>;
164b4fe47d1SKonrad Dybcio		regulator-max-microvolt = <5000000>;
165b4fe47d1SKonrad Dybcio		regulator-always-on;
166b4fe47d1SKonrad Dybcio		regulator-boot-on;
167b4fe47d1SKonrad Dybcio	};
168b4fe47d1SKonrad Dybcio
169b4fe47d1SKonrad Dybcio	/* "Battery" voltage for the SoM, stepped down from the barrel jack input */
170b4fe47d1SKonrad Dybcio	vdc_vbat_som: regulator-vdc-vbat {
171b4fe47d1SKonrad Dybcio		compatible = "regulator-fixed";
172b4fe47d1SKonrad Dybcio		regulator-name = "VBAT_SOM";
173b4fe47d1SKonrad Dybcio		regulator-min-microvolt = <4200000>;
174b4fe47d1SKonrad Dybcio		regulator-max-microvolt = <4200000>;
175b4fe47d1SKonrad Dybcio		regulator-always-on;
176b4fe47d1SKonrad Dybcio		regulator-boot-on;
177b4fe47d1SKonrad Dybcio	};
178b4fe47d1SKonrad Dybcio
179b4fe47d1SKonrad Dybcio	/* PM2250 charger out, supplied by VBAT */
180b4fe47d1SKonrad Dybcio	vph_pwr: regulator-vph-pwr {
181b4fe47d1SKonrad Dybcio		compatible = "regulator-fixed";
182b4fe47d1SKonrad Dybcio		regulator-name = "vph_pwr";
183b4fe47d1SKonrad Dybcio		regulator-min-microvolt = <3700000>;
184b4fe47d1SKonrad Dybcio		regulator-max-microvolt = <3700000>;
185b4fe47d1SKonrad Dybcio		vin-supply = <&vdc_vbat_som>;
186b4fe47d1SKonrad Dybcio
187b4fe47d1SKonrad Dybcio		regulator-always-on;
188b4fe47d1SKonrad Dybcio		regulator-boot-on;
189b4fe47d1SKonrad Dybcio	};
190e1877196SKonrad Dybcio};
191e1877196SKonrad Dybcio
1926a364990SKrzysztof Kozlowski&cpu_pd0 {
1937f492d48SDmitry Baryshkov	/delete-property/ power-domains;
1947f492d48SDmitry Baryshkov};
1957f492d48SDmitry Baryshkov
1966a364990SKrzysztof Kozlowski&cpu_pd1 {
1977f492d48SDmitry Baryshkov	/delete-property/ power-domains;
1987f492d48SDmitry Baryshkov};
1997f492d48SDmitry Baryshkov
2006a364990SKrzysztof Kozlowski&cpu_pd2 {
2017f492d48SDmitry Baryshkov	/delete-property/ power-domains;
2027f492d48SDmitry Baryshkov};
2037f492d48SDmitry Baryshkov
2046a364990SKrzysztof Kozlowski&cpu_pd3 {
2057f492d48SDmitry Baryshkov	/delete-property/ power-domains;
2067f492d48SDmitry Baryshkov};
2077f492d48SDmitry Baryshkov
2086a364990SKrzysztof Kozlowski/delete-node/ &cluster_pd;
2097f492d48SDmitry Baryshkov
210616eda24SKonrad Dybcio&gpi_dma0 {
211616eda24SKonrad Dybcio	status = "okay";
212616eda24SKonrad Dybcio};
213616eda24SKonrad Dybcio
2141ae60a51SKonrad Dybcio&gpu {
2151ae60a51SKonrad Dybcio	status = "okay";
2161ae60a51SKonrad Dybcio
2171ae60a51SKonrad Dybcio	zap-shader {
2181ae60a51SKonrad Dybcio		firmware-name = "qcom/qcm2290/a702_zap.mbn";
2191ae60a51SKonrad Dybcio	};
2201ae60a51SKonrad Dybcio};
2211ae60a51SKonrad Dybcio
222b7b545ccSDmitry Baryshkov&i2c2_gpio {
223616eda24SKonrad Dybcio	clock-frequency = <400000>;
224616eda24SKonrad Dybcio	status = "okay";
225616eda24SKonrad Dybcio
226616eda24SKonrad Dybcio	lt9611_codec: hdmi-bridge@2b {
227616eda24SKonrad Dybcio		compatible = "lontium,lt9611uxc";
228616eda24SKonrad Dybcio		reg = <0x2b>;
229616eda24SKonrad Dybcio		interrupts-extended = <&tlmm 46 IRQ_TYPE_EDGE_FALLING>;
230616eda24SKonrad Dybcio		reset-gpios = <&tlmm 41 GPIO_ACTIVE_HIGH>;
231616eda24SKonrad Dybcio
232616eda24SKonrad Dybcio		vdd-supply = <&vreg_hdmi_out_1p2>;
233616eda24SKonrad Dybcio		vcc-supply = <&lt9611_3v3>;
234616eda24SKonrad Dybcio
235616eda24SKonrad Dybcio		pinctrl-0 = <&lt9611_irq_pin &lt9611_rst_pin>;
236616eda24SKonrad Dybcio		pinctrl-names = "default";
237616eda24SKonrad Dybcio		#sound-dai-cells = <1>;
238616eda24SKonrad Dybcio
239616eda24SKonrad Dybcio		ports {
240616eda24SKonrad Dybcio			#address-cells = <1>;
241616eda24SKonrad Dybcio			#size-cells = <0>;
242616eda24SKonrad Dybcio
243616eda24SKonrad Dybcio			port@0 {
244616eda24SKonrad Dybcio				reg = <0>;
245616eda24SKonrad Dybcio
246616eda24SKonrad Dybcio				lt9611_a: endpoint {
247616eda24SKonrad Dybcio					remote-endpoint = <&mdss_dsi0_out>;
248616eda24SKonrad Dybcio				};
249616eda24SKonrad Dybcio			};
250616eda24SKonrad Dybcio
251616eda24SKonrad Dybcio			port@2 {
252616eda24SKonrad Dybcio				reg = <2>;
253616eda24SKonrad Dybcio
254616eda24SKonrad Dybcio				lt9611_out: endpoint {
255616eda24SKonrad Dybcio					remote-endpoint = <&hdmi_con>;
256616eda24SKonrad Dybcio				};
257616eda24SKonrad Dybcio			};
258616eda24SKonrad Dybcio		};
259616eda24SKonrad Dybcio	};
260616eda24SKonrad Dybcio};
261616eda24SKonrad Dybcio
262616eda24SKonrad Dybcio&mdss {
263616eda24SKonrad Dybcio	status = "okay";
264616eda24SKonrad Dybcio};
265616eda24SKonrad Dybcio
266616eda24SKonrad Dybcio&mdss_dsi0 {
26739e62f41SDmitry Baryshkov	vdda-supply = <&pm4125_l5>;
268616eda24SKonrad Dybcio	status = "okay";
269616eda24SKonrad Dybcio};
270616eda24SKonrad Dybcio
271616eda24SKonrad Dybcio&mdss_dsi0_out {
272616eda24SKonrad Dybcio	remote-endpoint = <&lt9611_a>;
273616eda24SKonrad Dybcio	data-lanes = <0 1 2 3>;
274616eda24SKonrad Dybcio};
275616eda24SKonrad Dybcio
276616eda24SKonrad Dybcio&mdss_dsi0_phy {
277616eda24SKonrad Dybcio	status = "okay";
278616eda24SKonrad Dybcio};
279616eda24SKonrad Dybcio
28039e62f41SDmitry Baryshkov&pm4125_resin {
281e1877196SKonrad Dybcio	linux,code = <KEY_VOLUMEDOWN>;
282e1877196SKonrad Dybcio	status = "okay";
283e1877196SKonrad Dybcio};
284e1877196SKonrad Dybcio
285c39c5aedSDmitry Baryshkov&pm4125_typec {
286c39c5aedSDmitry Baryshkov	status = "okay";
287c39c5aedSDmitry Baryshkov
288c39c5aedSDmitry Baryshkov	connector {
289c39c5aedSDmitry Baryshkov		compatible = "usb-c-connector";
290c39c5aedSDmitry Baryshkov
291c39c5aedSDmitry Baryshkov		power-role = "dual";
292c39c5aedSDmitry Baryshkov		data-role = "dual";
293c39c5aedSDmitry Baryshkov		self-powered;
294c39c5aedSDmitry Baryshkov
295c39c5aedSDmitry Baryshkov		typec-power-opmode = "default";
296c39c5aedSDmitry Baryshkov		pd-disable;
297c39c5aedSDmitry Baryshkov
298c39c5aedSDmitry Baryshkov		ports {
299c39c5aedSDmitry Baryshkov			#address-cells = <1>;
300c39c5aedSDmitry Baryshkov			#size-cells = <0>;
301c39c5aedSDmitry Baryshkov
302c39c5aedSDmitry Baryshkov			port@0 {
303c39c5aedSDmitry Baryshkov				reg = <0>;
304c39c5aedSDmitry Baryshkov				pm4125_hs_in: endpoint {
305c39c5aedSDmitry Baryshkov					remote-endpoint = <&usb_dwc3_hs>;
306c39c5aedSDmitry Baryshkov				};
307c39c5aedSDmitry Baryshkov			};
308c39c5aedSDmitry Baryshkov
309c39c5aedSDmitry Baryshkov			port@1 {
310c39c5aedSDmitry Baryshkov				reg = <1>;
311c39c5aedSDmitry Baryshkov				pm4125_ss_in: endpoint {
312c39c5aedSDmitry Baryshkov					remote-endpoint = <&usb_qmpphy_out>;
313c39c5aedSDmitry Baryshkov				};
314c39c5aedSDmitry Baryshkov			};
315c39c5aedSDmitry Baryshkov		};
316c39c5aedSDmitry Baryshkov	};
317c39c5aedSDmitry Baryshkov};
318c39c5aedSDmitry Baryshkov
319c39c5aedSDmitry Baryshkov&pm4125_vbus {
320c39c5aedSDmitry Baryshkov	regulator-min-microamp = <500000>;
321c39c5aedSDmitry Baryshkov	regulator-max-microamp = <500000>;
322c39c5aedSDmitry Baryshkov	status = "okay";
323c39c5aedSDmitry Baryshkov};
324c39c5aedSDmitry Baryshkov
325e1877196SKonrad Dybcio&qupv3_id_0 {
326e1877196SKonrad Dybcio	status = "okay";
327e1877196SKonrad Dybcio};
328e1877196SKonrad Dybcio
3299692ccc4SKonrad Dybcio&remoteproc_adsp {
3309692ccc4SKonrad Dybcio	firmware-name = "qcom/qcm2290/adsp.mbn";
3319692ccc4SKonrad Dybcio	status = "okay";
3329692ccc4SKonrad Dybcio};
3339692ccc4SKonrad Dybcio
3349692ccc4SKonrad Dybcio&remoteproc_mpss {
3359692ccc4SKonrad Dybcio	firmware-name = "qcom/qcm2290/modem.mbn";
3369692ccc4SKonrad Dybcio	status = "okay";
3379692ccc4SKonrad Dybcio};
3389692ccc4SKonrad Dybcio
339b4fe47d1SKonrad Dybcio&rpm_requests {
340b4fe47d1SKonrad Dybcio	regulators {
341b4fe47d1SKonrad Dybcio		compatible = "qcom,rpm-pm2250-regulators";
342b4fe47d1SKonrad Dybcio		vdd_s3-supply = <&vph_pwr>;
343b4fe47d1SKonrad Dybcio		vdd_s4-supply = <&vph_pwr>;
34439e62f41SDmitry Baryshkov		vdd_l1_l2_l3_l5_l6_l7_l8_l9_l10_l11_l12-supply = <&pm4125_s3>;
345b4fe47d1SKonrad Dybcio		vdd_l4_l17_l18_l19_l20_l21_l22-supply = <&vph_pwr>;
34639e62f41SDmitry Baryshkov		vdd_l13_l14_l15_l16-supply = <&pm4125_s4>;
347b4fe47d1SKonrad Dybcio
348b4fe47d1SKonrad Dybcio		/*
349b4fe47d1SKonrad Dybcio		 * S1 - VDD_APC
350b4fe47d1SKonrad Dybcio		 * S2 - VDD_CX
351b4fe47d1SKonrad Dybcio		 */
352b4fe47d1SKonrad Dybcio
35339e62f41SDmitry Baryshkov		pm4125_s3: s3 {
354b4fe47d1SKonrad Dybcio			/* 0.4V-1.6625V -> 1.3V (Power tree requirements) */
35531bee707SKonrad Dybcio			regulator-min-microvolt = <1352000>;
35631bee707SKonrad Dybcio			regulator-max-microvolt = <1352000>;
357b4fe47d1SKonrad Dybcio			regulator-boot-on;
358b4fe47d1SKonrad Dybcio		};
359b4fe47d1SKonrad Dybcio
36039e62f41SDmitry Baryshkov		pm4125_s4: s4 {
361b4fe47d1SKonrad Dybcio			/* 1.2V-2.35V -> 2.05V (Power tree requirements) */
36231bee707SKonrad Dybcio			regulator-min-microvolt = <2072000>;
36331bee707SKonrad Dybcio			regulator-max-microvolt = <2072000>;
364b4fe47d1SKonrad Dybcio			regulator-boot-on;
365b4fe47d1SKonrad Dybcio		};
366b4fe47d1SKonrad Dybcio
367b4fe47d1SKonrad Dybcio		/* L1 - VDD_MX */
368b4fe47d1SKonrad Dybcio
36939e62f41SDmitry Baryshkov		pm4125_l2: l2 {
370b4fe47d1SKonrad Dybcio			/* LPDDR4X VDD2 */
37131bee707SKonrad Dybcio			regulator-min-microvolt = <1136000>;
37231bee707SKonrad Dybcio			regulator-max-microvolt = <1136000>;
373b4fe47d1SKonrad Dybcio			regulator-always-on;
374b4fe47d1SKonrad Dybcio			regulator-boot-on;
375b4fe47d1SKonrad Dybcio		};
376b4fe47d1SKonrad Dybcio
37739e62f41SDmitry Baryshkov		pm4125_l3: l3 {
378b4fe47d1SKonrad Dybcio			/* LPDDR4X VDDQ */
37931bee707SKonrad Dybcio			regulator-min-microvolt = <616000>;
38031bee707SKonrad Dybcio			regulator-max-microvolt = <616000>;
381b4fe47d1SKonrad Dybcio			regulator-always-on;
382b4fe47d1SKonrad Dybcio			regulator-boot-on;
383b4fe47d1SKonrad Dybcio		};
384b4fe47d1SKonrad Dybcio
38539e62f41SDmitry Baryshkov		pm4125_l4: l4 {
38631bee707SKonrad Dybcio			/* max = 3.05V -> max = 2.7 to disable 3V signaling (SDHCI2) */
38731bee707SKonrad Dybcio			regulator-min-microvolt = <1800000>;
38831bee707SKonrad Dybcio			regulator-max-microvolt = <2700000>;
389b4fe47d1SKonrad Dybcio			regulator-allow-set-load;
390b4fe47d1SKonrad Dybcio		};
391b4fe47d1SKonrad Dybcio
39239e62f41SDmitry Baryshkov		pm4125_l5: l5 {
393b4fe47d1SKonrad Dybcio			/* CSI/DSI */
39431bee707SKonrad Dybcio			regulator-min-microvolt = <1232000>;
39531bee707SKonrad Dybcio			regulator-max-microvolt = <1232000>;
396b4fe47d1SKonrad Dybcio			regulator-allow-set-load;
397b4fe47d1SKonrad Dybcio			regulator-boot-on;
398b4fe47d1SKonrad Dybcio		};
399b4fe47d1SKonrad Dybcio
40039e62f41SDmitry Baryshkov		pm4125_l6: l6 {
401b4fe47d1SKonrad Dybcio			/* DRAM PLL */
40231bee707SKonrad Dybcio			regulator-min-microvolt = <928000>;
40331bee707SKonrad Dybcio			regulator-max-microvolt = <928000>;
404b4fe47d1SKonrad Dybcio			regulator-always-on;
405b4fe47d1SKonrad Dybcio			regulator-boot-on;
406b4fe47d1SKonrad Dybcio		};
407b4fe47d1SKonrad Dybcio
40839e62f41SDmitry Baryshkov		pm4125_l7: l7 {
409b4fe47d1SKonrad Dybcio			/* Wi-Fi CX/MX */
41031bee707SKonrad Dybcio			regulator-min-microvolt = <664000>;
41131bee707SKonrad Dybcio			regulator-max-microvolt = <664000>;
412b4fe47d1SKonrad Dybcio		};
413b4fe47d1SKonrad Dybcio
414b4fe47d1SKonrad Dybcio		/*
415b4fe47d1SKonrad Dybcio		 * L8 - VDD_LPI_CX
416b4fe47d1SKonrad Dybcio		 * L9 - VDD_LPI_MX
417b4fe47d1SKonrad Dybcio		 */
418b4fe47d1SKonrad Dybcio
41939e62f41SDmitry Baryshkov		pm4125_l10: l10 {
420b4fe47d1SKonrad Dybcio			/* Wi-Fi RFA */
42131bee707SKonrad Dybcio			regulator-min-microvolt = <1304000>;
42231bee707SKonrad Dybcio			regulator-max-microvolt = <1304000>;
423b4fe47d1SKonrad Dybcio		};
424b4fe47d1SKonrad Dybcio
42539e62f41SDmitry Baryshkov		pm4125_l11: l11 {
426b4fe47d1SKonrad Dybcio			/* GPS RF1 */
42731bee707SKonrad Dybcio			regulator-min-microvolt = <1000000>;
42831bee707SKonrad Dybcio			regulator-max-microvolt = <1000000>;
429b4fe47d1SKonrad Dybcio			regulator-boot-on;
430b4fe47d1SKonrad Dybcio		};
431b4fe47d1SKonrad Dybcio
43239e62f41SDmitry Baryshkov		pm4125_l12: l12 {
433b4fe47d1SKonrad Dybcio			/* USB PHYs */
43431bee707SKonrad Dybcio			regulator-min-microvolt = <928000>;
43531bee707SKonrad Dybcio			regulator-max-microvolt = <928000>;
436b4fe47d1SKonrad Dybcio			regulator-allow-set-load;
437b4fe47d1SKonrad Dybcio			regulator-boot-on;
438b4fe47d1SKonrad Dybcio		};
439b4fe47d1SKonrad Dybcio
44039e62f41SDmitry Baryshkov		pm4125_l13: l13 {
441b4fe47d1SKonrad Dybcio			/* USB/QFPROM/PLLs */
44231bee707SKonrad Dybcio			regulator-min-microvolt = <1800000>;
44331bee707SKonrad Dybcio			regulator-max-microvolt = <1800000>;
444b4fe47d1SKonrad Dybcio			regulator-allow-set-load;
445b4fe47d1SKonrad Dybcio			regulator-boot-on;
446b4fe47d1SKonrad Dybcio		};
447b4fe47d1SKonrad Dybcio
44839e62f41SDmitry Baryshkov		pm4125_l14: l14 {
449b4fe47d1SKonrad Dybcio			/* SDHCI1 VQMMC */
45031bee707SKonrad Dybcio			regulator-min-microvolt = <1800000>;
45131bee707SKonrad Dybcio			regulator-max-microvolt = <1800000>;
452b4fe47d1SKonrad Dybcio			regulator-allow-set-load;
453b4fe47d1SKonrad Dybcio			/* Broken hardware, never turn it off! */
454b4fe47d1SKonrad Dybcio			regulator-always-on;
455b4fe47d1SKonrad Dybcio		};
456b4fe47d1SKonrad Dybcio
45739e62f41SDmitry Baryshkov		pm4125_l15: l15 {
458b4fe47d1SKonrad Dybcio			/* WCD/DSI/BT VDDIO */
45931bee707SKonrad Dybcio			regulator-min-microvolt = <1800000>;
46031bee707SKonrad Dybcio			regulator-max-microvolt = <1800000>;
461b4fe47d1SKonrad Dybcio			regulator-allow-set-load;
462b4fe47d1SKonrad Dybcio			regulator-always-on;
463b4fe47d1SKonrad Dybcio			regulator-boot-on;
464b4fe47d1SKonrad Dybcio		};
465b4fe47d1SKonrad Dybcio
46639e62f41SDmitry Baryshkov		pm4125_l16: l16 {
467b4fe47d1SKonrad Dybcio			/* GPS RF2 */
46831bee707SKonrad Dybcio			regulator-min-microvolt = <1800000>;
46931bee707SKonrad Dybcio			regulator-max-microvolt = <1800000>;
470b4fe47d1SKonrad Dybcio			regulator-boot-on;
471b4fe47d1SKonrad Dybcio		};
472b4fe47d1SKonrad Dybcio
47339e62f41SDmitry Baryshkov		pm4125_l17: l17 {
47431bee707SKonrad Dybcio			regulator-min-microvolt = <3000000>;
47531bee707SKonrad Dybcio			regulator-max-microvolt = <3000000>;
476b4fe47d1SKonrad Dybcio		};
477b4fe47d1SKonrad Dybcio
47839e62f41SDmitry Baryshkov		pm4125_l18: l18 {
479b4fe47d1SKonrad Dybcio			/* VDD_PXn */
48031bee707SKonrad Dybcio			regulator-min-microvolt = <1800000>;
48131bee707SKonrad Dybcio			regulator-max-microvolt = <1800000>;
482b4fe47d1SKonrad Dybcio		};
483b4fe47d1SKonrad Dybcio
48439e62f41SDmitry Baryshkov		pm4125_l19: l19 {
485b4fe47d1SKonrad Dybcio			/* VDD_PXn */
48631bee707SKonrad Dybcio			regulator-min-microvolt = <1800000>;
48731bee707SKonrad Dybcio			regulator-max-microvolt = <1800000>;
488b4fe47d1SKonrad Dybcio		};
489b4fe47d1SKonrad Dybcio
49039e62f41SDmitry Baryshkov		pm4125_l20: l20 {
491b4fe47d1SKonrad Dybcio			/* SDHCI1 VMMC */
49231bee707SKonrad Dybcio			regulator-min-microvolt = <2400000>;
49331bee707SKonrad Dybcio			regulator-max-microvolt = <3600000>;
494b4fe47d1SKonrad Dybcio			regulator-allow-set-load;
495b4fe47d1SKonrad Dybcio		};
496b4fe47d1SKonrad Dybcio
49739e62f41SDmitry Baryshkov		pm4125_l21: l21 {
498b4fe47d1SKonrad Dybcio			/* SDHCI2 VMMC */
49931bee707SKonrad Dybcio			regulator-min-microvolt = <2960000>;
50031bee707SKonrad Dybcio			regulator-max-microvolt = <3300000>;
501b4fe47d1SKonrad Dybcio			regulator-allow-set-load;
502b4fe47d1SKonrad Dybcio			regulator-boot-on;
503b4fe47d1SKonrad Dybcio		};
504b4fe47d1SKonrad Dybcio
50539e62f41SDmitry Baryshkov		pm4125_l22: l22 {
506b4fe47d1SKonrad Dybcio			/* Wi-Fi */
50731bee707SKonrad Dybcio			regulator-min-microvolt = <3312000>;
50831bee707SKonrad Dybcio			regulator-max-microvolt = <3312000>;
509b4fe47d1SKonrad Dybcio		};
510b4fe47d1SKonrad Dybcio	};
511b4fe47d1SKonrad Dybcio};
512b4fe47d1SKonrad Dybcio
513e1877196SKonrad Dybcio&sdhc_1 {
51439e62f41SDmitry Baryshkov	vmmc-supply = <&pm4125_l20>;
51539e62f41SDmitry Baryshkov	vqmmc-supply = <&pm4125_l14>;
516e1877196SKonrad Dybcio	pinctrl-0 = <&sdc1_state_on>;
517e1877196SKonrad Dybcio	pinctrl-1 = <&sdc1_state_off>;
518e1877196SKonrad Dybcio	pinctrl-names = "default", "sleep";
519e1877196SKonrad Dybcio	non-removable;
520e1877196SKonrad Dybcio	supports-cqe;
521e1877196SKonrad Dybcio	no-sdio;
522e1877196SKonrad Dybcio	no-sd;
523e1877196SKonrad Dybcio	status = "okay";
524e1877196SKonrad Dybcio};
525e1877196SKonrad Dybcio
526e1877196SKonrad Dybcio&sdhc_2 {
52739e62f41SDmitry Baryshkov	vmmc-supply = <&pm4125_l21>;
52839e62f41SDmitry Baryshkov	vqmmc-supply = <&pm4125_l4>;
529e1877196SKonrad Dybcio	cd-gpios = <&tlmm 88 GPIO_ACTIVE_LOW>;
530e1877196SKonrad Dybcio	pinctrl-0 = <&sdc2_state_on &sd_det_in_on>;
531e1877196SKonrad Dybcio	pinctrl-1 = <&sdc2_state_off &sd_det_in_off>;
532e1877196SKonrad Dybcio	pinctrl-names = "default", "sleep";
533e1877196SKonrad Dybcio	no-sdio;
534e1877196SKonrad Dybcio	no-mmc;
535e1877196SKonrad Dybcio	status = "okay";
536e1877196SKonrad Dybcio};
537e1877196SKonrad Dybcio
538252bc7adSKonrad Dybcio&spi5 {
539252bc7adSKonrad Dybcio	status = "okay";
540252bc7adSKonrad Dybcio
541252bc7adSKonrad Dybcio	can@0 {
542252bc7adSKonrad Dybcio		compatible = "microchip,mcp2518fd";
543252bc7adSKonrad Dybcio		reg = <0>;
544252bc7adSKonrad Dybcio		interrupts-extended = <&tlmm 39 IRQ_TYPE_LEVEL_LOW>;
5456a364990SKrzysztof Kozlowski		clocks = <&clk40m>;
546252bc7adSKonrad Dybcio		spi-max-frequency = <10000000>;
547252bc7adSKonrad Dybcio		vdd-supply = <&vdc_5v>;
548252bc7adSKonrad Dybcio		xceiver-supply = <&vdc_5v>;
549252bc7adSKonrad Dybcio	};
550252bc7adSKonrad Dybcio};
551252bc7adSKonrad Dybcio
552e1877196SKonrad Dybcio&tlmm {
553*9380e0a1SDmitry Baryshkov	uart3_default: uart3-default-state {
554*9380e0a1SDmitry Baryshkov		cts-pins {
555*9380e0a1SDmitry Baryshkov			pins = "gpio8";
556*9380e0a1SDmitry Baryshkov			function = "qup3";
557*9380e0a1SDmitry Baryshkov			drive-strength = <2>;
558*9380e0a1SDmitry Baryshkov			bias-bus-hold;
559*9380e0a1SDmitry Baryshkov		};
560*9380e0a1SDmitry Baryshkov
561*9380e0a1SDmitry Baryshkov		rts-pins {
562*9380e0a1SDmitry Baryshkov			pins = "gpio9";
563*9380e0a1SDmitry Baryshkov			function = "qup3";
564*9380e0a1SDmitry Baryshkov			drive-strength = <2>;
565*9380e0a1SDmitry Baryshkov			bias-disable;
566*9380e0a1SDmitry Baryshkov		};
567*9380e0a1SDmitry Baryshkov
568*9380e0a1SDmitry Baryshkov		tx-pins {
569*9380e0a1SDmitry Baryshkov			pins = "gpio10";
570*9380e0a1SDmitry Baryshkov			function = "qup3";
571*9380e0a1SDmitry Baryshkov			drive-strength = <2>;
572*9380e0a1SDmitry Baryshkov			bias-disable;
573*9380e0a1SDmitry Baryshkov		};
574*9380e0a1SDmitry Baryshkov
575*9380e0a1SDmitry Baryshkov		rx-pins {
576*9380e0a1SDmitry Baryshkov			pins = "gpio11";
577*9380e0a1SDmitry Baryshkov			function = "qup3";
578*9380e0a1SDmitry Baryshkov			drive-strength = <2>;
579*9380e0a1SDmitry Baryshkov			bias-pull-up;
580*9380e0a1SDmitry Baryshkov		};
581*9380e0a1SDmitry Baryshkov	};
582*9380e0a1SDmitry Baryshkov
583*9380e0a1SDmitry Baryshkov	uart3_sleep: uart3-sleep-state {
584*9380e0a1SDmitry Baryshkov		cts-pins {
585*9380e0a1SDmitry Baryshkov			pins = "gpio8";
586*9380e0a1SDmitry Baryshkov			function = "gpio";
587*9380e0a1SDmitry Baryshkov			drive-strength = <2>;
588*9380e0a1SDmitry Baryshkov			bias-bus-hold;
589*9380e0a1SDmitry Baryshkov		};
590*9380e0a1SDmitry Baryshkov
591*9380e0a1SDmitry Baryshkov		rts-pins {
592*9380e0a1SDmitry Baryshkov			pins = "gpio9";
593*9380e0a1SDmitry Baryshkov			function = "gpio";
594*9380e0a1SDmitry Baryshkov			drive-strength = <2>;
595*9380e0a1SDmitry Baryshkov			bias-pull-down;
596*9380e0a1SDmitry Baryshkov		};
597*9380e0a1SDmitry Baryshkov
598*9380e0a1SDmitry Baryshkov		tx-pins {
599*9380e0a1SDmitry Baryshkov			pins = "gpio10";
600*9380e0a1SDmitry Baryshkov			function = "gpio";
601*9380e0a1SDmitry Baryshkov			drive-strength = <2>;
602*9380e0a1SDmitry Baryshkov			bias-pull-up;
603*9380e0a1SDmitry Baryshkov		};
604*9380e0a1SDmitry Baryshkov
605*9380e0a1SDmitry Baryshkov		rx-pins {
606*9380e0a1SDmitry Baryshkov			pins = "gpio11";
607*9380e0a1SDmitry Baryshkov			function = "gpio";
608*9380e0a1SDmitry Baryshkov			drive-strength = <2>;
609*9380e0a1SDmitry Baryshkov			bias-pull-up;
610*9380e0a1SDmitry Baryshkov		};
611*9380e0a1SDmitry Baryshkov	};
612*9380e0a1SDmitry Baryshkov
613616eda24SKonrad Dybcio	lt9611_rst_pin: lt9611-rst-state {
614616eda24SKonrad Dybcio		pins = "gpio41";
615616eda24SKonrad Dybcio		function = "gpio";
616616eda24SKonrad Dybcio		input-disable;
617616eda24SKonrad Dybcio		output-high;
618616eda24SKonrad Dybcio	};
619616eda24SKonrad Dybcio
620616eda24SKonrad Dybcio	lt9611_irq_pin: lt9611-irq-state {
621616eda24SKonrad Dybcio		pins = "gpio46";
622616eda24SKonrad Dybcio		function = "gpio";
623616eda24SKonrad Dybcio		bias-disable;
624616eda24SKonrad Dybcio	};
625616eda24SKonrad Dybcio
626e1877196SKonrad Dybcio	sd_det_in_on: sd-det-in-on-state {
627e1877196SKonrad Dybcio		pins = "gpio88";
628e1877196SKonrad Dybcio		function = "gpio";
629e1877196SKonrad Dybcio		drive-strength = <2>;
630e1877196SKonrad Dybcio		bias-pull-up;
631e1877196SKonrad Dybcio	};
632e1877196SKonrad Dybcio
633e1877196SKonrad Dybcio	sd_det_in_off: sd-det-in-off-state {
634e1877196SKonrad Dybcio		pins = "gpio88";
635e1877196SKonrad Dybcio		function = "gpio";
636e1877196SKonrad Dybcio		drive-strength = <2>;
637e1877196SKonrad Dybcio		bias-disable;
638e1877196SKonrad Dybcio	};
639e1877196SKonrad Dybcio
640e1877196SKonrad Dybcio	key_volp_n: key-volp-n-state {
641e1877196SKonrad Dybcio		pins = "gpio96";
642e1877196SKonrad Dybcio		function = "gpio";
643e1877196SKonrad Dybcio		bias-pull-up;
644e1877196SKonrad Dybcio		output-disable;
645e1877196SKonrad Dybcio	};
646e1877196SKonrad Dybcio};
647e1877196SKonrad Dybcio
648*9380e0a1SDmitry Baryshkov&uart3 {
649*9380e0a1SDmitry Baryshkov	/delete-property/ interrupts;
650*9380e0a1SDmitry Baryshkov	interrupts-extended = <&intc GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
651*9380e0a1SDmitry Baryshkov			      <&tlmm 11 IRQ_TYPE_LEVEL_HIGH>;
652*9380e0a1SDmitry Baryshkov	pinctrl-0 = <&uart3_default>;
653*9380e0a1SDmitry Baryshkov	pinctrl-1 = <&uart3_sleep>;
654*9380e0a1SDmitry Baryshkov	pinctrl-names = "default", "sleep";
655*9380e0a1SDmitry Baryshkov
656*9380e0a1SDmitry Baryshkov	status = "okay";
657*9380e0a1SDmitry Baryshkov
658*9380e0a1SDmitry Baryshkov	bluetooth {
659*9380e0a1SDmitry Baryshkov		compatible = "qcom,wcn3950-bt";
660*9380e0a1SDmitry Baryshkov
661*9380e0a1SDmitry Baryshkov		vddio-supply = <&pm4125_l15>;
662*9380e0a1SDmitry Baryshkov		vddxo-supply = <&pm4125_l13>;
663*9380e0a1SDmitry Baryshkov		vddrf-supply = <&pm4125_l10>;
664*9380e0a1SDmitry Baryshkov		vddch0-supply = <&pm4125_l22>;
665*9380e0a1SDmitry Baryshkov		enable-gpios = <&tlmm 87 GPIO_ACTIVE_HIGH>;
666*9380e0a1SDmitry Baryshkov		max-speed = <3200000>;
667*9380e0a1SDmitry Baryshkov	};
668*9380e0a1SDmitry Baryshkov};
669*9380e0a1SDmitry Baryshkov
670e1877196SKonrad Dybcio/* UART connected to the Micro-USB port via a FTDI chip */
671973c015fSKonrad Dybcio&uart4 {
672e1877196SKonrad Dybcio	compatible = "qcom,geni-debug-uart";
673e1877196SKonrad Dybcio	status = "okay";
674e1877196SKonrad Dybcio};
675e1877196SKonrad Dybcio
676e1877196SKonrad Dybcio&usb {
677e1877196SKonrad Dybcio	status = "okay";
678e1877196SKonrad Dybcio};
679e1877196SKonrad Dybcio
680c39c5aedSDmitry Baryshkov&usb_dwc3_hs {
681c39c5aedSDmitry Baryshkov	remote-endpoint = <&pm4125_hs_in>;
682e0cee8dcSCaleb Connolly};
683e0cee8dcSCaleb Connolly
684e1877196SKonrad Dybcio&usb_hsphy {
68539e62f41SDmitry Baryshkov	vdd-supply = <&pm4125_l12>;
68639e62f41SDmitry Baryshkov	vdda-pll-supply = <&pm4125_l13>;
68739e62f41SDmitry Baryshkov	vdda-phy-dpdm-supply = <&pm4125_l21>;
688e1877196SKonrad Dybcio	status = "okay";
689e1877196SKonrad Dybcio};
690e1877196SKonrad Dybcio
691c39c5aedSDmitry Baryshkov&usb_qmpphy {
692c39c5aedSDmitry Baryshkov	vdda-phy-supply = <&pm4125_l12>;
693c39c5aedSDmitry Baryshkov	vdda-pll-supply = <&pm4125_l13>;
694c39c5aedSDmitry Baryshkov	status = "okay";
695c39c5aedSDmitry Baryshkov};
696c39c5aedSDmitry Baryshkov
697c39c5aedSDmitry Baryshkov&usb_qmpphy_out {
698c39c5aedSDmitry Baryshkov	remote-endpoint = <&pm4125_ss_in>;
699c39c5aedSDmitry Baryshkov};
700c39c5aedSDmitry Baryshkov
7019692ccc4SKonrad Dybcio&wifi {
70239e62f41SDmitry Baryshkov	vdd-0.8-cx-mx-supply = <&pm4125_l7>;
70339e62f41SDmitry Baryshkov	vdd-1.8-xo-supply = <&pm4125_l13>;
70439e62f41SDmitry Baryshkov	vdd-1.3-rfa-supply = <&pm4125_l10>;
70539e62f41SDmitry Baryshkov	vdd-3.3-ch0-supply = <&pm4125_l22>;
70641eeff2fSKrzysztof Kozlowski	qcom,calibration-variant = "Thundercomm_RB1";
70757ce4b27SDmitry Baryshkov	firmware-name = "qcm2290";
7089692ccc4SKonrad Dybcio	status = "okay";
7099692ccc4SKonrad Dybcio};
7109692ccc4SKonrad Dybcio
711e1877196SKonrad Dybcio&xo_board {
712e1877196SKonrad Dybcio	clock-frequency = <38400000>;
713e1877196SKonrad Dybcio};
714