1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2023-2024, Qualcomm Innovation Center, Inc. All rights reserved. 4 */ 5 6/dts-v1/; 7 8#include <dt-bindings/leds/common.h> 9#include "qcs8550-aim300.dtsi" 10#include "pm8010.dtsi" 11#include "pmr735d_a.dtsi" 12#include "pmr735d_b.dtsi" 13 14/ { 15 model = "Qualcomm Technologies, Inc. QCS8550 AIM300 AIOT"; 16 compatible = "qcom,qcs8550-aim300-aiot", "qcom,qcs8550-aim300", "qcom,qcs8550", 17 "qcom,sm8550"; 18 19 aliases { 20 serial0 = &uart7; 21 }; 22 23 chosen { 24 stdout-path = "serial0:115200n8"; 25 }; 26 27 gpio-keys { 28 compatible = "gpio-keys"; 29 30 pinctrl-0 = <&volume_up_n>; 31 pinctrl-names = "default"; 32 33 key-volume-up { 34 label = "Volume Up"; 35 debounce-interval = <15>; 36 gpios = <&pm8550_gpios 6 GPIO_ACTIVE_LOW>; 37 linux,code = <KEY_VOLUMEUP>; 38 linux,can-disable; 39 wakeup-source; 40 }; 41 }; 42 43 pmic-glink { 44 compatible = "qcom,sm8550-pmic-glink", "qcom,pmic-glink"; 45 #address-cells = <1>; 46 #size-cells = <0>; 47 orientation-gpios = <&tlmm 11 GPIO_ACTIVE_HIGH>; 48 49 connector@0 { 50 compatible = "usb-c-connector"; 51 reg = <0>; 52 power-role = "dual"; 53 data-role = "dual"; 54 55 ports { 56 #address-cells = <1>; 57 #size-cells = <0>; 58 59 port@0 { 60 reg = <0>; 61 62 pmic_glink_hs_in: endpoint { 63 remote-endpoint = <&usb_1_dwc3_hs>; 64 }; 65 }; 66 67 port@1 { 68 reg = <1>; 69 70 pmic_glink_ss_in: endpoint { 71 remote-endpoint = <&redriver_ss_out>; 72 }; 73 }; 74 75 port@2 { 76 reg = <2>; 77 78 pmic_glink_sbu: endpoint { 79 remote-endpoint = <&fsa4480_sbu_mux>; 80 }; 81 }; 82 }; 83 }; 84 }; 85 86 vph_pwr: regulator-vph-pwr { 87 compatible = "regulator-fixed"; 88 regulator-name = "vph_pwr"; 89 regulator-min-microvolt = <3700000>; 90 regulator-max-microvolt = <3700000>; 91 92 regulator-always-on; 93 regulator-boot-on; 94 }; 95}; 96 97&apps_rsc { 98 regulators-0 { 99 vdd-bob1-supply = <&vph_pwr>; 100 vdd-bob2-supply = <&vph_pwr>; 101 }; 102 103 regulators-3 { 104 vdd-s4-supply = <&vph_pwr>; 105 vdd-s5-supply = <&vph_pwr>; 106 }; 107 108 regulators-4 { 109 vdd-s4-supply = <&vph_pwr>; 110 }; 111 112 regulators-5 { 113 vdd-s1-supply = <&vph_pwr>; 114 vdd-s2-supply = <&vph_pwr>; 115 vdd-s3-supply = <&vph_pwr>; 116 vdd-s4-supply = <&vph_pwr>; 117 vdd-s5-supply = <&vph_pwr>; 118 vdd-s6-supply = <&vph_pwr>; 119 }; 120}; 121 122&i2c_hub_2 { 123 status = "okay"; 124 125 typec-mux@42 { 126 compatible = "fcs,fsa4480"; 127 reg = <0x42>; 128 129 vcc-supply = <&vreg_bob1>; 130 131 mode-switch; 132 orientation-switch; 133 134 port { 135 fsa4480_sbu_mux: endpoint { 136 remote-endpoint = <&pmic_glink_sbu>; 137 }; 138 }; 139 }; 140 141 typec-retimer@1c { 142 compatible = "onnn,nb7vpq904m"; 143 reg = <0x1c>; 144 145 vcc-supply = <&vreg_l15b_1p8>; 146 147 orientation-switch; 148 retimer-switch; 149 150 ports { 151 #address-cells = <1>; 152 #size-cells = <0>; 153 154 port@0 { 155 reg = <0>; 156 157 redriver_ss_out: endpoint { 158 remote-endpoint = <&pmic_glink_ss_in>; 159 }; 160 }; 161 162 port@1 { 163 reg = <1>; 164 165 redriver_ss_in: endpoint { 166 data-lanes = <3 2 1 0>; 167 remote-endpoint = <&usb_dp_qmpphy_out>; 168 }; 169 }; 170 }; 171 }; 172}; 173 174&mdss_dsi0 { 175 status = "okay"; 176 177 panel@0 { 178 compatible = "visionox,vtdr6130"; 179 reg = <0>; 180 181 pinctrl-0 = <&dsi_active>, <&te_default>; 182 pinctrl-1 = <&dsi_suspend>, <&te_default>; 183 pinctrl-names = "default", "sleep"; 184 185 reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; 186 187 vci-supply = <&vreg_l13b_3p0>; 188 vdd-supply = <&vreg_l11b_1p2>; 189 vddio-supply = <&vreg_l12b_1p8>; 190 191 port { 192 panel0_in: endpoint { 193 remote-endpoint = <&mdss_dsi0_out>; 194 }; 195 }; 196 }; 197}; 198 199&mdss_dsi0_out { 200 remote-endpoint = <&panel0_in>; 201 data-lanes = <0 1 2 3>; 202}; 203 204&mdss_dsi0_phy { 205 status = "okay"; 206}; 207 208&pcie0 { 209 status = "okay"; 210}; 211 212&pcie0_phy { 213 status = "okay"; 214}; 215 216&pcie1 { 217 status = "okay"; 218}; 219 220&pcie1_phy { 221 status = "okay"; 222}; 223 224&pm8550_gpios { 225 volume_up_n: volume-up-n-state { 226 pins = "gpio6"; 227 function = "normal"; 228 power-source = <1>; 229 bias-pull-up; 230 input-enable; 231 }; 232}; 233 234&pon_pwrkey { 235 status = "okay"; 236}; 237 238&pon_resin { 239 linux,code = <KEY_VOLUMEDOWN>; 240 241 status = "okay"; 242}; 243 244&qupv3_id_0 { 245 status = "okay"; 246}; 247 248&remoteproc_adsp { 249 firmware-name = "qcom/qcs8550/adsp.mbn", 250 "qcom/qcs8550/adsp_dtb.mbn"; 251 status = "okay"; 252}; 253 254&remoteproc_cdsp { 255 firmware-name = "qcom/qcs8550/cdsp.mbn", 256 "qcom/qcs8550/cdsp_dtb.mbn"; 257 status = "okay"; 258}; 259 260&swr1 { 261 status = "okay"; 262}; 263 264&swr2 { 265 status = "okay"; 266}; 267 268&tlmm { 269 gpio-reserved-ranges = <32 8>; 270 271 dsi_active: dsi-active-state { 272 pins = "gpio133"; 273 function = "gpio"; 274 drive-strength = <8>; 275 bias-disable; 276 }; 277 278 dsi_suspend: dsi-suspend-state { 279 pins = "gpio133"; 280 function = "gpio"; 281 drive-strength = <2>; 282 bias-pull-down; 283 }; 284 285 te_default: te-default-state { 286 pins = "gpio86"; 287 function = "mdp_vsync"; 288 drive-strength = <2>; 289 bias-pull-down; 290 }; 291}; 292 293&uart7 { 294 status = "okay"; 295}; 296 297&usb_1 { 298 status = "okay"; 299}; 300 301&usb_1_dwc3_hs { 302 remote-endpoint = <&pmic_glink_hs_in>; 303}; 304 305&usb_1_hsphy { 306 status = "okay"; 307}; 308 309&usb_dp_qmpphy { 310 status = "okay"; 311}; 312 313&usb_dp_qmpphy_out { 314 remote-endpoint = <&redriver_ss_in>; 315}; 316