xref: /linux/scripts/dtc/include-prefixes/arm64/qcom/sda660-inforce-ifc6560.dts (revision ec71f661a572a770d7c861cd52a50cbbb0e1a8d1)
134279d6eSDmitry Baryshkov// SPDX-License-Identifier: BSD-3-Clause
234279d6eSDmitry Baryshkov/*
334279d6eSDmitry Baryshkov * Copyright (c) 2021, Linaro Ltd.
434279d6eSDmitry Baryshkov * Copyright (c) 2020, Konrad Dybcio <konrad.dybcio@somainline.org>
534279d6eSDmitry Baryshkov * Copyright (c) 2020, AngeloGioacchino Del Regno
634279d6eSDmitry Baryshkov *                     <angelogioacchino.delregno@somainline.org>
734279d6eSDmitry Baryshkov */
834279d6eSDmitry Baryshkov
934279d6eSDmitry Baryshkov/dts-v1/;
1034279d6eSDmitry Baryshkov
1134279d6eSDmitry Baryshkov#include "sdm660.dtsi"
1234279d6eSDmitry Baryshkov#include "pm660.dtsi"
1334279d6eSDmitry Baryshkov#include "pm660l.dtsi"
1434279d6eSDmitry Baryshkov
1534279d6eSDmitry Baryshkov/ {
1634279d6eSDmitry Baryshkov	model = "Inforce 6560 Single Board Computer";
1734279d6eSDmitry Baryshkov	compatible = "inforce,ifc6560", "qcom,sda660";
1834279d6eSDmitry Baryshkov	chassis-type = "embedded"; /* SBC */
1934279d6eSDmitry Baryshkov
2034279d6eSDmitry Baryshkov	aliases {
2134279d6eSDmitry Baryshkov		serial0 = &blsp1_uart2;
2234279d6eSDmitry Baryshkov		serial1 = &blsp2_uart1;
2334279d6eSDmitry Baryshkov	};
2434279d6eSDmitry Baryshkov
2534279d6eSDmitry Baryshkov	chosen {
2634279d6eSDmitry Baryshkov		stdout-path = "serial0:115200n8";
2734279d6eSDmitry Baryshkov	};
2834279d6eSDmitry Baryshkov
2934279d6eSDmitry Baryshkov	gpio-keys {
3034279d6eSDmitry Baryshkov		compatible = "gpio-keys";
3134279d6eSDmitry Baryshkov
320d8d7722SKrzysztof Kozlowski		key-volup {
3334279d6eSDmitry Baryshkov			label = "Volume Up";
3434279d6eSDmitry Baryshkov			gpios = <&pm660l_gpios 7 GPIO_ACTIVE_LOW>;
3534279d6eSDmitry Baryshkov			linux,code = <KEY_VOLUMEUP>;
3634279d6eSDmitry Baryshkov			debounce-interval = <15>;
3734279d6eSDmitry Baryshkov		};
3834279d6eSDmitry Baryshkov	};
3934279d6eSDmitry Baryshkov
4034279d6eSDmitry Baryshkov	/*
4134279d6eSDmitry Baryshkov	 * Until we hook up type-c detection, we
4234279d6eSDmitry Baryshkov	 * have to stick with this. But it works.
4334279d6eSDmitry Baryshkov	 */
4434279d6eSDmitry Baryshkov	extcon_usb: extcon-usb {
4534279d6eSDmitry Baryshkov		compatible = "linux,extcon-usb-gpio";
46f6485041SAlexander Stein		id-gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>;
4734279d6eSDmitry Baryshkov	};
4834279d6eSDmitry Baryshkov
4934279d6eSDmitry Baryshkov	hdmi-out {
5034279d6eSDmitry Baryshkov		compatible = "hdmi-connector";
5134279d6eSDmitry Baryshkov		type = "a";
5234279d6eSDmitry Baryshkov
5334279d6eSDmitry Baryshkov		port {
5434279d6eSDmitry Baryshkov			hdmi_con: endpoint {
5534279d6eSDmitry Baryshkov				remote-endpoint = <&adv7533_out>;
5634279d6eSDmitry Baryshkov			};
5734279d6eSDmitry Baryshkov		};
5834279d6eSDmitry Baryshkov	};
5934279d6eSDmitry Baryshkov
6034279d6eSDmitry Baryshkov	vph_pwr: vph-pwr-regulator {
6134279d6eSDmitry Baryshkov		compatible = "regulator-fixed";
6234279d6eSDmitry Baryshkov		regulator-name = "vph_pwr";
6334279d6eSDmitry Baryshkov		regulator-min-microvolt = <3800000>;
6434279d6eSDmitry Baryshkov		regulator-max-microvolt = <3800000>;
6534279d6eSDmitry Baryshkov
6634279d6eSDmitry Baryshkov		regulator-always-on;
6734279d6eSDmitry Baryshkov		regulator-boot-on;
6834279d6eSDmitry Baryshkov	};
6934279d6eSDmitry Baryshkov
7034279d6eSDmitry Baryshkov	v3p3_bck_bst: v3p3-bck-bst-regulator {
7134279d6eSDmitry Baryshkov		compatible = "regulator-fixed";
7234279d6eSDmitry Baryshkov		regulator-name = "v3p3_bck_bst";
7334279d6eSDmitry Baryshkov
7434279d6eSDmitry Baryshkov		regulator-min-microvolt = <3300000>;
7534279d6eSDmitry Baryshkov		regulator-max-microvolt = <3300000>;
7634279d6eSDmitry Baryshkov
7734279d6eSDmitry Baryshkov		vin-supply = <&vph_pwr>;
7834279d6eSDmitry Baryshkov	};
7934279d6eSDmitry Baryshkov
8034279d6eSDmitry Baryshkov	v1p2_ldo: v1p2-ldo-regulator {
8134279d6eSDmitry Baryshkov		compatible = "regulator-fixed";
8234279d6eSDmitry Baryshkov		regulator-name = "v1p2_ldo";
8334279d6eSDmitry Baryshkov
8434279d6eSDmitry Baryshkov		regulator-min-microvolt = <1200000>;
8534279d6eSDmitry Baryshkov		regulator-max-microvolt = <1200000>;
8634279d6eSDmitry Baryshkov
8734279d6eSDmitry Baryshkov		vin-supply = <&vph_pwr>;
8834279d6eSDmitry Baryshkov	};
8934279d6eSDmitry Baryshkov
9034279d6eSDmitry Baryshkov	v5p0_boost: v5p0-boost-regulator {
9134279d6eSDmitry Baryshkov		compatible = "regulator-fixed";
9234279d6eSDmitry Baryshkov		regulator-name = "v5p0_boost";
9334279d6eSDmitry Baryshkov
9434279d6eSDmitry Baryshkov		regulator-min-microvolt = <5000000>;
9534279d6eSDmitry Baryshkov		regulator-max-microvolt = <5000000>;
9634279d6eSDmitry Baryshkov
9734279d6eSDmitry Baryshkov		vin-supply = <&vph_pwr>;
9834279d6eSDmitry Baryshkov	};
994edbcf26SDmitry Baryshkov
1004edbcf26SDmitry Baryshkov	/*
1014edbcf26SDmitry Baryshkov	 * this is also used for APC1 CPU power, touching it resets the board
1024edbcf26SDmitry Baryshkov	 */
1034edbcf26SDmitry Baryshkov	vreg_l10a_1p8: vreg-l10a-regulator {
1044edbcf26SDmitry Baryshkov		compatible = "regulator-fixed";
1054edbcf26SDmitry Baryshkov		regulator-name = "vreg_l10a_1p8";
1064edbcf26SDmitry Baryshkov		regulator-min-microvolt = <1804000>;
1071dd7d9d4SDmitry Baryshkov		regulator-max-microvolt = <1804000>;
1084edbcf26SDmitry Baryshkov		regulator-always-on;
1094edbcf26SDmitry Baryshkov		regulator-boot-on;
1104edbcf26SDmitry Baryshkov	};
11134279d6eSDmitry Baryshkov};
11234279d6eSDmitry Baryshkov
113deac51aeSDmitry Baryshkov&adreno_gpu {
114deac51aeSDmitry Baryshkov	status = "okay";
115deac51aeSDmitry Baryshkov};
116deac51aeSDmitry Baryshkov
117deac51aeSDmitry Baryshkov&adreno_gpu_zap {
118deac51aeSDmitry Baryshkov	firmware-name = "qcom/sda660/a512_zap.mbn";
119deac51aeSDmitry Baryshkov};
120deac51aeSDmitry Baryshkov
12134279d6eSDmitry Baryshkov&adsp_pil {
1226dae44d9SDmitry Baryshkov	firmware-name = "qcom/sda660/adsp.mbn";
12334279d6eSDmitry Baryshkov};
12434279d6eSDmitry Baryshkov
12534279d6eSDmitry Baryshkov&blsp_i2c6 {
12634279d6eSDmitry Baryshkov	status = "okay";
12734279d6eSDmitry Baryshkov
12834279d6eSDmitry Baryshkov	adv7533: hdmi@39 {
12934279d6eSDmitry Baryshkov		compatible = "adi,adv7535";
13034279d6eSDmitry Baryshkov		reg = <0x39>, <0x66>;
13134279d6eSDmitry Baryshkov		reg-names = "main", "edid";
13234279d6eSDmitry Baryshkov
13334279d6eSDmitry Baryshkov		interrupt-parent = <&pm660l_gpios>;
13434279d6eSDmitry Baryshkov		interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
13534279d6eSDmitry Baryshkov
13634279d6eSDmitry Baryshkov		clocks = <&rpmcc RPM_SMD_BB_CLK2>;
13734279d6eSDmitry Baryshkov		clock-names = "cec";
13834279d6eSDmitry Baryshkov		/*
13934279d6eSDmitry Baryshkov		 * Limit to 3 lanes to prevent the bridge from changing amount
14034279d6eSDmitry Baryshkov		 * of lanes in the fly. MSM DSI host doesn't like that.
14134279d6eSDmitry Baryshkov		 */
14234279d6eSDmitry Baryshkov		adi,dsi-lanes = <3>;
14334279d6eSDmitry Baryshkov		avdd-supply = <&vreg_l13a_1p8>;
14434279d6eSDmitry Baryshkov		dvdd-supply = <&vreg_l13a_1p8>;
14534279d6eSDmitry Baryshkov		pvdd-supply = <&vreg_l13a_1p8>;
14634279d6eSDmitry Baryshkov		a2vdd-supply = <&vreg_l13a_1p8>;
14734279d6eSDmitry Baryshkov		v3p3-supply = <&v3p3_bck_bst>;
14834279d6eSDmitry Baryshkov
14934279d6eSDmitry Baryshkov		ports {
15034279d6eSDmitry Baryshkov			#address-cells = <1>;
15134279d6eSDmitry Baryshkov			#size-cells = <0>;
15234279d6eSDmitry Baryshkov
15334279d6eSDmitry Baryshkov			port@0 {
15434279d6eSDmitry Baryshkov				reg = <0>;
15534279d6eSDmitry Baryshkov
15634279d6eSDmitry Baryshkov				adv7533_in: endpoint {
1578e61d532SDmitry Baryshkov					remote-endpoint = <&mdss_dsi0_out>;
15834279d6eSDmitry Baryshkov				};
15934279d6eSDmitry Baryshkov			};
16034279d6eSDmitry Baryshkov
16134279d6eSDmitry Baryshkov			port@1 {
16234279d6eSDmitry Baryshkov				reg = <1>;
16334279d6eSDmitry Baryshkov
16434279d6eSDmitry Baryshkov				adv7533_out: endpoint {
16534279d6eSDmitry Baryshkov					remote-endpoint = <&hdmi_con>;
16634279d6eSDmitry Baryshkov				};
16734279d6eSDmitry Baryshkov			};
16834279d6eSDmitry Baryshkov		};
16934279d6eSDmitry Baryshkov	};
17034279d6eSDmitry Baryshkov};
17134279d6eSDmitry Baryshkov
17234279d6eSDmitry Baryshkov&blsp1_dma {
17334279d6eSDmitry Baryshkov	/*
17434279d6eSDmitry Baryshkov	 * The board will lock up if we toggle the BLSP clock, unless the
17534279d6eSDmitry Baryshkov	 * BAM DMA interconnects support is in place.
17634279d6eSDmitry Baryshkov	 */
17734279d6eSDmitry Baryshkov	/delete-property/ clocks;
178*f5110806SAlexey Minnekhanov	/delete-property/ clock-names;
17934279d6eSDmitry Baryshkov};
18034279d6eSDmitry Baryshkov
18134279d6eSDmitry Baryshkov&blsp1_uart2 {
18234279d6eSDmitry Baryshkov	status = "okay";
18334279d6eSDmitry Baryshkov};
18434279d6eSDmitry Baryshkov
18534279d6eSDmitry Baryshkov&blsp2_dma {
18634279d6eSDmitry Baryshkov	/*
18734279d6eSDmitry Baryshkov	 * The board will lock up if we toggle the BLSP clock, unless the
18834279d6eSDmitry Baryshkov	 * BAM DMA interconnects support is in place.
18934279d6eSDmitry Baryshkov	 */
19034279d6eSDmitry Baryshkov	/delete-property/ clocks;
191*f5110806SAlexey Minnekhanov	/delete-property/ clock-names;
19234279d6eSDmitry Baryshkov};
19334279d6eSDmitry Baryshkov
19434279d6eSDmitry Baryshkov&blsp2_uart1 {
19534279d6eSDmitry Baryshkov	status = "okay";
19634279d6eSDmitry Baryshkov
19734279d6eSDmitry Baryshkov	bluetooth {
19834279d6eSDmitry Baryshkov		compatible = "qcom,wcn3990-bt";
19934279d6eSDmitry Baryshkov
20034279d6eSDmitry Baryshkov		vddio-supply = <&vreg_l13a_1p8>;
20134279d6eSDmitry Baryshkov		vddxo-supply = <&vreg_l9a_1p8>;
20234279d6eSDmitry Baryshkov		vddrf-supply = <&vreg_l6a_1p3>;
20334279d6eSDmitry Baryshkov		vddch0-supply = <&vreg_l19a_3p3>;
20434279d6eSDmitry Baryshkov		max-speed = <3200000>;
20534279d6eSDmitry Baryshkov	};
20634279d6eSDmitry Baryshkov};
20734279d6eSDmitry Baryshkov
2088e61d532SDmitry Baryshkov&mdss {
2098e61d532SDmitry Baryshkov	status = "okay";
2108e61d532SDmitry Baryshkov};
2118e61d532SDmitry Baryshkov
2128e61d532SDmitry Baryshkov&mdss_dsi0 {
21334279d6eSDmitry Baryshkov	status = "okay";
21434279d6eSDmitry Baryshkov	vdda-supply = <&vreg_l1a_1p225>;
21534279d6eSDmitry Baryshkov};
21634279d6eSDmitry Baryshkov
2178e61d532SDmitry Baryshkov&mdss_dsi0_out {
21834279d6eSDmitry Baryshkov	remote-endpoint = <&adv7533_in>;
21934279d6eSDmitry Baryshkov	data-lanes = <0 1 2 3>;
22034279d6eSDmitry Baryshkov};
22134279d6eSDmitry Baryshkov
2228e61d532SDmitry Baryshkov&mdss_dsi0_phy {
22334279d6eSDmitry Baryshkov	status = "okay";
22434279d6eSDmitry Baryshkov	vcca-supply = <&vreg_l1b_0p925>;
22534279d6eSDmitry Baryshkov};
22634279d6eSDmitry Baryshkov
22734279d6eSDmitry Baryshkov&mmss_smmu {
22834279d6eSDmitry Baryshkov	status = "okay";
22934279d6eSDmitry Baryshkov};
23034279d6eSDmitry Baryshkov
23134279d6eSDmitry Baryshkov&pon_pwrkey {
23234279d6eSDmitry Baryshkov	status = "okay";
23334279d6eSDmitry Baryshkov};
23434279d6eSDmitry Baryshkov
23534279d6eSDmitry Baryshkov&pon_resin {
23634279d6eSDmitry Baryshkov	status = "okay";
23734279d6eSDmitry Baryshkov
23834279d6eSDmitry Baryshkov	linux,code = <KEY_VOLUMEUP>;
23934279d6eSDmitry Baryshkov};
24034279d6eSDmitry Baryshkov
24134279d6eSDmitry Baryshkov&qusb2phy0 {
24234279d6eSDmitry Baryshkov	status = "okay";
24334279d6eSDmitry Baryshkov
24434279d6eSDmitry Baryshkov	vdd-supply = <&vreg_l1b_0p925>;
2454edbcf26SDmitry Baryshkov	vdda-pll-supply = <&vreg_l10a_1p8>;
24634279d6eSDmitry Baryshkov	vdda-phy-dpdm-supply = <&vreg_l7b_3p125>;
24734279d6eSDmitry Baryshkov};
24834279d6eSDmitry Baryshkov
24934279d6eSDmitry Baryshkov&qusb2phy1 {
25034279d6eSDmitry Baryshkov	status = "okay";
25134279d6eSDmitry Baryshkov
25234279d6eSDmitry Baryshkov	vdd-supply = <&vreg_l1b_0p925>;
2534edbcf26SDmitry Baryshkov	vdda-pll-supply = <&vreg_l10a_1p8>;
25434279d6eSDmitry Baryshkov	vdda-phy-dpdm-supply = <&vreg_l7b_3p125>;
25534279d6eSDmitry Baryshkov};
25634279d6eSDmitry Baryshkov
25704d8ed02SDmitry Baryshkov&remoteproc_mss {
25804d8ed02SDmitry Baryshkov	firmware-name = "qcom/sda660/mba.mbn", "qcom/sda660/modem.mbn";
25904d8ed02SDmitry Baryshkov	status = "okay";
26004d8ed02SDmitry Baryshkov};
26104d8ed02SDmitry Baryshkov
26234279d6eSDmitry Baryshkov&rpm_requests {
263372698e8SKrzysztof Kozlowski	regulators-0 {
26434279d6eSDmitry Baryshkov		compatible = "qcom,rpm-pm660-regulators";
26534279d6eSDmitry Baryshkov
26634279d6eSDmitry Baryshkov		vdd_s1-supply = <&vph_pwr>;
26734279d6eSDmitry Baryshkov		vdd_s2-supply = <&vph_pwr>;
26834279d6eSDmitry Baryshkov		vdd_s3-supply = <&vph_pwr>;
26934279d6eSDmitry Baryshkov		vdd_s4-supply = <&vph_pwr>;
27034279d6eSDmitry Baryshkov		vdd_s5-supply = <&vph_pwr>;
27134279d6eSDmitry Baryshkov		vdd_s6-supply = <&vph_pwr>;
27234279d6eSDmitry Baryshkov
27334279d6eSDmitry Baryshkov		vdd_l1_l6_l7-supply = <&vreg_s5a_1p35>;
27434279d6eSDmitry Baryshkov		vdd_l2_l3-supply = <&vreg_s2b_1p05>;
27534279d6eSDmitry Baryshkov		vdd_l5-supply = <&vreg_s2b_1p05>;
27634279d6eSDmitry Baryshkov		vdd_l8_l9_l10_l11_l12_l13_l14-supply = <&vreg_s4a_2p04>;
27734279d6eSDmitry Baryshkov		vdd_l15_l16_l17_l18_l19-supply = <&vreg_bob>;
27834279d6eSDmitry Baryshkov
27934279d6eSDmitry Baryshkov		vreg_s4a_2p04: s4 {
28034279d6eSDmitry Baryshkov			regulator-min-microvolt = <1805000>;
28134279d6eSDmitry Baryshkov			regulator-max-microvolt = <2040000>;
28234279d6eSDmitry Baryshkov			regulator-enable-ramp-delay = <200>;
28334279d6eSDmitry Baryshkov			regulator-ramp-delay = <0>;
28434279d6eSDmitry Baryshkov			regulator-always-on;
28534279d6eSDmitry Baryshkov		};
28634279d6eSDmitry Baryshkov
28734279d6eSDmitry Baryshkov		vreg_s5a_1p35: s5 {
28834279d6eSDmitry Baryshkov			regulator-min-microvolt = <1224000>;
28934279d6eSDmitry Baryshkov			regulator-max-microvolt = <1350000>;
29034279d6eSDmitry Baryshkov			regulator-enable-ramp-delay = <200>;
29134279d6eSDmitry Baryshkov			regulator-ramp-delay = <0>;
29234279d6eSDmitry Baryshkov		};
29334279d6eSDmitry Baryshkov
29434279d6eSDmitry Baryshkov		vreg_l1a_1p225: l1 {
29534279d6eSDmitry Baryshkov			regulator-min-microvolt = <1150000>;
29634279d6eSDmitry Baryshkov			regulator-max-microvolt = <1250000>;
29734279d6eSDmitry Baryshkov			regulator-enable-ramp-delay = <250>;
29834279d6eSDmitry Baryshkov			regulator-allow-set-load;
29934279d6eSDmitry Baryshkov		};
30034279d6eSDmitry Baryshkov
30104d8ed02SDmitry Baryshkov		vreg_l5a_0p8: l5 {
30204d8ed02SDmitry Baryshkov			regulator-min-microvolt = <848000>;
30304d8ed02SDmitry Baryshkov			regulator-max-microvolt = <848000>;
30404d8ed02SDmitry Baryshkov		};
30504d8ed02SDmitry Baryshkov
30634279d6eSDmitry Baryshkov		vreg_l6a_1p3: l6 {
30734279d6eSDmitry Baryshkov			regulator-min-microvolt = <1304000>;
30834279d6eSDmitry Baryshkov			regulator-max-microvolt = <1368000>;
30934279d6eSDmitry Baryshkov			regulator-enable-ramp-delay = <250>;
31034279d6eSDmitry Baryshkov			regulator-ramp-delay = <0>;
31134279d6eSDmitry Baryshkov			regulator-allow-set-load;
31234279d6eSDmitry Baryshkov		};
31334279d6eSDmitry Baryshkov
31434279d6eSDmitry Baryshkov		vreg_l8a_1p8: l8 {
31534279d6eSDmitry Baryshkov			regulator-min-microvolt = <1800000>;
31634279d6eSDmitry Baryshkov			regulator-max-microvolt = <1800000>;
31734279d6eSDmitry Baryshkov			regulator-enable-ramp-delay = <250>;
31834279d6eSDmitry Baryshkov			regulator-ramp-delay = <0>;
31934279d6eSDmitry Baryshkov			regulator-system-load = <325000>;
32034279d6eSDmitry Baryshkov			regulator-allow-set-load;
32134279d6eSDmitry Baryshkov		};
32234279d6eSDmitry Baryshkov
32334279d6eSDmitry Baryshkov		vreg_l9a_1p8: l9 {
32434279d6eSDmitry Baryshkov			regulator-min-microvolt = <1804000>;
32534279d6eSDmitry Baryshkov			regulator-max-microvolt = <1896000>;
32634279d6eSDmitry Baryshkov			regulator-enable-ramp-delay = <250>;
32734279d6eSDmitry Baryshkov			regulator-ramp-delay = <0>;
32834279d6eSDmitry Baryshkov			regulator-allow-set-load;
32934279d6eSDmitry Baryshkov		};
33034279d6eSDmitry Baryshkov
33134279d6eSDmitry Baryshkov		vreg_l13a_1p8: l13 {
33234279d6eSDmitry Baryshkov			/* This gives power to the LPDDR4: never turn it off! */
33334279d6eSDmitry Baryshkov			regulator-min-microvolt = <1800000>;
33434279d6eSDmitry Baryshkov			regulator-max-microvolt = <1944000>;
33534279d6eSDmitry Baryshkov			regulator-enable-ramp-delay = <250>;
33634279d6eSDmitry Baryshkov			regulator-ramp-delay = <0>;
33734279d6eSDmitry Baryshkov			regulator-always-on;
33834279d6eSDmitry Baryshkov			regulator-boot-on;
33934279d6eSDmitry Baryshkov		};
34034279d6eSDmitry Baryshkov
34134279d6eSDmitry Baryshkov		vreg_l19a_3p3: l19 {
34234279d6eSDmitry Baryshkov			regulator-min-microvolt = <3312000>;
34334279d6eSDmitry Baryshkov			regulator-max-microvolt = <3400000>;
34434279d6eSDmitry Baryshkov			regulator-enable-ramp-delay = <250>;
34534279d6eSDmitry Baryshkov			regulator-ramp-delay = <0>;
34634279d6eSDmitry Baryshkov			regulator-allow-set-load;
34734279d6eSDmitry Baryshkov		};
34834279d6eSDmitry Baryshkov	};
34934279d6eSDmitry Baryshkov
350372698e8SKrzysztof Kozlowski	regulators-1 {
35134279d6eSDmitry Baryshkov		compatible = "qcom,rpm-pm660l-regulators";
35234279d6eSDmitry Baryshkov
35334279d6eSDmitry Baryshkov		vdd_s1-supply = <&vph_pwr>;
35434279d6eSDmitry Baryshkov		vdd_s2-supply = <&vph_pwr>;
35534279d6eSDmitry Baryshkov		vdd_s3_s4-supply = <&vph_pwr>;
35634279d6eSDmitry Baryshkov		vdd_s5-supply = <&vph_pwr>;
35734279d6eSDmitry Baryshkov		vdd_s6-supply = <&vph_pwr>;
35834279d6eSDmitry Baryshkov
35934279d6eSDmitry Baryshkov		vdd_l1_l9_l10-supply = <&vreg_s2b_1p05>;
36034279d6eSDmitry Baryshkov		vdd_l2-supply = <&vreg_bob>;
36134279d6eSDmitry Baryshkov		vdd_l3_l5_l7_l8-supply = <&vreg_bob>;
36234279d6eSDmitry Baryshkov		vdd_l4_l6-supply = <&vreg_bob>;
36334279d6eSDmitry Baryshkov		vdd_bob-supply = <&vph_pwr>;
36434279d6eSDmitry Baryshkov
36534279d6eSDmitry Baryshkov		vreg_s2b_1p05: s2 {
36634279d6eSDmitry Baryshkov			regulator-min-microvolt = <1050000>;
36734279d6eSDmitry Baryshkov			regulator-max-microvolt = <1050000>;
36834279d6eSDmitry Baryshkov			regulator-enable-ramp-delay = <200>;
36934279d6eSDmitry Baryshkov			regulator-ramp-delay = <0>;
37034279d6eSDmitry Baryshkov		};
37134279d6eSDmitry Baryshkov
37234279d6eSDmitry Baryshkov		vreg_l1b_0p925: l1 {
37334279d6eSDmitry Baryshkov			regulator-min-microvolt = <800000>;
37434279d6eSDmitry Baryshkov			regulator-max-microvolt = <925000>;
37534279d6eSDmitry Baryshkov			regulator-enable-ramp-delay = <250>;
37634279d6eSDmitry Baryshkov			regulator-allow-set-load;
37734279d6eSDmitry Baryshkov		};
37834279d6eSDmitry Baryshkov
37934279d6eSDmitry Baryshkov		vreg_l2b_2p95: l2 {
38034279d6eSDmitry Baryshkov			regulator-min-microvolt = <1648000>;
38134279d6eSDmitry Baryshkov			regulator-max-microvolt = <3100000>;
38234279d6eSDmitry Baryshkov			regulator-enable-ramp-delay = <250>;
38334279d6eSDmitry Baryshkov			regulator-ramp-delay = <0>;
38434279d6eSDmitry Baryshkov			regulator-allow-set-load;
38534279d6eSDmitry Baryshkov		};
38634279d6eSDmitry Baryshkov
38734279d6eSDmitry Baryshkov		vreg_l4b_2p95: l4 {
38834279d6eSDmitry Baryshkov			regulator-min-microvolt = <2944000>;
38934279d6eSDmitry Baryshkov			regulator-max-microvolt = <2952000>;
39034279d6eSDmitry Baryshkov			regulator-enable-ramp-delay = <250>;
39134279d6eSDmitry Baryshkov			regulator-ramp-delay = <0>;
39234279d6eSDmitry Baryshkov
39334279d6eSDmitry Baryshkov			regulator-min-microamp = <200>;
39434279d6eSDmitry Baryshkov			regulator-max-microamp = <600000>;
39534279d6eSDmitry Baryshkov			regulator-system-load = <570000>;
39634279d6eSDmitry Baryshkov			regulator-allow-set-load;
39734279d6eSDmitry Baryshkov		};
39834279d6eSDmitry Baryshkov
39934279d6eSDmitry Baryshkov		/*
40034279d6eSDmitry Baryshkov		 * Downstream specifies a range of 1721-3600mV,
40134279d6eSDmitry Baryshkov		 * but the only assigned consumers are SDHCI2 VMMC
40234279d6eSDmitry Baryshkov		 * and Coresight QPDI that both request pinned 2.95V.
40334279d6eSDmitry Baryshkov		 * Tighten the range to 1.8-3.328 (closest to 3.3) to
40434279d6eSDmitry Baryshkov		 * make the mmc driver happy.
40534279d6eSDmitry Baryshkov		 */
40634279d6eSDmitry Baryshkov		vreg_l5b_2p95: l5 {
40734279d6eSDmitry Baryshkov			regulator-min-microvolt = <1800000>;
40834279d6eSDmitry Baryshkov			regulator-max-microvolt = <3328000>;
40934279d6eSDmitry Baryshkov			regulator-enable-ramp-delay = <250>;
41034279d6eSDmitry Baryshkov			regulator-system-load = <800000>;
41134279d6eSDmitry Baryshkov			regulator-ramp-delay = <0>;
41234279d6eSDmitry Baryshkov			regulator-allow-set-load;
41334279d6eSDmitry Baryshkov		};
41434279d6eSDmitry Baryshkov
41534279d6eSDmitry Baryshkov		vreg_l7b_3p125: l7 {
41634279d6eSDmitry Baryshkov			regulator-min-microvolt = <2700000>;
41734279d6eSDmitry Baryshkov			regulator-max-microvolt = <3125000>;
41834279d6eSDmitry Baryshkov			regulator-enable-ramp-delay = <250>;
41934279d6eSDmitry Baryshkov		};
42034279d6eSDmitry Baryshkov
42134279d6eSDmitry Baryshkov		vreg_l8b_3p3: l8 {
42234279d6eSDmitry Baryshkov			regulator-min-microvolt = <2800000>;
42334279d6eSDmitry Baryshkov			regulator-max-microvolt = <3400000>;
42434279d6eSDmitry Baryshkov			regulator-enable-ramp-delay = <250>;
42534279d6eSDmitry Baryshkov			regulator-ramp-delay = <0>;
42634279d6eSDmitry Baryshkov		};
42734279d6eSDmitry Baryshkov
42834279d6eSDmitry Baryshkov		vreg_bob: bob {
42934279d6eSDmitry Baryshkov			regulator-min-microvolt = <3300000>;
43034279d6eSDmitry Baryshkov			regulator-max-microvolt = <3624000>;
43134279d6eSDmitry Baryshkov			regulator-enable-ramp-delay = <500>;
43234279d6eSDmitry Baryshkov			regulator-ramp-delay = <0>;
43334279d6eSDmitry Baryshkov		};
43434279d6eSDmitry Baryshkov	};
43534279d6eSDmitry Baryshkov};
43634279d6eSDmitry Baryshkov
43734279d6eSDmitry Baryshkov&sdc2_state_on {
438048a765aSKrzysztof Kozlowski	sd-cd-pins {
43934279d6eSDmitry Baryshkov		pins = "gpio54";
440048a765aSKrzysztof Kozlowski		function = "gpio";
44134279d6eSDmitry Baryshkov		bias-pull-up;
44234279d6eSDmitry Baryshkov		drive-strength = <2>;
44334279d6eSDmitry Baryshkov	};
44434279d6eSDmitry Baryshkov};
44534279d6eSDmitry Baryshkov
44634279d6eSDmitry Baryshkov&sdc2_state_off {
447048a765aSKrzysztof Kozlowski	sd-cd-pins {
44834279d6eSDmitry Baryshkov		pins = "gpio54";
449048a765aSKrzysztof Kozlowski		function = "gpio";
45034279d6eSDmitry Baryshkov		bias-disable;
45134279d6eSDmitry Baryshkov		drive-strength = <2>;
45234279d6eSDmitry Baryshkov	};
45334279d6eSDmitry Baryshkov};
45434279d6eSDmitry Baryshkov
45534279d6eSDmitry Baryshkov&sdhc_1 {
45634279d6eSDmitry Baryshkov	status = "okay";
45734279d6eSDmitry Baryshkov	supports-cqe;
45834279d6eSDmitry Baryshkov
45934279d6eSDmitry Baryshkov	vmmc-supply = <&vreg_l4b_2p95>;
46034279d6eSDmitry Baryshkov	vqmmc-supply = <&vreg_l8a_1p8>;
46134279d6eSDmitry Baryshkov
46234279d6eSDmitry Baryshkov	mmc-ddr-1_8v;
46334279d6eSDmitry Baryshkov	mmc-hs400-1_8v;
46434279d6eSDmitry Baryshkov	mmc-hs400-enhanced-strobe;
46534279d6eSDmitry Baryshkov};
46634279d6eSDmitry Baryshkov
46734279d6eSDmitry Baryshkov&sdhc_2 {
46834279d6eSDmitry Baryshkov	status = "okay";
46934279d6eSDmitry Baryshkov
47034279d6eSDmitry Baryshkov	vmmc-supply = <&vreg_l5b_2p95>;
47134279d6eSDmitry Baryshkov	vqmmc-supply = <&vreg_l2b_2p95>;
47234279d6eSDmitry Baryshkov
47334279d6eSDmitry Baryshkov	cd-gpios = <&tlmm 54 GPIO_ACTIVE_LOW>;
47434279d6eSDmitry Baryshkov	no-sdio;
4756e36e6c6SKrzysztof Kozlowski	no-mmc;
47634279d6eSDmitry Baryshkov};
47734279d6eSDmitry Baryshkov
47834279d6eSDmitry Baryshkov&tlmm {
47934279d6eSDmitry Baryshkov	gpio-reserved-ranges = <0 4>, <8 4>;
48034279d6eSDmitry Baryshkov};
48134279d6eSDmitry Baryshkov
48234279d6eSDmitry Baryshkov&usb2 {
48334279d6eSDmitry Baryshkov	status = "okay";
48434279d6eSDmitry Baryshkov};
48534279d6eSDmitry Baryshkov
48634279d6eSDmitry Baryshkov&usb2_dwc3 {
48734279d6eSDmitry Baryshkov	dr_mode = "host";
48834279d6eSDmitry Baryshkov};
48934279d6eSDmitry Baryshkov
49034279d6eSDmitry Baryshkov&usb3 {
49134279d6eSDmitry Baryshkov	status = "okay";
49234279d6eSDmitry Baryshkov};
49334279d6eSDmitry Baryshkov
49434279d6eSDmitry Baryshkov&usb3_dwc3 {
49534279d6eSDmitry Baryshkov	dr_mode = "peripheral";
49634279d6eSDmitry Baryshkov	extcon = <&extcon_usb>;
49734279d6eSDmitry Baryshkov};
498319a12e7SDmitry Baryshkov
499319a12e7SDmitry Baryshkov&usb3_qmpphy {
500319a12e7SDmitry Baryshkov	vdda-phy-supply = <&vreg_l1b_0p925>;
5014edbcf26SDmitry Baryshkov	vdda-pll-supply = <&vreg_l10a_1p8>;
502319a12e7SDmitry Baryshkov	status = "okay";
503319a12e7SDmitry Baryshkov};
50404d8ed02SDmitry Baryshkov
50504d8ed02SDmitry Baryshkov&wifi {
50604d8ed02SDmitry Baryshkov	vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>;
50704d8ed02SDmitry Baryshkov	vdd-1.8-xo-supply = <&vreg_l9a_1p8>;
50804d8ed02SDmitry Baryshkov	vdd-1.3-rfa-supply = <&vreg_l6a_1p3>;
50904d8ed02SDmitry Baryshkov	vdd-3.3-ch0-supply = <&vreg_l19a_3p3>;
51004d8ed02SDmitry Baryshkov	vdd-3.3-ch1-supply = <&vreg_l8b_3p3>;
51104d8ed02SDmitry Baryshkov
512020ec058SKrzysztof Kozlowski	qcom,calibration-variant = "Inforce_IFC6560";
51304d8ed02SDmitry Baryshkov
51404d8ed02SDmitry Baryshkov	status = "okay";
51504d8ed02SDmitry Baryshkov};
516