1 // SPDX-License-Identifier: BSD-3-Clause 1 // SPDX-License-Identifier: BSD-3-Clause 2 /* 2 /* 3 * Copyright (c) 2020, Xilin Wu <strongtz@yeah. 3 * Copyright (c) 2020, Xilin Wu <strongtz@yeah.net> 4 * Copyright (c) 2022, Molly Sophia <mollysophi 4 * Copyright (c) 2022, Molly Sophia <mollysophia379@gmail.com> 5 */ 5 */ 6 6 7 /dts-v1/; 7 /dts-v1/; 8 8 9 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/gpio/gpio.h> 10 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h 10 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 11 #include <dt-bindings/regulator/qcom,rpmh-regu 11 #include <dt-bindings/regulator/qcom,rpmh-regulator.h> 12 #include <dt-bindings/input/linux-event-codes. 12 #include <dt-bindings/input/linux-event-codes.h> 13 #include <dt-bindings/sound/qcom,q6afe.h> 13 #include <dt-bindings/sound/qcom,q6afe.h> 14 #include <dt-bindings/sound/qcom,q6asm.h> 14 #include <dt-bindings/sound/qcom,q6asm.h> 15 #include "sdm845.dtsi" 15 #include "sdm845.dtsi" 16 #include "sdm845-wcd9340.dtsi" << 17 #include "pm8998.dtsi" 16 #include "pm8998.dtsi" 18 #include "pmi8998.dtsi" 17 #include "pmi8998.dtsi" 19 #include "pm8005.dtsi" 18 #include "pm8005.dtsi" 20 19 21 /* 20 /* 22 * Delete following upstream (sdm845.dtsi) res 21 * Delete following upstream (sdm845.dtsi) reserved 23 * memory mappings which are different in this 22 * memory mappings which are different in this device. 24 */ 23 */ 25 /delete-node/ &rmtfs_mem; 24 /delete-node/ &rmtfs_mem; 26 /delete-node/ &adsp_mem; 25 /delete-node/ &adsp_mem; 27 /delete-node/ &wlan_msa_mem; 26 /delete-node/ &wlan_msa_mem; 28 /delete-node/ &mpss_region; 27 /delete-node/ &mpss_region; 29 /delete-node/ &venus_mem; 28 /delete-node/ &venus_mem; 30 /delete-node/ &cdsp_mem; 29 /delete-node/ &cdsp_mem; 31 /delete-node/ &mba_region; 30 /delete-node/ &mba_region; 32 /delete-node/ &slpi_mem; 31 /delete-node/ &slpi_mem; 33 /delete-node/ &spss_mem; 32 /delete-node/ &spss_mem; 34 33 35 / { 34 / { 36 model = "Xiaomi Mi MIX 2S"; 35 model = "Xiaomi Mi MIX 2S"; 37 compatible = "xiaomi,polaris", "qcom,s 36 compatible = "xiaomi,polaris", "qcom,sdm845"; 38 chassis-type = "handset"; 37 chassis-type = "handset"; 39 38 40 /* required for bootloader to select c 39 /* required for bootloader to select correct board */ 41 qcom,msm-id = <0x141 0x20001>; 40 qcom,msm-id = <0x141 0x20001>; 42 qcom,board-id = <0x2a 0x0>; 41 qcom,board-id = <0x2a 0x0>; 43 42 44 aliases { 43 aliases { 45 serial0 = &uart9; 44 serial0 = &uart9; 46 serial1 = &uart6; 45 serial1 = &uart6; 47 }; 46 }; 48 47 49 gpio-keys { 48 gpio-keys { 50 compatible = "gpio-keys"; 49 compatible = "gpio-keys"; 51 autorepeat; 50 autorepeat; 52 51 53 pinctrl-names = "default"; 52 pinctrl-names = "default"; 54 pinctrl-0 = <&volume_up_gpio>; 53 pinctrl-0 = <&volume_up_gpio>; 55 54 56 key-vol-up { 55 key-vol-up { 57 label = "Volume Up"; 56 label = "Volume Up"; 58 linux,code = <KEY_VOLU 57 linux,code = <KEY_VOLUMEUP>; 59 gpios = <&pm8998_gpios !! 58 gpios = <&pm8998_gpio 6 GPIO_ACTIVE_LOW>; 60 debounce-interval = <1 59 debounce-interval = <15>; 61 }; 60 }; 62 }; 61 }; 63 62 64 reserved-memory { 63 reserved-memory { 65 adsp_mem: memory@8c500000 { 64 adsp_mem: memory@8c500000 { 66 reg = <0 0x8c500000 0 65 reg = <0 0x8c500000 0 0x1e00000>; 67 no-map; 66 no-map; 68 }; 67 }; 69 68 70 wlan_msa_mem: memory@8e300000 69 wlan_msa_mem: memory@8e300000 { 71 reg = <0 0x8e300000 0 70 reg = <0 0x8e300000 0 0x100000>; 72 no-map; 71 no-map; 73 }; 72 }; 74 73 75 mpss_region: memory@8e400000 { 74 mpss_region: memory@8e400000 { 76 reg = <0 0x8e400000 0 75 reg = <0 0x8e400000 0 0x7800000>; 77 no-map; 76 no-map; 78 }; 77 }; 79 78 80 venus_mem: memory@95c00000 { 79 venus_mem: memory@95c00000 { 81 reg = <0 0x95c00000 0 80 reg = <0 0x95c00000 0 0x500000>; 82 no-map; 81 no-map; 83 }; 82 }; 84 83 85 cdsp_mem: memory@96100000 { 84 cdsp_mem: memory@96100000 { 86 reg = <0 0x96100000 0 85 reg = <0 0x96100000 0 0x800000>; 87 no-map; 86 no-map; 88 }; 87 }; 89 88 90 mba_region: memory@96900000 { 89 mba_region: memory@96900000 { 91 reg = <0 0x96900000 0 90 reg = <0 0x96900000 0 0x200000>; 92 no-map; 91 no-map; 93 }; 92 }; 94 93 95 slpi_mem: memory@96b00000 { 94 slpi_mem: memory@96b00000 { 96 reg = <0 0x96b00000 0 95 reg = <0 0x96b00000 0 0x1400000>; 97 no-map; 96 no-map; 98 }; 97 }; 99 98 100 spss_mem: memory@97f00000 { 99 spss_mem: memory@97f00000 { 101 reg = <0 0x97f00000 0 100 reg = <0 0x97f00000 0 0x100000>; 102 no-map; 101 no-map; 103 }; 102 }; 104 103 105 rmtfs_mem: memory@f6301000 { 104 rmtfs_mem: memory@f6301000 { 106 compatible = "qcom,rmt 105 compatible = "qcom,rmtfs-mem"; 107 reg = <0 0xf6301000 0 106 reg = <0 0xf6301000 0 0x200000>; 108 no-map; 107 no-map; 109 108 110 qcom,client-id = <1>; 109 qcom,client-id = <1>; 111 qcom,vmid = <QCOM_SCM_ !! 110 qcom,vmid = <15>; 112 }; 111 }; 113 }; 112 }; 114 113 115 battery: battery { 114 battery: battery { 116 compatible = "simple-battery"; 115 compatible = "simple-battery"; 117 116 118 charge-full-design-microamp-ho 117 charge-full-design-microamp-hours = <3400000>; 119 voltage-min-design-microvolt = 118 voltage-min-design-microvolt = <3400000>; 120 voltage-max-design-microvolt = 119 voltage-max-design-microvolt = <4400000>; 121 }; 120 }; 122 121 123 vreg_tp_vddio: vreg-tp-vddio { 122 vreg_tp_vddio: vreg-tp-vddio { 124 compatible = "regulator-fixed" 123 compatible = "regulator-fixed"; 125 regulator-name = "vreg_tp_vddi 124 regulator-name = "vreg_tp_vddio"; 126 125 127 regulator-min-microvolt = <180 126 regulator-min-microvolt = <1800000>; 128 regulator-max-microvolt = <180 127 regulator-max-microvolt = <1800000>; 129 128 130 gpio = <&tlmm 23 GPIO_ACTIVE_H 129 gpio = <&tlmm 23 GPIO_ACTIVE_HIGH>; 131 regulator-always-on; 130 regulator-always-on; 132 regulator-boot-on; 131 regulator-boot-on; 133 enable-active-high; 132 enable-active-high; 134 }; 133 }; 135 134 136 vreg_s4a_1p8: vreg-s4a-1p8 { 135 vreg_s4a_1p8: vreg-s4a-1p8 { 137 compatible = "regulator-fixed" 136 compatible = "regulator-fixed"; 138 regulator-name = "vreg_s4a_1p8 137 regulator-name = "vreg_s4a_1p8"; 139 138 140 regulator-min-microvolt = <180 139 regulator-min-microvolt = <1800000>; 141 regulator-max-microvolt = <180 140 regulator-max-microvolt = <1800000>; 142 regulator-always-on; 141 regulator-always-on; 143 }; 142 }; 144 }; 143 }; 145 144 146 &apps_rsc { 145 &apps_rsc { 147 regulators-0 { 146 regulators-0 { 148 compatible = "qcom,pm8998-rpmh 147 compatible = "qcom,pm8998-rpmh-regulators"; 149 qcom,pmic-id = "a"; 148 qcom,pmic-id = "a"; 150 149 151 vreg_s2a_1p1: smps2 { 150 vreg_s2a_1p1: smps2 { 152 regulator-min-microvol 151 regulator-min-microvolt = <1100000>; 153 regulator-max-microvol 152 regulator-max-microvolt = <1100000>; 154 }; 153 }; 155 154 156 vreg_s3a_1p35: smps3 { 155 vreg_s3a_1p35: smps3 { 157 regulator-min-microvol 156 regulator-min-microvolt = <1352000>; 158 regulator-max-microvol 157 regulator-max-microvolt = <1352000>; 159 }; 158 }; 160 159 161 vreg_s5a_2p04: smps5 { 160 vreg_s5a_2p04: smps5 { 162 regulator-min-microvol 161 regulator-min-microvolt = <1904000>; 163 regulator-max-microvol 162 regulator-max-microvolt = <2040000>; 164 }; 163 }; 165 164 166 vreg_s7a_1p025: smps7 { 165 vreg_s7a_1p025: smps7 { 167 regulator-min-microvol 166 regulator-min-microvolt = <900000>; 168 regulator-max-microvol 167 regulator-max-microvolt = <1028000>; 169 }; 168 }; 170 169 171 vdda_mipi_dsi0_pll: 170 vdda_mipi_dsi0_pll: 172 vdda_ufs1_core: 171 vdda_ufs1_core: 173 vreg_l1a_0p875: ldo1 { 172 vreg_l1a_0p875: ldo1 { 174 regulator-min-microvol 173 regulator-min-microvolt = <880000>; 175 regulator-max-microvol 174 regulator-max-microvolt = <880000>; 176 regulator-initial-mode 175 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 177 }; 176 }; 178 177 179 vreg_l2a_1p2: ldo2 { 178 vreg_l2a_1p2: ldo2 { 180 regulator-min-microvol 179 regulator-min-microvolt = <1200000>; 181 regulator-max-microvol 180 regulator-max-microvolt = <1200000>; 182 regulator-initial-mode 181 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 183 regulator-always-on; 182 regulator-always-on; 184 }; 183 }; 185 184 186 vreg_l3a_1p0: ldo3 { 185 vreg_l3a_1p0: ldo3 { 187 regulator-min-microvol 186 regulator-min-microvolt = <1000000>; 188 regulator-max-microvol 187 regulator-max-microvolt = <1000000>; 189 regulator-initial-mode 188 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 190 }; 189 }; 191 190 192 vreg_l5a_0p8: ldo5 { 191 vreg_l5a_0p8: ldo5 { 193 regulator-min-microvol 192 regulator-min-microvolt = <800000>; 194 regulator-max-microvol 193 regulator-max-microvolt = <800000>; 195 regulator-initial-mode 194 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 196 }; 195 }; 197 196 198 vreg_l6a_1p8: ldo6 { 197 vreg_l6a_1p8: ldo6 { 199 regulator-min-microvol 198 regulator-min-microvolt = <1856000>; 200 regulator-max-microvol 199 regulator-max-microvolt = <1856000>; 201 regulator-initial-mode 200 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 202 }; 201 }; 203 202 204 vreg_l7a_1p8: ldo7 { 203 vreg_l7a_1p8: ldo7 { 205 regulator-min-microvol 204 regulator-min-microvolt = <1800000>; 206 regulator-max-microvol 205 regulator-max-microvolt = <1800000>; 207 regulator-initial-mode 206 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 208 }; 207 }; 209 208 210 vreg_l8a_1p2: ldo8 { 209 vreg_l8a_1p2: ldo8 { 211 regulator-min-microvol 210 regulator-min-microvolt = <1200000>; 212 regulator-max-microvol 211 regulator-max-microvolt = <1248000>; 213 regulator-initial-mode 212 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 214 }; 213 }; 215 214 216 vreg_l9a_1p8: ldo9 { 215 vreg_l9a_1p8: ldo9 { 217 regulator-min-microvol 216 regulator-min-microvolt = <1704000>; 218 regulator-max-microvol 217 regulator-max-microvolt = <2928000>; 219 regulator-initial-mode 218 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 220 }; 219 }; 221 220 222 vreg_l10a_2p95: ldo10 { 221 vreg_l10a_2p95: ldo10 { 223 regulator-min-microvol 222 regulator-min-microvolt = <1704000>; 224 regulator-max-microvol 223 regulator-max-microvolt = <2928000>; 225 regulator-initial-mode 224 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 226 }; 225 }; 227 226 228 vreg_l11a_1p05: ldo11 { 227 vreg_l11a_1p05: ldo11 { 229 regulator-min-microvol 228 regulator-min-microvolt = <1000000>; 230 regulator-max-microvol 229 regulator-max-microvolt = <1048000>; 231 regulator-initial-mode 230 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 232 }; 231 }; 233 232 234 vreg_l12a_1p8: ldo12 { 233 vreg_l12a_1p8: ldo12 { 235 regulator-min-microvol 234 regulator-min-microvolt = <1800000>; 236 regulator-max-microvol 235 regulator-max-microvolt = <1800000>; 237 regulator-initial-mode 236 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 238 }; 237 }; 239 238 240 vreg_l13a_2p95: ldo13 { 239 vreg_l13a_2p95: ldo13 { 241 regulator-min-microvol 240 regulator-min-microvolt = <1800000>; 242 regulator-max-microvol 241 regulator-max-microvolt = <2960000>; 243 regulator-initial-mode 242 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 244 }; 243 }; 245 244 246 vreg_l14a_1p8: ldo14 { 245 vreg_l14a_1p8: ldo14 { 247 regulator-min-microvol 246 regulator-min-microvolt = <1800000>; 248 regulator-max-microvol 247 regulator-max-microvolt = <1880000>; 249 regulator-initial-mode 248 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 250 regulator-always-on; 249 regulator-always-on; 251 }; 250 }; 252 251 253 vreg_l15a_1p8: ldo15 { 252 vreg_l15a_1p8: ldo15 { 254 regulator-min-microvol 253 regulator-min-microvolt = <1800000>; 255 regulator-max-microvol 254 regulator-max-microvolt = <1800000>; 256 regulator-initial-mode 255 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 257 }; 256 }; 258 257 259 vreg_l16a_2p7: ldo16 { 258 vreg_l16a_2p7: ldo16 { 260 regulator-min-microvol 259 regulator-min-microvolt = <2704000>; 261 regulator-max-microvol 260 regulator-max-microvolt = <2704000>; 262 regulator-initial-mode 261 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 263 }; 262 }; 264 263 265 vreg_l17a_1p3: ldo17 { 264 vreg_l17a_1p3: ldo17 { 266 regulator-min-microvol 265 regulator-min-microvolt = <1304000>; 267 regulator-max-microvol 266 regulator-max-microvolt = <1304000>; 268 regulator-initial-mode 267 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 269 regulator-always-on; 268 regulator-always-on; 270 }; 269 }; 271 270 272 vreg_l18a_2p9: ldo18 { 271 vreg_l18a_2p9: ldo18 { 273 regulator-min-microvol 272 regulator-min-microvolt = <2704000>; 274 regulator-max-microvol 273 regulator-max-microvolt = <2960000>; 275 regulator-initial-mode 274 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 276 }; 275 }; 277 276 278 vreg_l19a_3p1: ldo19 { 277 vreg_l19a_3p1: ldo19 { 279 regulator-min-microvol 278 regulator-min-microvolt = <2856000>; 280 regulator-max-microvol 279 regulator-max-microvolt = <3104000>; 281 regulator-initial-mode 280 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 282 }; 281 }; 283 282 284 vreg_l20a_2p95: ldo20 { 283 vreg_l20a_2p95: ldo20 { 285 regulator-min-microvol 284 regulator-min-microvolt = <2704000>; 286 regulator-max-microvol 285 regulator-max-microvolt = <2960000>; 287 regulator-initial-mode 286 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 288 }; 287 }; 289 288 290 vreg_l21a_2p95: ldo21 { 289 vreg_l21a_2p95: ldo21 { 291 regulator-min-microvol 290 regulator-min-microvolt = <2704000>; 292 regulator-max-microvol 291 regulator-max-microvolt = <2960000>; 293 regulator-initial-mode 292 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 294 }; 293 }; 295 294 296 vreg_l22a_3p3: ldo22 { 295 vreg_l22a_3p3: ldo22 { 297 regulator-min-microvol 296 regulator-min-microvolt = <2864000>; 298 regulator-max-microvol 297 regulator-max-microvolt = <3312000>; 299 regulator-initial-mode 298 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 300 }; 299 }; 301 300 302 vreg_l23a_3p3: ldo23 { 301 vreg_l23a_3p3: ldo23 { 303 regulator-min-microvol 302 regulator-min-microvolt = <3000000>; 304 regulator-max-microvol 303 regulator-max-microvolt = <3312000>; 305 regulator-initial-mode 304 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 306 }; 305 }; 307 306 308 vreg_l24a_3p075: ldo24 { 307 vreg_l24a_3p075: ldo24 { 309 regulator-min-microvol 308 regulator-min-microvolt = <3088000>; 310 regulator-max-microvol 309 regulator-max-microvolt = <3088000>; 311 regulator-initial-mode 310 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 312 }; 311 }; 313 312 314 vreg_l25a_3p3: ldo25 { 313 vreg_l25a_3p3: ldo25 { 315 regulator-min-microvol 314 regulator-min-microvolt = <3000000>; 316 regulator-max-microvol 315 regulator-max-microvolt = <3312000>; 317 regulator-initial-mode 316 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 318 regulator-always-on; 317 regulator-always-on; 319 }; 318 }; 320 319 321 vdda_mipi_dsi0_1p2: 320 vdda_mipi_dsi0_1p2: 322 vdda_ufs1_1p2: 321 vdda_ufs1_1p2: 323 vreg_l26a_1p2: ldo26 { 322 vreg_l26a_1p2: ldo26 { 324 regulator-min-microvol 323 regulator-min-microvolt = <1200000>; 325 regulator-max-microvol 324 regulator-max-microvolt = <1200000>; 326 regulator-initial-mode 325 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 327 }; 326 }; 328 327 329 vreg_l28a_3p0: ldo28 { 328 vreg_l28a_3p0: ldo28 { 330 regulator-min-microvol 329 regulator-min-microvolt = <2856000>; 331 regulator-max-microvol 330 regulator-max-microvolt = <3008000>; 332 regulator-initial-mode 331 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 333 regulator-always-on; 332 regulator-always-on; 334 }; 333 }; 335 334 336 vreg_lvs1a_1p8: lvs1 { 335 vreg_lvs1a_1p8: lvs1 { 337 regulator-min-microvol 336 regulator-min-microvolt = <1800000>; 338 regulator-max-microvol 337 regulator-max-microvolt = <1800000>; 339 }; 338 }; 340 339 341 vreg_lvs2a_1p8: lvs2 { 340 vreg_lvs2a_1p8: lvs2 { 342 regulator-min-microvol 341 regulator-min-microvolt = <1800000>; 343 regulator-max-microvol 342 regulator-max-microvolt = <1800000>; 344 }; 343 }; 345 }; 344 }; 346 345 347 regulators-1 { 346 regulators-1 { 348 compatible = "qcom,pmi8998-rpm 347 compatible = "qcom,pmi8998-rpmh-regulators"; 349 qcom,pmic-id = "b"; 348 qcom,pmic-id = "b"; 350 349 351 vreg_bob: bob { 350 vreg_bob: bob { 352 regulator-min-microvol 351 regulator-min-microvolt = <3312000>; 353 regulator-max-microvol 352 regulator-max-microvolt = <3600000>; 354 regulator-initial-mode 353 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 355 regulator-allow-bypass 354 regulator-allow-bypass; 356 }; 355 }; 357 }; 356 }; 358 357 359 regulators-2 { 358 regulators-2 { 360 compatible = "qcom,pm8005-rpmh 359 compatible = "qcom,pm8005-rpmh-regulators"; 361 qcom,pmic-id = "c"; 360 qcom,pmic-id = "c"; 362 361 363 vreg_smp3c_0p6: smps3 { 362 vreg_smp3c_0p6: smps3 { 364 regulator-min-microvol 363 regulator-min-microvolt = <600000>; 365 regulator-max-microvol 364 regulator-max-microvolt = <600000>; 366 regulator-always-on; 365 regulator-always-on; 367 }; 366 }; 368 }; 367 }; 369 }; 368 }; 370 369 371 &cdsp_pas { 370 &cdsp_pas { 372 firmware-name = "qcom/sdm845/polaris/c 371 firmware-name = "qcom/sdm845/polaris/cdsp.mbn"; 373 status = "okay"; 372 status = "okay"; 374 }; 373 }; 375 374 >> 375 &dsi0 { >> 376 vdda-supply = <&vdda_mipi_dsi0_1p2>; >> 377 status = "okay"; >> 378 >> 379 display_panel: panel@0 { >> 380 compatible = "jdi,fhd-nt35596s"; >> 381 #address-cells = <1>; >> 382 #size-cells = <0>; >> 383 reg = <0>; >> 384 >> 385 reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>; >> 386 vddio-supply = <&vreg_l14a_1p8>; >> 387 backlight = <&pmi8998_wled>; >> 388 vddpos-supply = <&lab>; >> 389 vddneg-supply = <&ibb>; >> 390 >> 391 pinctrl-names = "default", "sleep"; >> 392 pinctrl-0 = <&sde_dsi_active>; >> 393 pinctrl-1 = <&sde_dsi_suspend>; >> 394 >> 395 port { >> 396 panel_in: endpoint { >> 397 remote-endpoint = <&dsi0_out>; >> 398 }; >> 399 }; >> 400 }; >> 401 }; >> 402 >> 403 &dsi0_out { >> 404 remote-endpoint = <&panel_in>; >> 405 data-lanes = <0 1 2 3>; >> 406 }; >> 407 >> 408 &dsi0_phy { >> 409 vdds-supply = <&vdda_mipi_dsi0_pll>; >> 410 status = "okay"; >> 411 }; >> 412 376 &gcc { 413 &gcc { 377 protected-clocks = <GCC_QSPI_CORE_CLK> 414 protected-clocks = <GCC_QSPI_CORE_CLK>, 378 <GCC_QSPI_CORE 415 <GCC_QSPI_CORE_CLK_SRC>, 379 <GCC_QSPI_CNOC 416 <GCC_QSPI_CNOC_PERIPH_AHB_CLK>, 380 <GCC_LPASS_Q6_ 417 <GCC_LPASS_Q6_AXI_CLK>, 381 <GCC_LPASS_SWA 418 <GCC_LPASS_SWAY_CLK>; 382 }; 419 }; 383 420 384 &gmu { 421 &gmu { 385 status = "okay"; 422 status = "okay"; 386 }; 423 }; 387 424 388 &gpi_dma0 { 425 &gpi_dma0 { 389 status = "okay"; 426 status = "okay"; 390 }; 427 }; 391 428 392 &gpi_dma1 { 429 &gpi_dma1 { 393 status = "okay"; 430 status = "okay"; 394 }; 431 }; 395 432 396 &gpu { 433 &gpu { 397 status = "okay"; 434 status = "okay"; 398 435 399 zap-shader { 436 zap-shader { 400 memory-region = <&gpu_mem>; 437 memory-region = <&gpu_mem>; 401 firmware-name = "qcom/sdm845/p 438 firmware-name = "qcom/sdm845/polaris/a630_zap.mbn"; 402 }; 439 }; 403 }; 440 }; 404 441 405 &ibb { 442 &ibb { 406 regulator-min-microvolt = <4600000>; 443 regulator-min-microvolt = <4600000>; 407 regulator-max-microvolt = <6000000>; 444 regulator-max-microvolt = <6000000>; 408 regulator-over-current-protection; 445 regulator-over-current-protection; 409 regulator-pull-down; 446 regulator-pull-down; 410 regulator-soft-start; 447 regulator-soft-start; 411 qcom,discharge-resistor-kohms = <300>; 448 qcom,discharge-resistor-kohms = <300>; 412 }; 449 }; 413 450 414 &ipa { 451 &ipa { 415 qcom,gsi-loader = "self"; << 416 memory-region = <&ipa_fw_mem>; 452 memory-region = <&ipa_fw_mem>; 417 firmware-name = "qcom/sdm845/polaris/i 453 firmware-name = "qcom/sdm845/polaris/ipa_fws.mbn"; 418 status = "okay"; 454 status = "okay"; 419 }; 455 }; 420 456 421 &i2c14 { 457 &i2c14 { 422 clock-frequency = <400000>; 458 clock-frequency = <400000>; >> 459 dmas = <&gpi_dma1 0 6 QCOM_GPI_I2C>, >> 460 <&gpi_dma1 1 6 QCOM_GPI_I2C>; >> 461 dma-names = "tx", "rx"; 423 status = "okay"; 462 status = "okay"; 424 463 425 touchscreen@20 { 464 touchscreen@20 { 426 compatible = "syna,rmi4-i2c"; 465 compatible = "syna,rmi4-i2c"; 427 reg = <0x20>; 466 reg = <0x20>; 428 #address-cells = <1>; 467 #address-cells = <1>; 429 #size-cells = <0>; 468 #size-cells = <0>; 430 interrupts-extended = <&tlmm 1 469 interrupts-extended = <&tlmm 125 0x2008>; 431 470 432 pinctrl-names = "default", "sl 471 pinctrl-names = "default", "sleep"; 433 pinctrl-0 = <&ts_int_default & 472 pinctrl-0 = <&ts_int_default &ts_reset_default>; 434 pinctrl-1 = <&ts_int_sleep &ts 473 pinctrl-1 = <&ts_int_sleep &ts_reset_sleep>; 435 474 436 vdd-supply = <&vreg_l28a_3p0>; 475 vdd-supply = <&vreg_l28a_3p0>; 437 vio-supply = <&vreg_tp_vddio>; 476 vio-supply = <&vreg_tp_vddio>; 438 477 439 syna,startup-delay-ms = <0xc8> 478 syna,startup-delay-ms = <0xc8>; 440 syna,reset-delay-ms = <0xc8>; 479 syna,reset-delay-ms = <0xc8>; 441 480 442 rmi4-f01@1 { 481 rmi4-f01@1 { 443 syna,nosleep-mode = <0 482 syna,nosleep-mode = <0x1>; 444 reg = <0x1>; 483 reg = <0x1>; 445 }; 484 }; 446 485 447 rmi4-f12@12 { 486 rmi4-f12@12 { 448 reg = <0x12>; 487 reg = <0x12>; 449 syna,rezero-wait-ms = 488 syna,rezero-wait-ms = <0xc8>; 450 syna,clip-x-high = <0x 489 syna,clip-x-high = <0x438>; 451 syna,clip-y-high = <0x 490 syna,clip-y-high = <0x870>; 452 syna,sensor-type = <0x 491 syna,sensor-type = <0x1>; 453 syna,clip-x-low = <0x0 492 syna,clip-x-low = <0x0>; 454 syna,clip-y-low = <0x0 493 syna,clip-y-low = <0x0>; 455 }; 494 }; 456 }; 495 }; 457 }; 496 }; 458 497 459 &lab { 498 &lab { 460 regulator-min-microvolt = <4600000>; 499 regulator-min-microvolt = <4600000>; 461 regulator-max-microvolt = <6000000>; 500 regulator-max-microvolt = <6000000>; 462 regulator-soft-start; 501 regulator-soft-start; 463 regulator-pull-down; 502 regulator-pull-down; 464 }; 503 }; 465 504 466 &mdss { 505 &mdss { 467 status = "okay"; 506 status = "okay"; 468 }; 507 }; 469 508 470 &mdss_dsi0 { << 471 vdda-supply = <&vdda_mipi_dsi0_1p2>; << 472 status = "okay"; << 473 << 474 display_panel: panel@0 { << 475 compatible = "jdi,fhd-nt35596s << 476 #address-cells = <1>; << 477 #size-cells = <0>; << 478 reg = <0>; << 479 << 480 reset-gpios = <&tlmm 6 GPIO_AC << 481 vddio-supply = <&vreg_l14a_1p8 << 482 backlight = <&pmi8998_wled>; << 483 vddpos-supply = <&lab>; << 484 vddneg-supply = <&ibb>; << 485 << 486 pinctrl-names = "default", "sl << 487 pinctrl-0 = <&sde_dsi_active>; << 488 pinctrl-1 = <&sde_dsi_suspend> << 489 << 490 port { << 491 panel_in: endpoint { << 492 remote-endpoin << 493 }; << 494 }; << 495 }; << 496 }; << 497 << 498 &mdss_dsi0_out { << 499 remote-endpoint = <&panel_in>; << 500 data-lanes = <0 1 2 3>; << 501 }; << 502 << 503 &mdss_dsi0_phy { << 504 vdds-supply = <&vdda_mipi_dsi0_pll>; << 505 status = "okay"; << 506 }; << 507 << 508 &mss_pil { 509 &mss_pil { 509 firmware-name = "qcom/sdm845/polaris/m 510 firmware-name = "qcom/sdm845/polaris/mba.mbn", "qcom/sdm845/polaris/modem.mbn"; 510 status = "okay"; 511 status = "okay"; 511 }; 512 }; 512 513 513 &pmi8998_wled { 514 &pmi8998_wled { 514 qcom,current-limit-microamp = <20000>; 515 qcom,current-limit-microamp = <20000>; 515 qcom,current-boost-limit = <970>; 516 qcom,current-boost-limit = <970>; 516 qcom,ovp-millivolt = <19600>; 517 qcom,ovp-millivolt = <19600>; 517 qcom,switching-freq = <600>; 518 qcom,switching-freq = <600>; 518 qcom,num-strings = <4>; 519 qcom,num-strings = <4>; 519 qcom,cabc; 520 qcom,cabc; 520 521 521 status = "okay"; 522 status = "okay"; 522 }; 523 }; 523 524 524 &pm8998_gpios { !! 525 &pm8998_gpio { 525 volume_up_gpio: pm8998-gpio6-state { 526 volume_up_gpio: pm8998-gpio6-state { 526 pinconf { 527 pinconf { 527 qcom,drive-strength = 528 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; 528 function = "normal"; 529 function = "normal"; 529 pins = "gpio6"; 530 pins = "gpio6"; 530 input-enable; 531 input-enable; 531 bias-pull-up; 532 bias-pull-up; 532 }; 533 }; 533 }; 534 }; 534 }; 535 }; 535 536 536 &pm8998_resin { !! 537 &pm8998_pon { 537 linux,code = <KEY_VOLUMEDOWN>; !! 538 resin { 538 status = "okay"; !! 539 interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>; >> 540 compatible = "qcom,pm8941-resin"; >> 541 linux,code = <KEY_VOLUMEDOWN>; >> 542 debounce = <15625>; >> 543 bias-pull-up; >> 544 }; 539 }; 545 }; 540 546 541 &q6afedai { 547 &q6afedai { 542 dai@22 { !! 548 qi2s@22 { 543 reg = <QUATERNARY_MI2S_RX>; !! 549 reg = <22>; 544 qcom,sd-lines = <0>; 550 qcom,sd-lines = <0>; 545 }; 551 }; 546 }; 552 }; 547 553 548 &q6asmdai { 554 &q6asmdai { 549 dai@0 { 555 dai@0 { 550 reg = <0>; 556 reg = <0>; 551 }; 557 }; 552 558 553 dai@1 { 559 dai@1 { 554 reg = <1>; 560 reg = <1>; 555 }; 561 }; 556 562 557 dai@2 { 563 dai@2 { 558 reg = <2>; 564 reg = <2>; 559 }; 565 }; 560 }; 566 }; 561 567 562 &qupv3_id_0 { 568 &qupv3_id_0 { 563 status = "okay"; 569 status = "okay"; 564 }; 570 }; 565 571 566 &qupv3_id_1 { 572 &qupv3_id_1 { 567 status = "okay"; 573 status = "okay"; 568 }; 574 }; 569 575 570 &qup_i2c14_default { 576 &qup_i2c14_default { 571 drive-strength = <2>; !! 577 pinconf { 572 bias-disable; !! 578 pins = "gpio33", "gpio34"; >> 579 drive-strength = <2>; >> 580 bias-disable; >> 581 }; 573 }; 582 }; 574 583 575 &tlmm { 584 &tlmm { 576 gpio-reserved-ranges = <0 4>, <81 4>; 585 gpio-reserved-ranges = <0 4>, <81 4>; 577 586 578 ts_reset_default: ts-reset-default-sta !! 587 ts_reset_default: ts-reset-default { 579 pins = "gpio99"; 588 pins = "gpio99"; 580 function = "gpio"; 589 function = "gpio"; 581 drive-strength = <16>; 590 drive-strength = <16>; 582 output-high; 591 output-high; 583 }; 592 }; 584 593 585 ts_int_default: ts-int-default-state { !! 594 ts_int_default: ts-int-default { 586 pins = "gpio125"; 595 pins = "gpio125"; 587 function = "gpio"; 596 function = "gpio"; 588 bias-pull-down; 597 bias-pull-down; 589 drive-strength = <16>; 598 drive-strength = <16>; >> 599 input-enable; 590 }; 600 }; 591 601 592 ts_reset_sleep: ts-reset-sleep-state { !! 602 ts_reset_sleep: ts-reset-sleep { 593 pins = "gpio99"; 603 pins = "gpio99"; 594 function = "gpio"; 604 function = "gpio"; 595 bias-disable; 605 bias-disable; 596 drive-strength = <2>; 606 drive-strength = <2>; 597 }; 607 }; 598 608 599 ts_int_sleep: ts-int-sleep-state { !! 609 ts_int_sleep: ts-int-sleep { 600 pins = "gpio125"; 610 pins = "gpio125"; 601 function = "gpio"; 611 function = "gpio"; 602 bias-pull-down; 612 bias-pull-down; 603 drive-strength = <2>; 613 drive-strength = <2>; >> 614 input-enable; 604 }; 615 }; 605 616 606 sde_dsi_active: sde-dsi-active-state { !! 617 sde_dsi_active: sde-dsi-active { 607 pins = "gpio6", "gpio10"; 618 pins = "gpio6", "gpio10"; 608 function = "gpio"; 619 function = "gpio"; 609 drive-strength = <8>; 620 drive-strength = <8>; 610 bias-disable; 621 bias-disable; 611 }; 622 }; 612 623 613 sde_dsi_suspend: sde-dsi-suspend-state !! 624 sde_dsi_suspend: sde-dsi-suspend { 614 pins = "gpio6", "gpio10"; 625 pins = "gpio6", "gpio10"; 615 function = "gpio"; 626 function = "gpio"; 616 drive-strength = <2>; 627 drive-strength = <2>; 617 bias-pull-down; 628 bias-pull-down; 618 }; 629 }; >> 630 >> 631 wcd_intr_default: wcd-intr-default { >> 632 pins = "gpio54"; >> 633 function = "gpio"; >> 634 input-enable; >> 635 bias-pull-down; >> 636 drive-strength = <2>; >> 637 }; 619 }; 638 }; 620 639 621 &uart6 { 640 &uart6 { 622 status = "okay"; 641 status = "okay"; 623 642 624 pinctrl-0 = <&qup_uart6_4pin>; << 625 << 626 bluetooth { 643 bluetooth { 627 compatible = "qcom,wcn3990-bt" 644 compatible = "qcom,wcn3990-bt"; 628 645 629 /* This path is relative to th 646 /* This path is relative to the qca/ subdir under lib/firmware. */ 630 firmware-name = "polaris/crnv2 647 firmware-name = "polaris/crnv21.bin"; 631 648 632 vddio-supply = <&vreg_s4a_1p8> 649 vddio-supply = <&vreg_s4a_1p8>; 633 vddxo-supply = <&vreg_l7a_1p8> 650 vddxo-supply = <&vreg_l7a_1p8>; 634 vddrf-supply = <&vreg_l17a_1p3 651 vddrf-supply = <&vreg_l17a_1p3>; 635 vddch0-supply = <&vreg_l25a_3p 652 vddch0-supply = <&vreg_l25a_3p3>; 636 max-speed = <3200000>; 653 max-speed = <3200000>; 637 }; 654 }; 638 }; 655 }; 639 656 640 &usb_1 { 657 &usb_1 { 641 /* We'll use this as USB 2.0 only */ 658 /* We'll use this as USB 2.0 only */ 642 qcom,select-utmi-as-pipe-clk; 659 qcom,select-utmi-as-pipe-clk; 643 status = "okay"; 660 status = "okay"; 644 }; 661 }; 645 662 646 &usb_1_dwc3 { 663 &usb_1_dwc3 { 647 dr_mode = "peripheral"; 664 dr_mode = "peripheral"; 648 665 649 /* Fastest mode for USB 2 */ 666 /* Fastest mode for USB 2 */ 650 maximum-speed = "high-speed"; 667 maximum-speed = "high-speed"; 651 668 652 /* Remove USB3 phy */ 669 /* Remove USB3 phy */ 653 phys = <&usb_1_hsphy>; 670 phys = <&usb_1_hsphy>; 654 phy-names = "usb2-phy"; 671 phy-names = "usb2-phy"; 655 }; 672 }; 656 673 657 &usb_1_hsphy { 674 &usb_1_hsphy { 658 vdda-phy-dpdm-supply = <&vreg_l24a_3p0 675 vdda-phy-dpdm-supply = <&vreg_l24a_3p075>; 659 vdda-pll-supply = <&vreg_l12a_1p8>; 676 vdda-pll-supply = <&vreg_l12a_1p8>; 660 vdd-supply = <&vreg_l1a_0p875>; 677 vdd-supply = <&vreg_l1a_0p875>; 661 678 662 qcom,preemphasis-width = <QUSB2_V2_PRE 679 qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>; 663 qcom,preemphasis-level = <QUSB2_V2_PRE 680 qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>; 664 qcom,hstx-trim-value = <QUSB2_V2_HSTX_ 681 qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>; 665 qcom,imp-res-offset-value = <8>; 682 qcom,imp-res-offset-value = <8>; 666 683 667 status = "okay"; 684 status = "okay"; 668 }; 685 }; 669 686 670 &usb_1_qmpphy { 687 &usb_1_qmpphy { 671 vdda-pll-supply = <&vreg_l1a_0p875>; 688 vdda-pll-supply = <&vreg_l1a_0p875>; 672 vdda-phy-supply = <&vreg_l26a_1p2>; 689 vdda-phy-supply = <&vreg_l26a_1p2>; 673 status = "okay"; 690 status = "okay"; 674 }; 691 }; 675 692 676 &ufs_mem_hc { 693 &ufs_mem_hc { 677 reset-gpios = <&tlmm 150 GPIO_ACTIVE_L 694 reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>; 678 vcc-supply = <&vreg_l20a_2p95>; 695 vcc-supply = <&vreg_l20a_2p95>; 679 vcc-max-microamp = <800000>; 696 vcc-max-microamp = <800000>; 680 status = "okay"; 697 status = "okay"; 681 }; 698 }; 682 699 683 &ufs_mem_phy { 700 &ufs_mem_phy { 684 vdda-phy-supply = <&vdda_ufs1_core>; 701 vdda-phy-supply = <&vdda_ufs1_core>; 685 vdda-pll-supply = <&vdda_ufs1_1p2>; 702 vdda-pll-supply = <&vdda_ufs1_1p2>; 686 status = "okay"; 703 status = "okay"; 687 }; 704 }; 688 705 689 &venus { 706 &venus { 690 firmware-name = "qcom/sdm845/polaris/v 707 firmware-name = "qcom/sdm845/polaris/venus.mbn"; 691 status = "okay"; 708 status = "okay"; 692 }; 709 }; 693 710 694 &wcd9340 { 711 &wcd9340 { >> 712 pinctrl-0 = <&wcd_intr_default>; >> 713 pinctrl-names = "default"; >> 714 clock-names = "extclk"; >> 715 clocks = <&rpmhcc RPMH_LN_BB_CLK2>; 695 reset-gpios = <&tlmm 64 GPIO_ACTIVE_HI 716 reset-gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>; 696 vdd-buck-sido-supply = <&vreg_s4a_1p8> 717 vdd-buck-sido-supply = <&vreg_s4a_1p8>; 697 vdd-buck-supply = <&vreg_s4a_1p8>; 718 vdd-buck-supply = <&vreg_s4a_1p8>; 698 vdd-tx-supply = <&vreg_s4a_1p8>; 719 vdd-tx-supply = <&vreg_s4a_1p8>; 699 vdd-rx-supply = <&vreg_s4a_1p8>; 720 vdd-rx-supply = <&vreg_s4a_1p8>; 700 vdd-io-supply = <&vreg_s4a_1p8>; 721 vdd-io-supply = <&vreg_s4a_1p8>; 701 722 702 qcom,micbias1-microvolt = <2700000>; 723 qcom,micbias1-microvolt = <2700000>; 703 qcom,micbias2-microvolt = <1800000>; 724 qcom,micbias2-microvolt = <1800000>; 704 qcom,micbias3-microvolt = <2700000>; 725 qcom,micbias3-microvolt = <2700000>; 705 qcom,micbias4-microvolt = <2700000>; 726 qcom,micbias4-microvolt = <2700000>; 706 }; 727 }; 707 728 708 &wifi { 729 &wifi { 709 vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8> 730 vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>; 710 vdd-1.8-xo-supply = <&vreg_l7a_1p8>; 731 vdd-1.8-xo-supply = <&vreg_l7a_1p8>; 711 vdd-1.3-rfa-supply = <&vreg_l17a_1p3>; 732 vdd-1.3-rfa-supply = <&vreg_l17a_1p3>; 712 vdd-3.3-ch0-supply = <&vreg_l25a_3p3>; 733 vdd-3.3-ch0-supply = <&vreg_l25a_3p3>; 713 vdd-3.3-ch1-supply = <&vreg_l23a_3p3>; 734 vdd-3.3-ch1-supply = <&vreg_l23a_3p3>; 714 status = "okay"; 735 status = "okay"; >> 736 }; >> 737 >> 738 /* PINCTRL - additions to nodes defined in sdm845.dtsi */ >> 739 >> 740 &qup_uart6_default { >> 741 pinmux { >> 742 pins = "gpio45", "gpio46", "gpio47", "gpio48"; >> 743 function = "qup6"; >> 744 }; >> 745 >> 746 cts { >> 747 pins = "gpio45"; >> 748 bias-disable; >> 749 }; >> 750 >> 751 rts-tx { >> 752 pins = "gpio46", "gpio47"; >> 753 drive-strength = <2>; >> 754 bias-disable; >> 755 }; >> 756 >> 757 rx { >> 758 pins = "gpio48"; >> 759 bias-pull-up; >> 760 }; 715 }; 761 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.