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