// SPDX-License-Identifier: BSD-3-Clause /dts-v1/; #include #include #include #include "sc7180.dtsi" #include "pm6150.dtsi" #include "pm6150l.dtsi" /delete-node/ &tz_mem; /delete-node/ &ipa_fw_mem; / { model = "ECS LIVA QC710"; compatible = "ecs,liva-qc710", "qcom,sc7180"; chassis-type = "desktop"; aliases { bluetooth0 = &bluetooth; hsuart0 = &uart3; wifi0 = &wifi; }; hdmi-bridge { compatible = "algoltek,ag6311"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; hdmi_bridge_dp_in: endpoint { remote-endpoint = <&usb_1_qmpphy_dp_out>; }; }; port@1 { reg = <1>; hdmi_bridge_tmds_out: endpoint { remote-endpoint = <&hdmi_con>; }; }; }; }; hdmi-connector { compatible = "hdmi-connector"; type = "a"; port { hdmi_con: endpoint { remote-endpoint = <&hdmi_bridge_tmds_out>; }; }; }; reserved-memory { gpu_mem: zap-shader@80840000 { reg = <0x0 0x80840000 0 0x2000>; no-map; }; venus_mem: venus@85b00000 { reg = <0x0 0x85b00000 0 0x500000>; no-map; }; mpss_mem: mpss@86000000 { reg = <0x0 0x86000000 0x0 0x2000000>; no-map; }; adsp_mem: adsp@8e400000 { reg = <0x0 0x8e400000 0x0 0x2800000>; no-map; }; wlan_mem: wlan@93900000 { reg = <0x0 0x93900000 0x0 0x200000>; no-map; }; }; usb_a_connector: usb-a-connector { compatible = "usb-a-connector"; port { usb_a_connector_ss_in: endpoint { remote-endpoint = <&usb_1_qmpphy_usb_ss_out>; }; }; }; }; &apps_rsc { regulators-0 { compatible = "qcom,pm6150-rpmh-regulators"; qcom,pmic-id = "a"; vreg_s1a_1p1: smps1 { regulator-min-microvolt = <1128000>; regulator-max-microvolt = <1128000>; }; vreg_l4a_0p8: ldo4 { regulator-min-microvolt = <824000>; regulator-max-microvolt = <928000>; regulator-initial-mode = ; }; vreg_l9a_0p6: ldo9 { regulator-min-microvolt = <488000>; regulator-max-microvolt = <800000>; regulator-initial-mode = ; }; vreg_l10a_1p8: ldo10 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-initial-mode = ; regulator-always-on; regulator-boot-on; }; vreg_l11a_1p8: ldo11 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-initial-mode = ; }; vreg_l12a_1p8: ldo12 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-initial-mode = ; }; vreg_l13a_1p8: ldo13 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-initial-mode = ; }; vreg_l14a_1p8: ldo14 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-initial-mode = ; }; vreg_l15a_1p8: ldo15 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-initial-mode = ; }; vreg_l16a_2p7: ldo16 { regulator-min-microvolt = <2496000>; regulator-max-microvolt = <3304000>; regulator-initial-mode = ; }; vreg_l17a_3p0: ldo17 { regulator-min-microvolt = <2920000>; regulator-max-microvolt = <3232000>; regulator-initial-mode = ; }; vreg_l18a_2p8: ldo18 { regulator-min-microvolt = <2496000>; regulator-max-microvolt = <3304000>; regulator-initial-mode = ; }; vreg_l19a_2p9: ldo19 { regulator-min-microvolt = <2960000>; regulator-max-microvolt = <2960000>; regulator-initial-mode = ; }; }; regulators-1 { compatible = "qcom,pm6150l-rpmh-regulators"; qcom,pmic-id = "c"; vreg_s8c_1p3: smps8 { regulator-min-microvolt = <1120000>; regulator-max-microvolt = <1408000>; }; vreg_l1c_1p8: ldo1 { regulator-min-microvolt = <1616000>; regulator-max-microvolt = <1984000>; regulator-initial-mode = ; }; vreg_l2c_1p3: ldo2 { regulator-min-microvolt = <1168000>; regulator-max-microvolt = <1304000>; regulator-initial-mode = ; }; vreg_l3c_1p2: ldo3 { regulator-min-microvolt = <1144000>; regulator-max-microvolt = <1304000>; regulator-initial-mode = ; }; vreg_l4c_1p8: ldo4 { regulator-min-microvolt = <1648000>; regulator-max-microvolt = <3304000>; regulator-initial-mode = ; }; vreg_l5c_1p8: ldo5 { regulator-min-microvolt = <1648000>; regulator-max-microvolt = <3304000>; regulator-initial-mode = ; }; vreg_l6c_2p9: ldo6 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <2950000>; regulator-initial-mode = ; }; vreg_l7c_3p0: ldo7 { regulator-min-microvolt = <3000000>; regulator-max-microvolt = <3312000>; regulator-initial-mode = ; }; vreg_l8c_1p8: ldo8 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-initial-mode = ; }; vreg_l9c_2p9: ldo9 { regulator-min-microvolt = <2952000>; regulator-max-microvolt = <2952000>; regulator-initial-mode = ; }; vreg_l10c_3p3: ldo10 { regulator-min-microvolt = <3000000>; regulator-max-microvolt = <3400000>; regulator-initial-mode = ; }; vreg_l11c_3p3: ldo11 { regulator-min-microvolt = <3000000>; regulator-max-microvolt = <3400000>; regulator-initial-mode = ; }; vreg_bob: bob { regulator-min-microvolt = <3008000>; regulator-max-microvolt = <3960000>; regulator-initial-mode = ; }; }; }; &gpu { status = "okay"; }; &gpu_zap_shader { firmware-name = "qcom/sc7180/ecs/liva-qc710/qcdxkmsuc7180.mbn"; }; &mdss { status = "okay"; }; &mdss_dp { pinctrl-0 = <&dp_hot_plug_det>; pinctrl-names = "default"; status = "okay"; }; &mdss_dp_out { data-lanes = <0 1>; remote-endpoint = <&usb_1_qmpphy_dp_in>; }; &pm6150_rtc { qcom,uefi-rtc-info; status = "okay"; }; &qfprom { vcc-supply = <&vreg_l11a_1p8>; }; &qupv3_id_0 { status = "okay"; }; &qupv3_id_1 { status = "okay"; }; &remoteproc_adsp { memory-region = <&adsp_mem>; firmware-name = "qcom/sc7180/ecs/liva-qc710/qcadsp7180.mbn"; status = "okay"; }; &remoteproc_mpss { firmware-name = "qcom/sc7180/ecs/liva-qc710/qcmpss7180_nm.mbn"; status = "okay"; }; &sdhc_1 { pinctrl-0 = <&sdc1_default>; pinctrl-1 = <&sdc1_sleep>; pinctrl-names = "default", "sleep"; vmmc-supply = <&vreg_l19a_2p9>; vqmmc-supply = <&vreg_l12a_1p8>; status = "okay"; }; &sdhc_2 { pinctrl-0 = <&sdc2_default>; pinctrl-1 = <&sdc2_sleep>; pinctrl-names = "default", "sleep"; vmmc-supply = <&vreg_l9c_2p9>; vqmmc-supply = <&vreg_l6c_2p9>; cd-gpios = <&tlmm 69 GPIO_ACTIVE_LOW>; status = "okay"; }; &tlmm { /* * The TZ seem to protect those because some boards can have * fingerprint sensor connected to this range. Not connected * on this board */ gpio-reserved-ranges = <58 5>; qup_uart3_sleep: qup-uart3-sleep-state { cts-pins { /* * Configure a pull-down on CTS to match the pull of * the Bluetooth module. */ pins = "gpio38"; function = "gpio"; bias-pull-down; }; rts-pins { /* * Configure pull-down on RTS. As RTS is active low * signal, pull it low to indicate the BT SoC that it * can wakeup the system anytime from suspend state by * pulling RX low (by sending wakeup bytes). */ pins = "gpio39"; function = "gpio"; bias-pull-down; }; tx-pins { /* * Configure pull-up on TX when it isn't actively driven * to prevent BT SoC from receiving garbage during sleep. */ pins = "gpio40"; function = "gpio"; bias-pull-up; }; rx-pins { /* * Configure a pull-up on RX. This is needed to avoid * garbage data when the TX pin of the Bluetooth module * is floating which may cause spurious wakeups. */ pins = "gpio41"; function = "gpio"; bias-pull-up; }; }; sdc1_default: sdc1-default-state { clk-pins { pins = "sdc1_clk"; drive-strength = <16>; bias-disable; }; cmd-pins { pins = "sdc1_cmd"; drive-strength = <16>; bias-pull-up; }; data-pins { pins = "sdc1_data"; drive-strength = <16>; bias-pull-up; }; rclk-pins { pins = "sdc1_rclk"; bias-pull-down; }; }; sdc1_sleep: sdc1-sleep-state { clk-pins { pins = "sdc1_clk"; drive-strength = <2>; bias-disable; }; cmd-pins { pins = "sdc1_cmd"; drive-strength = <2>; bias-pull-up; }; data-pins { pins = "sdc1_data"; drive-strength = <2>; bias-pull-up; }; rclk-pins { pins = "sdc1_rclk"; bias-pull-down; }; }; sdc2_default: sdc2-default-state { clk-pins { pins = "sdc2_clk"; bias-disable; drive-strength = <16>; }; cmd-pins { pins = "sdc2_cmd"; bias-pull-up; drive-strength = <10>; }; data-pins { pins = "sdc2_data"; bias-pull-up; drive-strength = <10>; }; sd-cd-pins { pins = "gpio69"; function = "gpio"; bias-pull-up; drive-strength = <2>; }; }; sdc2_sleep: sdc2-sleep-state { clk-pins { pins = "sdc2_clk"; bias-disable; drive-strength = <2>; }; cmd-pins { pins = "sdc2_cmd"; bias-pull-up; drive-strength = <2>; }; data-pins { pins = "sdc2_data"; bias-pull-up; drive-strength = <2>; }; sd-cd-pins { pins = "gpio69"; function = "gpio"; bias-pull-up; drive-strength = <2>; }; }; }; &uart3 { /delete-property/ interrupts; interrupts-extended = <&intc GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>, <&tlmm 41 IRQ_TYPE_EDGE_FALLING>; pinctrl-1 = <&qup_uart3_sleep>; pinctrl-names = "default", "sleep"; status = "okay"; bluetooth: bluetooth { compatible = "qcom,wcn3991-bt"; vddio-supply = <&vreg_l10a_1p8>; vddxo-supply = <&vreg_l1c_1p8>; vddrf-supply = <&vreg_l2c_1p3>; vddch0-supply = <&vreg_l10c_3p3>; max-speed = <3200000>; }; }; &usb_1 { status = "okay"; }; &usb_1_dwc3 { dr_mode = "host"; #address-cells = <1>; #size-cells = <0>; hub@1 { compatible = "usb5e3,608"; reg = <1>; #address-cells = <1>; #size-cells = <0>; /* @1: 3.0 Type-A port on the back * @2: 2.0 Type-A port the side * @3: 2.0 Type-C port on the back */ ethernet@4 { compatible = "usbbda,8152"; reg = <4>; }; }; }; &usb_1_hsphy { vdd-supply = <&vreg_l4a_0p8>; vdda-pll-supply = <&vreg_l11a_1p8>; vdda-phy-dpdm-supply = <&vreg_l17a_3p0>; qcom,imp-res-offset-value = <8>; qcom,preemphasis-level = ; qcom,preemphasis-width = ; qcom,bias-ctrl-value = <0x22>; qcom,charge-ctrl-value = <3>; qcom,hsdisc-trim-value = <0>; status = "okay"; }; &usb_1_qmpphy { vdda-phy-supply = <&vreg_l3c_1p2>; vdda-pll-supply = <&vreg_l4a_0p8>; /delete-property/ mode-switch; /delete-property/ orientation-switch; status = "okay"; ports { port@0 { #address-cells = <1>; #size-cells = <0>; /delete-node/ endpoint; usb_1_qmpphy_dp_out: endpoint@0 { reg = <0>; data-lanes = <3 2>; remote-endpoint = <&hdmi_bridge_dp_in>; }; usb_1_qmpphy_usb_ss_out: endpoint@1 { reg = <1>; data-lanes = <1 0>; remote-endpoint = <&usb_a_connector_ss_in>; }; }; }; }; &usb_1_qmpphy_dp_in { remote-endpoint = <&mdss_dp_out>; }; &venus { firmware-name = "qcom/sc7180/ecs/liva-qc710/qcvss7180.mbn"; }; &wifi { vdd-0.8-cx-mx-supply = <&vreg_l9a_0p6>; vdd-1.8-xo-supply = <&vreg_l1c_1p8>; vdd-1.3-rfa-supply = <&vreg_l2c_1p3>; vdd-3.3-ch0-supply = <&vreg_l10c_3p3>; vdd-3.3-ch1-supply = <&vreg_l11c_3p3>; qcom,calibration-variant = "ECS_QC710"; status = "okay"; };