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"; 46*f6485041SAlexander 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 }; 9934279d6eSDmitry Baryshkov}; 10034279d6eSDmitry Baryshkov 10134279d6eSDmitry Baryshkov&adsp_pil { 1026dae44d9SDmitry Baryshkov firmware-name = "qcom/sda660/adsp.mbn"; 10334279d6eSDmitry Baryshkov}; 10434279d6eSDmitry Baryshkov 10534279d6eSDmitry Baryshkov&blsp_i2c6 { 10634279d6eSDmitry Baryshkov status = "okay"; 10734279d6eSDmitry Baryshkov 10834279d6eSDmitry Baryshkov adv7533: hdmi@39 { 10934279d6eSDmitry Baryshkov compatible = "adi,adv7535"; 11034279d6eSDmitry Baryshkov reg = <0x39>, <0x66>; 11134279d6eSDmitry Baryshkov reg-names = "main", "edid"; 11234279d6eSDmitry Baryshkov 11334279d6eSDmitry Baryshkov interrupt-parent = <&pm660l_gpios>; 11434279d6eSDmitry Baryshkov interrupts = <11 IRQ_TYPE_EDGE_FALLING>; 11534279d6eSDmitry Baryshkov 11634279d6eSDmitry Baryshkov clocks = <&rpmcc RPM_SMD_BB_CLK2>; 11734279d6eSDmitry Baryshkov clock-names = "cec"; 11834279d6eSDmitry Baryshkov /* 11934279d6eSDmitry Baryshkov * Limit to 3 lanes to prevent the bridge from changing amount 12034279d6eSDmitry Baryshkov * of lanes in the fly. MSM DSI host doesn't like that. 12134279d6eSDmitry Baryshkov */ 12234279d6eSDmitry Baryshkov adi,dsi-lanes = <3>; 12334279d6eSDmitry Baryshkov avdd-supply = <&vreg_l13a_1p8>; 12434279d6eSDmitry Baryshkov dvdd-supply = <&vreg_l13a_1p8>; 12534279d6eSDmitry Baryshkov pvdd-supply = <&vreg_l13a_1p8>; 12634279d6eSDmitry Baryshkov a2vdd-supply = <&vreg_l13a_1p8>; 12734279d6eSDmitry Baryshkov v3p3-supply = <&v3p3_bck_bst>; 12834279d6eSDmitry Baryshkov 12934279d6eSDmitry Baryshkov ports { 13034279d6eSDmitry Baryshkov #address-cells = <1>; 13134279d6eSDmitry Baryshkov #size-cells = <0>; 13234279d6eSDmitry Baryshkov 13334279d6eSDmitry Baryshkov port@0 { 13434279d6eSDmitry Baryshkov reg = <0>; 13534279d6eSDmitry Baryshkov 13634279d6eSDmitry Baryshkov adv7533_in: endpoint { 1378e61d532SDmitry Baryshkov remote-endpoint = <&mdss_dsi0_out>; 13834279d6eSDmitry Baryshkov }; 13934279d6eSDmitry Baryshkov }; 14034279d6eSDmitry Baryshkov 14134279d6eSDmitry Baryshkov port@1 { 14234279d6eSDmitry Baryshkov reg = <1>; 14334279d6eSDmitry Baryshkov 14434279d6eSDmitry Baryshkov adv7533_out: endpoint { 14534279d6eSDmitry Baryshkov remote-endpoint = <&hdmi_con>; 14634279d6eSDmitry Baryshkov }; 14734279d6eSDmitry Baryshkov }; 14834279d6eSDmitry Baryshkov }; 14934279d6eSDmitry Baryshkov }; 15034279d6eSDmitry Baryshkov}; 15134279d6eSDmitry Baryshkov 15234279d6eSDmitry Baryshkov&blsp1_dma { 15334279d6eSDmitry Baryshkov /* 15434279d6eSDmitry Baryshkov * The board will lock up if we toggle the BLSP clock, unless the 15534279d6eSDmitry Baryshkov * BAM DMA interconnects support is in place. 15634279d6eSDmitry Baryshkov */ 15734279d6eSDmitry Baryshkov /delete-property/ clocks; 15834279d6eSDmitry Baryshkov}; 15934279d6eSDmitry Baryshkov 16034279d6eSDmitry Baryshkov&blsp1_uart2 { 16134279d6eSDmitry Baryshkov status = "okay"; 16234279d6eSDmitry Baryshkov}; 16334279d6eSDmitry Baryshkov 16434279d6eSDmitry Baryshkov&blsp2_dma { 16534279d6eSDmitry Baryshkov /* 16634279d6eSDmitry Baryshkov * The board will lock up if we toggle the BLSP clock, unless the 16734279d6eSDmitry Baryshkov * BAM DMA interconnects support is in place. 16834279d6eSDmitry Baryshkov */ 16934279d6eSDmitry Baryshkov /delete-property/ clocks; 17034279d6eSDmitry Baryshkov}; 17134279d6eSDmitry Baryshkov 17234279d6eSDmitry Baryshkov&blsp2_uart1 { 17334279d6eSDmitry Baryshkov status = "okay"; 17434279d6eSDmitry Baryshkov 17534279d6eSDmitry Baryshkov bluetooth { 17634279d6eSDmitry Baryshkov compatible = "qcom,wcn3990-bt"; 17734279d6eSDmitry Baryshkov 17834279d6eSDmitry Baryshkov vddio-supply = <&vreg_l13a_1p8>; 17934279d6eSDmitry Baryshkov vddxo-supply = <&vreg_l9a_1p8>; 18034279d6eSDmitry Baryshkov vddrf-supply = <&vreg_l6a_1p3>; 18134279d6eSDmitry Baryshkov vddch0-supply = <&vreg_l19a_3p3>; 18234279d6eSDmitry Baryshkov max-speed = <3200000>; 18334279d6eSDmitry Baryshkov }; 18434279d6eSDmitry Baryshkov}; 18534279d6eSDmitry Baryshkov 1868e61d532SDmitry Baryshkov&mdss { 1878e61d532SDmitry Baryshkov status = "okay"; 1888e61d532SDmitry Baryshkov}; 1898e61d532SDmitry Baryshkov 1908e61d532SDmitry Baryshkov&mdss_dsi0 { 19134279d6eSDmitry Baryshkov status = "okay"; 19234279d6eSDmitry Baryshkov vdda-supply = <&vreg_l1a_1p225>; 19334279d6eSDmitry Baryshkov}; 19434279d6eSDmitry Baryshkov 1958e61d532SDmitry Baryshkov&mdss_dsi0_out { 19634279d6eSDmitry Baryshkov remote-endpoint = <&adv7533_in>; 19734279d6eSDmitry Baryshkov data-lanes = <0 1 2 3>; 19834279d6eSDmitry Baryshkov}; 19934279d6eSDmitry Baryshkov 2008e61d532SDmitry Baryshkov&mdss_dsi0_phy { 20134279d6eSDmitry Baryshkov status = "okay"; 20234279d6eSDmitry Baryshkov vcca-supply = <&vreg_l1b_0p925>; 20334279d6eSDmitry Baryshkov}; 20434279d6eSDmitry Baryshkov 20534279d6eSDmitry Baryshkov&mmss_smmu { 20634279d6eSDmitry Baryshkov status = "okay"; 20734279d6eSDmitry Baryshkov}; 20834279d6eSDmitry Baryshkov 20934279d6eSDmitry Baryshkov&pon_pwrkey { 21034279d6eSDmitry Baryshkov status = "okay"; 21134279d6eSDmitry Baryshkov}; 21234279d6eSDmitry Baryshkov 21334279d6eSDmitry Baryshkov&pon_resin { 21434279d6eSDmitry Baryshkov status = "okay"; 21534279d6eSDmitry Baryshkov 21634279d6eSDmitry Baryshkov linux,code = <KEY_VOLUMEUP>; 21734279d6eSDmitry Baryshkov}; 21834279d6eSDmitry Baryshkov 21934279d6eSDmitry Baryshkov&qusb2phy0 { 22034279d6eSDmitry Baryshkov status = "okay"; 22134279d6eSDmitry Baryshkov 22234279d6eSDmitry Baryshkov vdd-supply = <&vreg_l1b_0p925>; 22334279d6eSDmitry Baryshkov vdda-phy-dpdm-supply = <&vreg_l7b_3p125>; 22434279d6eSDmitry Baryshkov}; 22534279d6eSDmitry Baryshkov 22634279d6eSDmitry Baryshkov&qusb2phy1 { 22734279d6eSDmitry Baryshkov status = "okay"; 22834279d6eSDmitry Baryshkov 22934279d6eSDmitry Baryshkov vdd-supply = <&vreg_l1b_0p925>; 23034279d6eSDmitry Baryshkov vdda-phy-dpdm-supply = <&vreg_l7b_3p125>; 23134279d6eSDmitry Baryshkov}; 23234279d6eSDmitry Baryshkov 23334279d6eSDmitry Baryshkov&rpm_requests { 234372698e8SKrzysztof Kozlowski regulators-0 { 23534279d6eSDmitry Baryshkov compatible = "qcom,rpm-pm660-regulators"; 23634279d6eSDmitry Baryshkov 23734279d6eSDmitry Baryshkov vdd_s1-supply = <&vph_pwr>; 23834279d6eSDmitry Baryshkov vdd_s2-supply = <&vph_pwr>; 23934279d6eSDmitry Baryshkov vdd_s3-supply = <&vph_pwr>; 24034279d6eSDmitry Baryshkov vdd_s4-supply = <&vph_pwr>; 24134279d6eSDmitry Baryshkov vdd_s5-supply = <&vph_pwr>; 24234279d6eSDmitry Baryshkov vdd_s6-supply = <&vph_pwr>; 24334279d6eSDmitry Baryshkov 24434279d6eSDmitry Baryshkov vdd_l1_l6_l7-supply = <&vreg_s5a_1p35>; 24534279d6eSDmitry Baryshkov vdd_l2_l3-supply = <&vreg_s2b_1p05>; 24634279d6eSDmitry Baryshkov vdd_l5-supply = <&vreg_s2b_1p05>; 24734279d6eSDmitry Baryshkov vdd_l8_l9_l10_l11_l12_l13_l14-supply = <&vreg_s4a_2p04>; 24834279d6eSDmitry Baryshkov vdd_l15_l16_l17_l18_l19-supply = <&vreg_bob>; 24934279d6eSDmitry Baryshkov 25034279d6eSDmitry Baryshkov vreg_s4a_2p04: s4 { 25134279d6eSDmitry Baryshkov regulator-min-microvolt = <1805000>; 25234279d6eSDmitry Baryshkov regulator-max-microvolt = <2040000>; 25334279d6eSDmitry Baryshkov regulator-enable-ramp-delay = <200>; 25434279d6eSDmitry Baryshkov regulator-ramp-delay = <0>; 25534279d6eSDmitry Baryshkov regulator-always-on; 25634279d6eSDmitry Baryshkov }; 25734279d6eSDmitry Baryshkov 25834279d6eSDmitry Baryshkov vreg_s5a_1p35: s5 { 25934279d6eSDmitry Baryshkov regulator-min-microvolt = <1224000>; 26034279d6eSDmitry Baryshkov regulator-max-microvolt = <1350000>; 26134279d6eSDmitry Baryshkov regulator-enable-ramp-delay = <200>; 26234279d6eSDmitry Baryshkov regulator-ramp-delay = <0>; 26334279d6eSDmitry Baryshkov }; 26434279d6eSDmitry Baryshkov 26534279d6eSDmitry Baryshkov vreg_l1a_1p225: l1 { 26634279d6eSDmitry Baryshkov regulator-min-microvolt = <1150000>; 26734279d6eSDmitry Baryshkov regulator-max-microvolt = <1250000>; 26834279d6eSDmitry Baryshkov regulator-enable-ramp-delay = <250>; 26934279d6eSDmitry Baryshkov regulator-allow-set-load; 27034279d6eSDmitry Baryshkov }; 27134279d6eSDmitry Baryshkov 27234279d6eSDmitry Baryshkov vreg_l6a_1p3: l6 { 27334279d6eSDmitry Baryshkov regulator-min-microvolt = <1304000>; 27434279d6eSDmitry Baryshkov regulator-max-microvolt = <1368000>; 27534279d6eSDmitry Baryshkov regulator-enable-ramp-delay = <250>; 27634279d6eSDmitry Baryshkov regulator-ramp-delay = <0>; 27734279d6eSDmitry Baryshkov regulator-allow-set-load; 27834279d6eSDmitry Baryshkov }; 27934279d6eSDmitry Baryshkov 28034279d6eSDmitry Baryshkov vreg_l8a_1p8: l8 { 28134279d6eSDmitry Baryshkov regulator-min-microvolt = <1800000>; 28234279d6eSDmitry Baryshkov regulator-max-microvolt = <1800000>; 28334279d6eSDmitry Baryshkov regulator-enable-ramp-delay = <250>; 28434279d6eSDmitry Baryshkov regulator-ramp-delay = <0>; 28534279d6eSDmitry Baryshkov regulator-system-load = <325000>; 28634279d6eSDmitry Baryshkov regulator-allow-set-load; 28734279d6eSDmitry Baryshkov }; 28834279d6eSDmitry Baryshkov 28934279d6eSDmitry Baryshkov vreg_l9a_1p8: l9 { 29034279d6eSDmitry Baryshkov regulator-min-microvolt = <1804000>; 29134279d6eSDmitry Baryshkov regulator-max-microvolt = <1896000>; 29234279d6eSDmitry Baryshkov regulator-enable-ramp-delay = <250>; 29334279d6eSDmitry Baryshkov regulator-ramp-delay = <0>; 29434279d6eSDmitry Baryshkov regulator-allow-set-load; 29534279d6eSDmitry Baryshkov }; 29634279d6eSDmitry Baryshkov 29734279d6eSDmitry Baryshkov vreg_l13a_1p8: l13 { 29834279d6eSDmitry Baryshkov /* This gives power to the LPDDR4: never turn it off! */ 29934279d6eSDmitry Baryshkov regulator-min-microvolt = <1800000>; 30034279d6eSDmitry Baryshkov regulator-max-microvolt = <1944000>; 30134279d6eSDmitry Baryshkov regulator-enable-ramp-delay = <250>; 30234279d6eSDmitry Baryshkov regulator-ramp-delay = <0>; 30334279d6eSDmitry Baryshkov regulator-always-on; 30434279d6eSDmitry Baryshkov regulator-boot-on; 30534279d6eSDmitry Baryshkov }; 30634279d6eSDmitry Baryshkov 30734279d6eSDmitry Baryshkov vreg_l19a_3p3: l19 { 30834279d6eSDmitry Baryshkov regulator-min-microvolt = <3312000>; 30934279d6eSDmitry Baryshkov regulator-max-microvolt = <3400000>; 31034279d6eSDmitry Baryshkov regulator-enable-ramp-delay = <250>; 31134279d6eSDmitry Baryshkov regulator-ramp-delay = <0>; 31234279d6eSDmitry Baryshkov regulator-allow-set-load; 31334279d6eSDmitry Baryshkov }; 31434279d6eSDmitry Baryshkov }; 31534279d6eSDmitry Baryshkov 316372698e8SKrzysztof Kozlowski regulators-1 { 31734279d6eSDmitry Baryshkov compatible = "qcom,rpm-pm660l-regulators"; 31834279d6eSDmitry Baryshkov 31934279d6eSDmitry Baryshkov vdd_s1-supply = <&vph_pwr>; 32034279d6eSDmitry Baryshkov vdd_s2-supply = <&vph_pwr>; 32134279d6eSDmitry Baryshkov vdd_s3_s4-supply = <&vph_pwr>; 32234279d6eSDmitry Baryshkov vdd_s5-supply = <&vph_pwr>; 32334279d6eSDmitry Baryshkov vdd_s6-supply = <&vph_pwr>; 32434279d6eSDmitry Baryshkov 32534279d6eSDmitry Baryshkov vdd_l1_l9_l10-supply = <&vreg_s2b_1p05>; 32634279d6eSDmitry Baryshkov vdd_l2-supply = <&vreg_bob>; 32734279d6eSDmitry Baryshkov vdd_l3_l5_l7_l8-supply = <&vreg_bob>; 32834279d6eSDmitry Baryshkov vdd_l4_l6-supply = <&vreg_bob>; 32934279d6eSDmitry Baryshkov vdd_bob-supply = <&vph_pwr>; 33034279d6eSDmitry Baryshkov 33134279d6eSDmitry Baryshkov vreg_s2b_1p05: s2 { 33234279d6eSDmitry Baryshkov regulator-min-microvolt = <1050000>; 33334279d6eSDmitry Baryshkov regulator-max-microvolt = <1050000>; 33434279d6eSDmitry Baryshkov regulator-enable-ramp-delay = <200>; 33534279d6eSDmitry Baryshkov regulator-ramp-delay = <0>; 33634279d6eSDmitry Baryshkov }; 33734279d6eSDmitry Baryshkov 33834279d6eSDmitry Baryshkov vreg_l1b_0p925: l1 { 33934279d6eSDmitry Baryshkov regulator-min-microvolt = <800000>; 34034279d6eSDmitry Baryshkov regulator-max-microvolt = <925000>; 34134279d6eSDmitry Baryshkov regulator-enable-ramp-delay = <250>; 34234279d6eSDmitry Baryshkov regulator-allow-set-load; 34334279d6eSDmitry Baryshkov }; 34434279d6eSDmitry Baryshkov 34534279d6eSDmitry Baryshkov vreg_l2b_2p95: l2 { 34634279d6eSDmitry Baryshkov regulator-min-microvolt = <1648000>; 34734279d6eSDmitry Baryshkov regulator-max-microvolt = <3100000>; 34834279d6eSDmitry Baryshkov regulator-enable-ramp-delay = <250>; 34934279d6eSDmitry Baryshkov regulator-ramp-delay = <0>; 35034279d6eSDmitry Baryshkov regulator-allow-set-load; 35134279d6eSDmitry Baryshkov }; 35234279d6eSDmitry Baryshkov 35334279d6eSDmitry Baryshkov vreg_l4b_2p95: l4 { 35434279d6eSDmitry Baryshkov regulator-min-microvolt = <2944000>; 35534279d6eSDmitry Baryshkov regulator-max-microvolt = <2952000>; 35634279d6eSDmitry Baryshkov regulator-enable-ramp-delay = <250>; 35734279d6eSDmitry Baryshkov regulator-ramp-delay = <0>; 35834279d6eSDmitry Baryshkov 35934279d6eSDmitry Baryshkov regulator-min-microamp = <200>; 36034279d6eSDmitry Baryshkov regulator-max-microamp = <600000>; 36134279d6eSDmitry Baryshkov regulator-system-load = <570000>; 36234279d6eSDmitry Baryshkov regulator-allow-set-load; 36334279d6eSDmitry Baryshkov }; 36434279d6eSDmitry Baryshkov 36534279d6eSDmitry Baryshkov /* 36634279d6eSDmitry Baryshkov * Downstream specifies a range of 1721-3600mV, 36734279d6eSDmitry Baryshkov * but the only assigned consumers are SDHCI2 VMMC 36834279d6eSDmitry Baryshkov * and Coresight QPDI that both request pinned 2.95V. 36934279d6eSDmitry Baryshkov * Tighten the range to 1.8-3.328 (closest to 3.3) to 37034279d6eSDmitry Baryshkov * make the mmc driver happy. 37134279d6eSDmitry Baryshkov */ 37234279d6eSDmitry Baryshkov vreg_l5b_2p95: l5 { 37334279d6eSDmitry Baryshkov regulator-min-microvolt = <1800000>; 37434279d6eSDmitry Baryshkov regulator-max-microvolt = <3328000>; 37534279d6eSDmitry Baryshkov regulator-enable-ramp-delay = <250>; 37634279d6eSDmitry Baryshkov regulator-system-load = <800000>; 37734279d6eSDmitry Baryshkov regulator-ramp-delay = <0>; 37834279d6eSDmitry Baryshkov regulator-allow-set-load; 37934279d6eSDmitry Baryshkov }; 38034279d6eSDmitry Baryshkov 38134279d6eSDmitry Baryshkov vreg_l7b_3p125: l7 { 38234279d6eSDmitry Baryshkov regulator-min-microvolt = <2700000>; 38334279d6eSDmitry Baryshkov regulator-max-microvolt = <3125000>; 38434279d6eSDmitry Baryshkov regulator-enable-ramp-delay = <250>; 38534279d6eSDmitry Baryshkov }; 38634279d6eSDmitry Baryshkov 38734279d6eSDmitry Baryshkov vreg_l8b_3p3: l8 { 38834279d6eSDmitry Baryshkov regulator-min-microvolt = <2800000>; 38934279d6eSDmitry Baryshkov regulator-max-microvolt = <3400000>; 39034279d6eSDmitry Baryshkov regulator-enable-ramp-delay = <250>; 39134279d6eSDmitry Baryshkov regulator-ramp-delay = <0>; 39234279d6eSDmitry Baryshkov }; 39334279d6eSDmitry Baryshkov 39434279d6eSDmitry Baryshkov vreg_bob: bob { 39534279d6eSDmitry Baryshkov regulator-min-microvolt = <3300000>; 39634279d6eSDmitry Baryshkov regulator-max-microvolt = <3624000>; 39734279d6eSDmitry Baryshkov regulator-enable-ramp-delay = <500>; 39834279d6eSDmitry Baryshkov regulator-ramp-delay = <0>; 39934279d6eSDmitry Baryshkov }; 40034279d6eSDmitry Baryshkov }; 40134279d6eSDmitry Baryshkov}; 40234279d6eSDmitry Baryshkov 40334279d6eSDmitry Baryshkov&sdc2_state_on { 404048a765aSKrzysztof Kozlowski sd-cd-pins { 40534279d6eSDmitry Baryshkov pins = "gpio54"; 406048a765aSKrzysztof Kozlowski function = "gpio"; 40734279d6eSDmitry Baryshkov bias-pull-up; 40834279d6eSDmitry Baryshkov drive-strength = <2>; 40934279d6eSDmitry Baryshkov }; 41034279d6eSDmitry Baryshkov}; 41134279d6eSDmitry Baryshkov 41234279d6eSDmitry Baryshkov&sdc2_state_off { 413048a765aSKrzysztof Kozlowski sd-cd-pins { 41434279d6eSDmitry Baryshkov pins = "gpio54"; 415048a765aSKrzysztof Kozlowski function = "gpio"; 41634279d6eSDmitry Baryshkov bias-disable; 41734279d6eSDmitry Baryshkov drive-strength = <2>; 41834279d6eSDmitry Baryshkov }; 41934279d6eSDmitry Baryshkov}; 42034279d6eSDmitry Baryshkov 42134279d6eSDmitry Baryshkov&sdhc_1 { 42234279d6eSDmitry Baryshkov status = "okay"; 42334279d6eSDmitry Baryshkov supports-cqe; 42434279d6eSDmitry Baryshkov 42534279d6eSDmitry Baryshkov vmmc-supply = <&vreg_l4b_2p95>; 42634279d6eSDmitry Baryshkov vqmmc-supply = <&vreg_l8a_1p8>; 42734279d6eSDmitry Baryshkov 42834279d6eSDmitry Baryshkov mmc-ddr-1_8v; 42934279d6eSDmitry Baryshkov mmc-hs400-1_8v; 43034279d6eSDmitry Baryshkov mmc-hs400-enhanced-strobe; 43134279d6eSDmitry Baryshkov}; 43234279d6eSDmitry Baryshkov 43334279d6eSDmitry Baryshkov&sdhc_2 { 43434279d6eSDmitry Baryshkov status = "okay"; 43534279d6eSDmitry Baryshkov 43634279d6eSDmitry Baryshkov vmmc-supply = <&vreg_l5b_2p95>; 43734279d6eSDmitry Baryshkov vqmmc-supply = <&vreg_l2b_2p95>; 43834279d6eSDmitry Baryshkov 43934279d6eSDmitry Baryshkov cd-gpios = <&tlmm 54 GPIO_ACTIVE_LOW>; 44034279d6eSDmitry Baryshkov no-sdio; 4416e36e6c6SKrzysztof Kozlowski no-mmc; 44234279d6eSDmitry Baryshkov}; 44334279d6eSDmitry Baryshkov 44434279d6eSDmitry Baryshkov&tlmm { 44534279d6eSDmitry Baryshkov gpio-reserved-ranges = <0 4>, <8 4>; 44634279d6eSDmitry Baryshkov}; 44734279d6eSDmitry Baryshkov 44834279d6eSDmitry Baryshkov&usb2 { 44934279d6eSDmitry Baryshkov status = "okay"; 45034279d6eSDmitry Baryshkov}; 45134279d6eSDmitry Baryshkov 45234279d6eSDmitry Baryshkov&usb2_dwc3 { 45334279d6eSDmitry Baryshkov dr_mode = "host"; 45434279d6eSDmitry Baryshkov}; 45534279d6eSDmitry Baryshkov 45634279d6eSDmitry Baryshkov&usb3 { 45734279d6eSDmitry Baryshkov status = "okay"; 45834279d6eSDmitry Baryshkov}; 45934279d6eSDmitry Baryshkov 46034279d6eSDmitry Baryshkov&usb3_dwc3 { 46134279d6eSDmitry Baryshkov dr_mode = "peripheral"; 46234279d6eSDmitry Baryshkov extcon = <&extcon_usb>; 46334279d6eSDmitry Baryshkov}; 464