1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2020, Yassine Oudjana <y.oudjana@protonmail.com> 4 */ 5 6/dts-v1/; 7 8#include "msm8996-xiaomi-common.dtsi" 9#include "pmi8996.dtsi" 10#include <dt-bindings/sound/qcom,q6afe.h> 11#include <dt-bindings/sound/qcom,q6asm.h> 12 13/ { 14 model = "Xiaomi Mi Note 2"; 15 compatible = "xiaomi,scorpio", "qcom,msm8996"; 16 chassis-type = "handset"; 17 qcom,msm-id = <305 0x10000>; 18 qcom,board-id = <34 0>; 19 20 chosen { 21 #address-cells = <2>; 22 #size-cells = <2>; 23 ranges; 24 25 framebuffer0: framebuffer@83401000 { 26 compatible = "simple-framebuffer"; 27 reg = <0x00 0x83401000 0x00 (1080 * 1920 * 3)>; 28 width = <1080>; 29 height = <1920>; 30 stride = <(1080 * 3)>; 31 format = "r8g8b8"; 32 33 /* DSI0 and MDP SMMU clocks */ 34 clocks = <&mmcc MDSS_MDP_CLK>, 35 <&mmcc MMSS_MMAGIC_AHB_CLK>, 36 <&mmcc MDSS_AHB_CLK>, 37 <&mmcc MDSS_AXI_CLK>, 38 <&mmcc MMSS_MISC_AHB_CLK>, 39 <&mmcc MDSS_BYTE0_CLK>, 40 <&mmcc MDSS_PCLK0_CLK>, 41 <&mmcc MDSS_ESC0_CLK>, 42 <&mmcc SMMU_MDP_AHB_CLK>, 43 <&mmcc SMMU_MDP_AXI_CLK>; 44 45 /* MDSS power domain */ 46 power-domains = <&mmcc MDSS_GDSC>; 47 }; 48 }; 49 50 reserved-memory { 51 cont_splash_mem: memory@83401000 { 52 reg = <0x0 0x83401000 0x0 (1080 * 1920 * 3)>; 53 no-map; 54 }; 55 }; 56}; 57 58&adsp_pil { 59 firmware-name = "qcom/msm8996/scorpio/adsp.mbn"; 60}; 61 62&blsp2_i2c6 { 63 touchscreen: atmel-mxt-ts@4a { 64 compatible = "atmel,maxtouch"; 65 reg = <0x4a>; 66 interrupt-parent = <&tlmm>; 67 interrupts = <125 IRQ_TYPE_LEVEL_LOW>; 68 vdda-supply = <&vreg_l6a_1p8>; 69 vdd-supply = <&vdd_3v2_tp>; 70 reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>; 71 72 pinctrl-names = "default", "sleep"; 73 pinctrl-0 = <&touchscreen_default>; 74 pinctrl-1 = <&touchscreen_sleep>; 75 }; 76}; 77 78&gpu { 79 zap-shader { 80 firmware-name = "qcom/msm8996/scorpio/a530_zap.mbn"; 81 }; 82}; 83 84&mdp_smmu { 85 /* 86 * Probing this SMMU causes a crash due to writing to some secure 87 * registers. Disable it for now. 88 */ 89 status = "disabled"; 90}; 91 92&mdss { 93 /* 94 * MDSS depends on the MDP SMMU, and probing it alters the bootloader 95 * configured framebuffer used by simplefb. Disable it for now. 96 */ 97 status = "disabled"; 98}; 99 100&q6asmdai { 101 dai@0 { 102 reg = <0>; 103 }; 104 105 dai@1 { 106 reg = <1>; 107 }; 108 109 dai@2 { 110 reg = <2>; 111 }; 112}; 113 114&sound { 115 compatible = "qcom,apq8096-sndcard"; 116 model = "scorpio"; 117 audio-routing = "RX_BIAS", "MCLK"; 118 119 mm1-dai-link { 120 link-name = "MultiMedia1"; 121 cpu { 122 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>; 123 }; 124 }; 125 126 mm2-dai-link { 127 link-name = "MultiMedia2"; 128 cpu { 129 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>; 130 }; 131 }; 132 133 mm3-dai-link { 134 link-name = "MultiMedia3"; 135 cpu { 136 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>; 137 }; 138 }; 139 140 slim-dai-link { 141 link-name = "SLIM Playback"; 142 cpu { 143 sound-dai = <&q6afedai SLIMBUS_6_RX>; 144 }; 145 146 platform { 147 sound-dai = <&q6routing>; 148 }; 149 150 codec { 151 sound-dai = <&wcd9335 6>; 152 }; 153 }; 154 155 slimcap-dai-link { 156 link-name = "SLIM Capture"; 157 cpu { 158 sound-dai = <&q6afedai SLIMBUS_0_TX>; 159 }; 160 161 platform { 162 sound-dai = <&q6routing>; 163 }; 164 165 codec { 166 sound-dai = <&wcd9335 1>; 167 }; 168 }; 169}; 170 171&venus { 172 firmware-name = "qcom/msm8996/scorpio/venus.mbn"; 173}; 174 175&rpm_requests { 176 pm8994-regulators { 177 vreg_l3a_0p875: l3 { 178 regulator-name = "vreg_l3a_0p875"; 179 regulator-min-microvolt = <850000>; 180 regulator-max-microvolt = <1300000>; 181 }; 182 vreg_l11a_1p1: l11 { 183 regulator-name = "vreg_l11a_1p1"; 184 regulator-min-microvolt = <1100000>; 185 regulator-max-microvolt = <1100000>; 186 }; 187 vreg_l17a_2p8: l17 { 188 regulator-name = "vreg_l17a_2p8"; 189 regulator-min-microvolt = <2800000>; 190 regulator-max-microvolt = <2800000>; 191 }; 192 vreg_l18a_2p8: l18 { 193 regulator-name = "vreg_l18a_2p8"; 194 regulator-min-microvolt = <2800000>; 195 regulator-max-microvolt = <2800000>; 196 }; 197 vreg_l22a_3p0: l22 { 198 regulator-name = "vreg_l22a_3p0"; 199 regulator-min-microvolt = <2950000>; 200 regulator-max-microvolt = <3500000>; 201 }; 202 vreg_l29a_2p7: l29 { 203 regulator-name = "vreg_l29a_2p7"; 204 regulator-min-microvolt = <2700000>; 205 regulator-max-microvolt = <2700000>; 206 }; 207 }; 208}; 209 210&vdd_gfx { 211 regulator-max-microvolt = <1065000>; 212}; 213 214&pm8994_gpios { 215 gpio-line-names = 216 "NC", /* GPIO_1 */ 217 "VOL_UP_N", /* GPIO_2 */ 218 "SPKR_ID", /* GPIO_3 */ 219 "PWM_HAPTICS", /* GPIO_4 */ 220 "INFARED_DRV", /* GPIO_5 */ 221 "NC", /* GPIO_6 */ 222 "KEYPAD_LED_EN_A", /* GPIO_7 */ 223 "WL_EN", /* GPIO_8 */ 224 "3P3_ENABLE", /* GPIO_9 */ 225 "KEYPAD_LED_EN_B", /* GPIO_10 */ 226 "FP_ID", /* GPIO_11 */ 227 "NC", /* GPIO_12 */ 228 "NC", /* GPIO_13 */ 229 "NC", /* GPIO_14 */ 230 "DIVCLK1_CDC", /* GPIO_15 */ 231 "DIVCLK2_HAPTICS", /* GPIO_16 */ 232 "NC", /* GPIO_17 */ 233 "32KHz_CLK_IN", /* GPIO_18 */ 234 "BT_EN", /* GPIO_19 */ 235 "PMIC_SLB", /* GPIO_20 */ 236 "UIM_BATT_ALARM", /* GPIO_21 */ 237 "NC"; /* GPIO_22 */ 238}; 239 240&pm8994_mpps { 241 gpio-line-names = 242 "VREF_SDC_UIM_APC", /* MPP_1 */ 243 "NC", /* MPP_2 */ 244 "VREF_DACX", /* MPP_3 */ 245 "NC", /* MPP_4 */ 246 "NC", /* MPP_5 */ 247 "STAT_SMB1351", /* MPP_6 */ 248 "NC", /* MPP_7 */ 249 "NC"; /* MPP_8 */ 250}; 251 252&pmi8994_gpios { 253 gpio-line-names = 254 "NC", /* GPIO_1 */ 255 "SPKR_PA_RST", /* GPIO_2 */ 256 "NC", /* GPIO_3 */ 257 "NC", /* GPIO_4 */ 258 "NC", /* GPIO_5 */ 259 "NC", /* GPIO_6 */ 260 "NC", /* GPIO_7 */ 261 "NC", /* GPIO_8 */ 262 "NC", /* GPIO_9 */ 263 "NC"; /* GPIO_10 */ 264}; 265 266&tlmm { 267 gpio-line-names = 268 "ESE_SPI_MOSI", /* GPIO_0 */ 269 "ESE_SPI_MISO", /* GPIO_1 */ 270 "NC", /* GPIO_2 */ 271 "ESE_SPI_CLK", /* GPIO_3 */ 272 "MSM_UART_TX", /* GPIO_4 */ 273 "MSM_UART_RX", /* GPIO_5 */ 274 "NFC_I2C_SDA", /* GPIO_6 */ 275 "NFC_I2C_SCL", /* GPIO_7 */ 276 "OLED_RESET_N", /* GPIO_8 */ 277 "NFC_IRQ", /* GPIO_9 */ 278 "OLED_TE", /* GPIO_10 */ 279 "OLED_ID_DET1", /* GPIO_11 */ 280 "NFC_DISABLE", /* GPIO_12 */ 281 "CAM_MCLK0", /* GPIO_13 */ 282 "OLED_ID_DET2", /* GPIO_14 */ 283 "CAM_MCLK2", /* GPIO_15 */ 284 "ESE_PWR_REQ", /* GPIO_16 */ 285 "CCI_I2C_SDA0", /* GPIO_17 */ 286 "CCI_I2C_SCL0", /* GPIO_18 */ 287 "CCI_I2C_SDA1", /* GPIO_19 */ 288 "CCI_I2C_SCL1", /* GPIO_20 */ 289 "NFC_DWL_REQ", /* GPIO_21 */ 290 "CCI_TIMER1", /* GPIO_22 */ 291 "WEBCAM1_RESET_N", /* GPIO_23 */ 292 "ESE_IRQ", /* GPIO_24 */ 293 "NC", /* GPIO_25 */ 294 "WEBCAM1_STANDBY", /* GPIO_26 */ 295 "NC", /* GPIO_27 */ 296 "NC", /* GPIO_28 */ 297 "OLED_ERR_FG", /* GPIO_29 */ 298 "CAM1_RST_N", /* GPIO_30 */ 299 "HIFI_SW_MUTE", /* GPIO_31 */ 300 "NC", /* GPIO_32 */ 301 "NC", /* GPIO_33 */ 302 "FP_DOME_SW", /* GPIO_34 */ 303 "PCI_E0_RST_N", /* GPIO_35 */ 304 "PCI_E0_CLKREQ_N", /* GPIO_36 */ 305 "PCI_E0_WAKE", /* GPIO_37 */ 306 "OV_PWDN", /* GPIO_38 */ 307 "NC", /* GPIO_39 */ 308 "VDDR_1P6_EN", /* GPIO_40 */ 309 "QCA_UART_TXD", /* GPIO_41 */ 310 "QCA_UART_RXD", /* GPIO_42 */ 311 "QCA_UART_CTS", /* GPIO_43 */ 312 "QCA_UART_RTS", /* GPIO_44 */ 313 "MAWC_UART_TX", /* GPIO_45 */ 314 "MAWC_UART_RX", /* GPIO_46 */ 315 "NC", /* GPIO_47 */ 316 "NC", /* GPIO_48 */ 317 "AUDIO_SWITCH_EN", /* GPIO_49 */ 318 "FP_SPI_RST", /* GPIO_50 */ 319 "TYPEC_I2C_SDA", /* GPIO_51 */ 320 "TYPEC_I2C_SCL", /* GPIO_52 */ 321 "CODEC_INT2_N", /* GPIO_53 */ 322 "CODEC_INT1_N", /* GPIO_54 */ 323 "APPS_I2C7_SDA", /* GPIO_55 */ 324 "APPS_I2C7_SCL", /* GPIO_56 */ 325 "FORCE_USB_BOOT", /* GPIO_57 */ 326 "SPKR_I2S_BCK", /* GPIO_58 */ 327 "SPKR_I2S_WS", /* GPIO_59 */ 328 "SPKR_I2S_DOUT", /* GPIO_60 */ 329 "SPKR_I2S_DIN", /* GPIO_61 */ 330 "ESE_RSTN", /* GPIO_62 */ 331 "TYPEC_INT", /* GPIO_63 */ 332 "CODEC_RESET_N", /* GPIO_64 */ 333 "PCM_CLK", /* GPIO_65 */ 334 "PCM_SYNC", /* GPIO_66 */ 335 "PCM_DIN", /* GPIO_67 */ 336 "PCM_DOUT", /* GPIO_68 */ 337 "CDC_44K1_CLK", /* GPIO_69 */ 338 "SLIMBUS_CLK", /* GPIO_70 */ 339 "SLIMBUS_DATA0", /* GPIO_71 */ 340 "SLIMBUS_DATA1", /* GPIO_72 */ 341 "LDO_5V_IN_EN", /* GPIO_73 */ 342 "NC", /* GPIO_74 */ 343 "TSP_RST_N", /* GPIO_75 */ 344 "NC", /* GPIO_76 */ 345 "TOUCHKEY_INT", /* GPIO_77 */ 346 "SPKR_I2S_MCLK", /* GPIO_78 */ 347 "SPKR_PA_INT", /* GPIO_79 */ 348 "SENSOR_RESET_N", /* GPIO_80 */ 349 "FP_SPI_MOSI", /* GPIO_81 */ 350 "FP_SPI_MISO", /* GPIO_82 */ 351 "FP_SPI_CS_N", /* GPIO_83 */ 352 "FP_SPI_CLK", /* GPIO_84 */ 353 "HIFI_SD", /* GPIO_85 */ 354 "CAM_VDD_1P05_EN", /* GPIO_86 */ 355 "MSM_TS_I2C_SDA", /* GPIO_87 */ 356 "MSM_TS_I2C_SCL", /* GPIO_88 */ 357 "NC", /* GPIO_89 */ 358 "ESE_SPI_CS_N", /* GPIO_90 */ 359 "NC", /* GPIO_91 */ 360 "NC", /* GPIO_92 */ 361 "NC", /* GPIO_93 */ 362 "NC", /* GPIO_94 */ 363 "NC", /* GPIO_95 */ 364 "NC", /* GPIO_96 */ 365 "GRFC_0", /* GPIO_97 */ 366 "GRFC_1", /* GPIO_98 */ 367 "NC", /* GPIO_99 */ 368 "GRFC_3", /* GPIO_100 */ 369 "GRFC_4", /* GPIO_101 */ 370 "NC", /* GPIO_102 */ 371 "NC", /* GPIO_103 */ 372 "GRFC_7", /* GPIO_104 */ 373 "UIM2_DATA", /* GPIO_105 */ 374 "UIM2_CLK", /* GPIO_106 */ 375 "UIM2_RESET", /* GPIO_107 */ 376 "UIM2_PRESENT", /* GPIO_108 */ 377 "UIM1_DATA", /* GPIO_109 */ 378 "UIM1_CLK", /* GPIO_110 */ 379 "UIM1_RESET", /* GPIO_111 */ 380 "UIM1_PRESENT", /* GPIO_112 */ 381 "UIM_BATT_ALARM", /* GPIO_113 */ 382 "GRFC_8", /* GPIO_114 */ 383 "GRFC_9", /* GPIO_115 */ 384 "TX_GTR_THRES", /* GPIO_116 */ 385 "ACC_INT", /* GPIO_117 */ 386 "GYRO_INT", /* GPIO_118 */ 387 "COMPASS_INT", /* GPIO_119 */ 388 "PROXIMITY_INT_N", /* GPIO_120 */ 389 "FP_IRQ", /* GPIO_121 */ 390 "TSP_TA", /* GPIO_122 */ 391 "HALL_INTR2", /* GPIO_123 */ 392 "HALL_INTR1", /* GPIO_124 */ 393 "TS_INT_N", /* GPIO_125 */ 394 "NC", /* GPIO_126 */ 395 "GRFC_11", /* GPIO_127 */ 396 "HIFI_PWR_EN", /* GPIO_128 */ 397 "EXT_GPS_LNA_EN", /* GPIO_129 */ 398 "NC", /* GPIO_130 */ 399 "NC", /* GPIO_131 */ 400 "NC", /* GPIO_132 */ 401 "GRFC_14", /* GPIO_133 */ 402 "GSM_TX2_PHASE_D", /* GPIO_134 */ 403 "HIFI_SW_SEL", /* GPIO_135 */ 404 "GRFC_15", /* GPIO_136 */ 405 "RFFE3_DATA", /* GPIO_137 */ 406 "RFFE3_CLK", /* GPIO_138 */ 407 "NC", /* GPIO_139 */ 408 "NC", /* GPIO_140 */ 409 "RFFE5_DATA", /* GPIO_141 */ 410 "RFFE5_CLK", /* GPIO_142 */ 411 "NC", /* GPIO_143 */ 412 "COEX_UART_TX", /* GPIO_144 */ 413 "COEX_UART_RX", /* GPIO_145 */ 414 "RFFE2_DATA", /* GPIO_146 */ 415 "RFFE2_CLK", /* GPIO_147 */ 416 "RFFE1_DATA", /* GPIO_148 */ 417 "RFFE1_CLK"; /* GPIO_149 */ 418 419 touchscreen_default: touchscreen_default { 420 pins = "gpio75", "gpio125"; 421 function = "gpio"; 422 drive-strength = <10>; 423 bias-pull-up; 424 }; 425 426 touchscreen_sleep: touchscreen_sleep { 427 pins = "gpio75", "gpio125"; 428 function = "gpio"; 429 drive-strength = <2>; 430 bias-disable; 431 }; 432}; 433