| // SPDX-License-Identifier: BSD-3-Clause |
| /* |
| * Copyright (c) 2023-2024, Qualcomm Innovation Center, Inc. All rights reserved. |
| */ |
| |
| /dts-v1/; |
| |
| #include <dt-bindings/leds/common.h> |
| #include "qcs8550-aim300.dtsi" |
| #include "pm8010.dtsi" |
| #include "pmr735d_a.dtsi" |
| #include "pmr735d_b.dtsi" |
| |
| / { |
| model = "Qualcomm Technologies, Inc. QCS8550 AIM300 AIOT"; |
| compatible = "qcom,qcs8550-aim300-aiot", "qcom,qcs8550-aim300", "qcom,qcs8550", |
| "qcom,sm8550"; |
| |
| aliases { |
| serial0 = &uart7; |
| }; |
| |
| chosen { |
| stdout-path = "serial0:115200n8"; |
| }; |
| |
| gpio-keys { |
| compatible = "gpio-keys"; |
| |
| pinctrl-0 = <&volume_up_n>; |
| pinctrl-names = "default"; |
| |
| key-volume-up { |
| label = "Volume Up"; |
| debounce-interval = <15>; |
| gpios = <&pm8550_gpios 6 GPIO_ACTIVE_LOW>; |
| linux,code = <KEY_VOLUMEUP>; |
| linux,can-disable; |
| wakeup-source; |
| }; |
| }; |
| |
| pmic-glink { |
| compatible = "qcom,sm8550-pmic-glink", "qcom,pmic-glink"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| orientation-gpios = <&tlmm 11 GPIO_ACTIVE_HIGH>; |
| |
| connector@0 { |
| compatible = "usb-c-connector"; |
| reg = <0>; |
| power-role = "dual"; |
| data-role = "dual"; |
| |
| ports { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| port@0 { |
| reg = <0>; |
| |
| pmic_glink_hs_in: endpoint { |
| remote-endpoint = <&usb_1_dwc3_hs>; |
| }; |
| }; |
| |
| port@1 { |
| reg = <1>; |
| |
| pmic_glink_ss_in: endpoint { |
| remote-endpoint = <&redriver_ss_out>; |
| }; |
| }; |
| |
| port@2 { |
| reg = <2>; |
| |
| pmic_glink_sbu: endpoint { |
| remote-endpoint = <&fsa4480_sbu_mux>; |
| }; |
| }; |
| }; |
| }; |
| }; |
| |
| vph_pwr: regulator-vph-pwr { |
| compatible = "regulator-fixed"; |
| regulator-name = "vph_pwr"; |
| regulator-min-microvolt = <3700000>; |
| regulator-max-microvolt = <3700000>; |
| |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| }; |
| |
| &apps_rsc { |
| regulators-0 { |
| vdd-bob1-supply = <&vph_pwr>; |
| vdd-bob2-supply = <&vph_pwr>; |
| }; |
| |
| regulators-3 { |
| vdd-s4-supply = <&vph_pwr>; |
| vdd-s5-supply = <&vph_pwr>; |
| }; |
| |
| regulators-4 { |
| vdd-s4-supply = <&vph_pwr>; |
| }; |
| |
| regulators-5 { |
| vdd-s1-supply = <&vph_pwr>; |
| vdd-s2-supply = <&vph_pwr>; |
| vdd-s3-supply = <&vph_pwr>; |
| vdd-s4-supply = <&vph_pwr>; |
| vdd-s5-supply = <&vph_pwr>; |
| vdd-s6-supply = <&vph_pwr>; |
| }; |
| }; |
| |
| &i2c_hub_2 { |
| status = "okay"; |
| |
| typec-mux@42 { |
| compatible = "fcs,fsa4480"; |
| reg = <0x42>; |
| |
| vcc-supply = <&vreg_bob1>; |
| |
| mode-switch; |
| orientation-switch; |
| |
| port { |
| fsa4480_sbu_mux: endpoint { |
| remote-endpoint = <&pmic_glink_sbu>; |
| }; |
| }; |
| }; |
| |
| typec-retimer@1c { |
| compatible = "onnn,nb7vpq904m"; |
| reg = <0x1c>; |
| |
| vcc-supply = <&vreg_l15b_1p8>; |
| |
| orientation-switch; |
| retimer-switch; |
| |
| ports { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| port@0 { |
| reg = <0>; |
| |
| redriver_ss_out: endpoint { |
| remote-endpoint = <&pmic_glink_ss_in>; |
| }; |
| }; |
| |
| port@1 { |
| reg = <1>; |
| |
| redriver_ss_in: endpoint { |
| data-lanes = <3 2 1 0>; |
| remote-endpoint = <&usb_dp_qmpphy_out>; |
| }; |
| }; |
| }; |
| }; |
| }; |
| |
| &mdss_dsi0 { |
| status = "okay"; |
| |
| panel@0 { |
| compatible = "visionox,vtdr6130"; |
| reg = <0>; |
| |
| pinctrl-0 = <&dsi_active>, <&te_default>; |
| pinctrl-1 = <&dsi_suspend>, <&te_default>; |
| pinctrl-names = "default", "sleep"; |
| |
| reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; |
| |
| vci-supply = <&vreg_l13b_3p0>; |
| vdd-supply = <&vreg_l11b_1p2>; |
| vddio-supply = <&vreg_l12b_1p8>; |
| |
| port { |
| panel0_in: endpoint { |
| remote-endpoint = <&mdss_dsi0_out>; |
| }; |
| }; |
| }; |
| }; |
| |
| &mdss_dsi0_out { |
| remote-endpoint = <&panel0_in>; |
| data-lanes = <0 1 2 3>; |
| }; |
| |
| &mdss_dsi0_phy { |
| status = "okay"; |
| }; |
| |
| &pcie0 { |
| status = "okay"; |
| }; |
| |
| &pcie0_phy { |
| status = "okay"; |
| }; |
| |
| &pcie1 { |
| status = "okay"; |
| }; |
| |
| &pcie1_phy { |
| status = "okay"; |
| }; |
| |
| &pm8550_gpios { |
| volume_up_n: volume-up-n-state { |
| pins = "gpio6"; |
| function = "normal"; |
| power-source = <1>; |
| bias-pull-up; |
| input-enable; |
| }; |
| }; |
| |
| &pon_pwrkey { |
| status = "okay"; |
| }; |
| |
| &pon_resin { |
| linux,code = <KEY_VOLUMEDOWN>; |
| |
| status = "okay"; |
| }; |
| |
| &qupv3_id_0 { |
| status = "okay"; |
| }; |
| |
| &remoteproc_adsp { |
| firmware-name = "qcom/qcs8550/adsp.mbn", |
| "qcom/qcs8550/adsp_dtb.mbn"; |
| status = "okay"; |
| }; |
| |
| &remoteproc_cdsp { |
| firmware-name = "qcom/qcs8550/cdsp.mbn", |
| "qcom/qcs8550/cdsp_dtb.mbn"; |
| status = "okay"; |
| }; |
| |
| &swr1 { |
| status = "okay"; |
| }; |
| |
| &swr2 { |
| status = "okay"; |
| }; |
| |
| &tlmm { |
| gpio-reserved-ranges = <32 8>; |
| |
| dsi_active: dsi-active-state { |
| pins = "gpio133"; |
| function = "gpio"; |
| drive-strength = <8>; |
| bias-disable; |
| }; |
| |
| dsi_suspend: dsi-suspend-state { |
| pins = "gpio133"; |
| function = "gpio"; |
| drive-strength = <2>; |
| bias-pull-down; |
| }; |
| |
| te_default: te-default-state { |
| pins = "gpio86"; |
| function = "mdp_vsync"; |
| drive-strength = <2>; |
| bias-pull-down; |
| }; |
| }; |
| |
| &uart7 { |
| status = "okay"; |
| }; |
| |
| &usb_1 { |
| status = "okay"; |
| }; |
| |
| &usb_1_dwc3_hs { |
| remote-endpoint = <&pmic_glink_hs_in>; |
| }; |
| |
| &usb_1_hsphy { |
| status = "okay"; |
| }; |
| |
| &usb_dp_qmpphy { |
| status = "okay"; |
| }; |
| |
| &usb_dp_qmpphy_out { |
| remote-endpoint = <&redriver_ss_in>; |
| }; |