1 // SPDX-License-Identifier: BSD-3-Clause 2 /* 3 * Copyright (c) 2021, Raffaele Tranquillini <r 4 */ 5 6 /dts-v1/; 7 8 #include "msm8996.dtsi" 9 #include "msm8996-xiaomi-common.dtsi" 10 #include <dt-bindings/sound/qcom,q6afe.h> 11 #include <dt-bindings/sound/qcom,q6asm.h> 12 #include <dt-bindings/sound/qcom,wcd9335.h> 13 #include <dt-bindings/input/ti-drv260x.h> 14 15 / { 16 model = "Xiaomi Mi 5"; 17 compatible = "xiaomi,gemini", "qcom,ms 18 chassis-type = "handset"; 19 qcom,msm-id = <246 0x30001>; 20 qcom,pmic-id = <0x20009 0x2000a 0x00 0 21 qcom,board-id = <31 0>; 22 23 divclk2_haptics: divclk2 { 24 compatible = "fixed-clock"; 25 #clock-cells = <0>; 26 clock-frequency = <32768>; 27 clock-output-names = "divclk2" 28 29 pinctrl-names = "default"; 30 pinctrl-0 = <&divclk2_pin_a>; 31 }; 32 }; 33 34 &adsp_pil { 35 firmware-name = "qcom/msm8996/gemini/a 36 }; 37 38 &blsp2_i2c3 { 39 haptics: drv2604@5a { 40 compatible = "ti,drv2604"; 41 reg = <0x5a>; 42 enable-gpio = <&tlmm 93 0x00>; 43 mode = <DRV260X_LRA_MODE>; 44 library-sel = <DRV260X_LIB_LRA 45 pinctrl-names = "default","sle 46 pinctrl-0 = <&vibrator_default 47 pinctrl-1 = <&vibrator_sleep>; 48 }; 49 50 lp5562@30 { 51 compatible = "ti,lp5562"; 52 reg = <0x30>; 53 #address-cells = <1>; 54 #size-cells = <0>; 55 enable-gpios = <&pm8994_gpios 56 clock-mode = /bits/8 <2>; 57 label = "button-backlight"; 58 59 led@0 { 60 reg = <0>; 61 chan-name = "button-ba 62 led-cur = /bits/ 8 <0x 63 max-cur = /bits/ 8 <0x 64 }; 65 66 led@1 { 67 reg = <0>; 68 chan-name = "button-ba 69 led-cur = /bits/ 8 <0x 70 max-cur = /bits/ 8 <0x 71 }; 72 }; 73 }; 74 75 &blsp2_i2c6 { 76 synaptics@20 { 77 compatible = "syna,rmi4-i2c"; 78 reg = <0x20>; 79 #address-cells = <1>; 80 #size-cells = <0>; 81 interrupt-parent = <&tlmm>; 82 interrupts = <125 IRQ_TYPE_LEV 83 vio-supply = <&vreg_l6a_1p8>; 84 vdd-supply = <&vdd_3v2_tp>; 85 reset-gpios = <&tlmm 89 GPIO_A 86 87 pinctrl-names = "default", "sl 88 pinctrl-0 = <&touchscreen_defa 89 pinctrl-1 = <&touchscreen_slee 90 }; 91 92 }; 93 94 &gpu { 95 zap-shader { 96 firmware-name = "qcom/msm8996/ 97 }; 98 }; 99 100 &mdss_dsi0 { 101 status = "okay"; 102 103 vdd-supply = <&vreg_l2a_1p25>; 104 vdda-supply = <&vreg_l19a_3p3>; 105 vddio-supply = <&vreg_l14a_1p8>; 106 107 pinctrl-names = "default", "sleep"; 108 pinctrl-0 = <&mdss_dsi_default &mdss_t 109 pinctrl-1 = <&mdss_dsi_sleep &mdss_te_ 110 111 panel: panel@0 { 112 compatible = "jdi,fhd-r63452"; 113 reg = <0>; 114 reset-gpios = <&tlmm 8 GPIO_AC 115 backlight = <&pmi8994_wled>; 116 117 port { 118 panel_in: endpoint { 119 remote-endpoin 120 }; 121 }; 122 }; 123 }; 124 125 &mdss_dsi0_out { 126 remote-endpoint = <&panel_in>; 127 }; 128 129 &pmi8994_wled { 130 status = "okay"; 131 }; 132 133 &mss_pil { 134 firmware-name = "qcom/msm8996/gemini/m 135 "qcom/msm8996/gemini/m 136 }; 137 138 &q6asmdai { 139 dai@0 { 140 reg = <0>; 141 }; 142 143 dai@1 { 144 reg = <1>; 145 }; 146 147 dai@2 { 148 reg = <2>; 149 }; 150 }; 151 152 &slpi_pil { 153 firmware-name = "qcom/msm8996/gemini/s 154 }; 155 156 &sound { 157 compatible = "qcom,apq8096-sndcard"; 158 model = "gemini"; 159 audio-routing = "RX_BIAS", "MCLK", 160 "MM_DL1", "MultiMedia1 Playba 161 "MM_DL2", "MultiMedia2 Playba 162 "MultiMedia3 Capture", "MM_UL3 163 164 mm1-dai-link { 165 link-name = "MultiMedia1"; 166 cpu { 167 sound-dai = <&q6asmdai 168 }; 169 }; 170 171 mm2-dai-link { 172 link-name = "MultiMedia2"; 173 cpu { 174 sound-dai = <&q6asmdai 175 }; 176 }; 177 178 mm3-dai-link { 179 link-name = "MultiMedia3"; 180 cpu { 181 sound-dai = <&q6asmdai 182 }; 183 }; 184 185 slim-dai-link { 186 link-name = "SLIM Playback"; 187 cpu { 188 sound-dai = <&q6afedai 189 }; 190 191 platform { 192 sound-dai = <&q6routin 193 }; 194 195 codec { 196 sound-dai = <&wcd9335 197 }; 198 }; 199 200 slimcap-dai-link { 201 link-name = "SLIM Capture"; 202 cpu { 203 sound-dai = <&q6afedai 204 }; 205 206 platform { 207 sound-dai = <&q6routin 208 }; 209 210 codec { 211 sound-dai = <&wcd9335 212 }; 213 }; 214 }; 215 216 &venus { 217 firmware-name = "qcom/msm8996/gemini/v 218 }; 219 220 &rpm_requests { 221 regulators-0 { 222 vreg_l17a_2p8: l17 { 223 regulator-name = "vreg 224 regulator-min-microvol 225 regulator-max-microvol 226 }; 227 vreg_l29a_2p7: l29 { 228 regulator-name = "vreg 229 regulator-min-microvol 230 regulator-max-microvol 231 }; 232 }; 233 }; 234 235 &pm8994_gpios { 236 gpio-line-names = 237 "NC", /* GPI 238 "VOL_UP_N", /* GPI 239 "SPKR_ID", /* GPI 240 "PWM_HAPTICS", /* GPI 241 "INFARED_DRV", /* GPI 242 "NC", /* GPI 243 "KEYPAD_LED_EN", /* GPI 244 "WL_EN", /* GPI 245 "3P3_ENABLE", /* GPI 246 "FP_ID", /* GPI 247 "NC", /* GPI 248 "NC", /* GPI 249 "NC", /* GPI 250 "NC", /* GPI 251 "DIVCLK1_CDC", /* GPI 252 "DIVCLK2_HAPTICS", /* GPI 253 "NC", /* GPI 254 "32KHz_CLK_IN", /* GPI 255 "BT_EN", /* GPI 256 "PMIC_SLB", /* GPI 257 "UIM_BATT_ALARM", /* GPI 258 "NC"; /* GPI 259 260 divclk2_pin_a: divclk2-state { 261 pins = "gpio16"; 262 function = PMIC_GPIO_FUNC_FUNC 263 bias-disable; 264 power-source = <PM8994_GPIO_S4 265 }; 266 }; 267 268 &pm8994_mpps { 269 gpio-line-names = 270 "NC", /* MPP 271 "CCI_TIMER1", /* MPP 272 "PMIC_SLB", /* MPP 273 "EXT_FET_WLED_PWR_EN_N",/* MPP 274 "NC", /* MPP 275 "NC", /* MPP 276 "NC", /* MPP 277 "NC"; /* MPP 278 }; 279 280 &pmi8994_gpios { 281 gpio-line-names = 282 "NC", /* GPI 283 "SPKR_PA_RST", /* GPI 284 "NC", /* GPI 285 "NC", /* GPI 286 "NC", /* GPI 287 "NC", /* GPI 288 "NC", /* GPI 289 "NC", /* GPI 290 "NC", /* GPI 291 "NC"; /* GPI 292 }; 293 294 &tlmm { 295 gpio-line-names = 296 "ESE_SPI_MOSI", /* GPI 297 "ESE_SPI_MISO", /* GPI 298 "ERR_INT_N", /* GPI 299 "ESE_SPI_CLK", /* GPI 300 "MSM_UART_TX", /* GPI 301 "MSM_UART_RX", /* GPI 302 "NFC_I2C_SDA", /* GPI 303 "NFC_I2C_SCL", /* GPI 304 "LCD0_RESET_N", /* GPI 305 "NFC_IRQ", /* GPI 306 "LCD_TE", /* GPI 307 "LCD_ID_DET1", /* GPI 308 "NFC_DISABLE", /* GPI 309 "CAM_MCLK0", /* GPI 310 "NC", /* GPI 311 "CAM_MCLK2", /* GPI 312 "ESE_PWR_REQ", /* GPI 313 "CCI_I2C_SDA0", /* GPI 314 "CCI_I2C_SCL0", /* GPI 315 "CCI_I2C_SDA1", /* GPI 316 "CCI_I2C_SCL1", /* GPI 317 "NFC_DWL_REQ", /* GPI 318 "CCI_TIMER1", /* GPI 319 "WEBCAM1_RESET_N", /* GPI 320 "ESE_IRQ", /* GPI 321 "NC", /* GPI 322 "WEBCAM1_STANDBY", /* GPI 323 "NC", /* GPI 324 "NC", /* GPI 325 "NC", /* GPI 326 "CAM1_RST_N", /* GPI 327 "NC", /* GPI 328 "NC", /* GPI 329 "NC", /* GPI 330 "FP_DOME_SW", /* GPI 331 "PCI_E0_RST_N", /* GPI 332 "PCI_E0_CLKREQ_N", /* GPI 333 "PCI_E0_WAKE", /* GPI 334 "FM_INT_N", /* GPI 335 "FM_RESET_N", /* GPI 336 "NC", /* GPI 337 "QCA_UART_TXD", /* GPI 338 "QCA_UART_RXD", /* GPI 339 "QCA_UART_CTS", /* GPI 340 "QCA_UART_RTS", /* GPI 341 "MAWC_UART_TX", /* GPI 342 "MAWC_UART_RX", /* GPI 343 "NC", /* GPI 344 "NC", /* GPI 345 "AUDIO_SWITCH_EN", /* GPI 346 "FP_SPI_RST", /* GPI 347 "TYPEC_I2C_SDA", /* GPI 348 "TYPEC_I2C_SCL", /* GPI 349 "CODEC_INT2_N", /* GPI 350 "CODEC_INT1_N", /* GPI 351 "APPS_I2C7_SDA", /* GPI 352 "APPS_I2C7_SCL", /* GPI 353 "FORCE_USB_BOOT", /* GPI 354 "SPKR_I2S_BCK", /* GPI 355 "SPKR_I2S_WS", /* GPI 356 "SPKR_I2S_DOUT", /* GPI 357 "SPKR_I2S_DIN", /* GPI 358 "ESE_RSTN", /* GPI 359 "TYPEC_INT", /* GPI 360 "CODEC_RESET_N", /* GPI 361 "PCM_CLK", /* GPI 362 "PCM_SYNC", /* GPI 363 "PCM_DIN", /* GPI 364 "PCM_DOUT", /* GPI 365 "HIFI_CLK", /* GPI 366 "SLIMBUS_CLK", /* GPI 367 "SLIMBUS_DATA0", /* GPI 368 "SLIMBUS_DATA1", /* GPI 369 "LDO_5V_IN_EN", /* GPI 370 "NC", /* GPI 371 "FM_I2S_CLK", /* GPI 372 "FM_I2S_SYNC", /* GPI 373 "FM_I2S_DATA", /* GPI 374 "FM_STATUS", /* GPI 375 "NC", /* GPI 376 "SENSOR_RESET_N", /* GPI 377 "FP_SPI_MOSI", /* GPI 378 "FP_SPI_MISO", /* GPI 379 "FP_SPI_CS_N", /* GPI 380 "FP_SPI_CLK", /* GPI 381 "NC", /* GPI 382 "CAM_VDD_1P05_EN", /* GPI 383 "MSM_TS_I2C_SDA", /* GPI 384 "MSM_TS_I2C_SCL", /* GPI 385 "TS_RESOUT_N", /* GPI 386 "ESE_SPI_CS_N", /* GPI 387 "NC", /* GPI 388 "NC", /* GPI 389 "HAPTICS_EN", /* GPI 390 "NC", /* GPI 391 "NC", /* GPI 392 "NC", /* GPI 393 "NC", /* GPI 394 "GRFC_1", /* GPI 395 "NC", /* GPI 396 "GRFC_3", /* GPI 397 "GRFC_4", /* GPI 398 "NC", /* GPI 399 "NC", /* GPI 400 "GRFC_7", /* GPI 401 "UIM2_DATA", /* GPI 402 "UIM2_CLK", /* GPI 403 "UIM2_RESET", /* GPI 404 "UIM2_PRESENT", /* GPI 405 "UIM1_DATA", /* GPI 406 "UIM1_CLK", /* GPI 407 "UIM1_RESET", /* GPI 408 "UIM1_PRESENT", /* GPI 409 "UIM_BATT_ALARM", /* GPI 410 "GRFC_8", /* GPI 411 "GRFC_9", /* GPI 412 "TX_GTR_THRES", /* GPI 413 "ACCEL_INT", /* GPI 414 "GYRO_INT", /* GPI 415 "COMPASS_INT", /* GPI 416 "PROXIMITY_INT_N", /* GPI 417 "FP_IRQ", /* GPI 418 "NC", /* GPI 419 "HALL_INTR2", /* GPI 420 "HALL_INTR1", /* GPI 421 "TS_INT_N", /* GPI 422 "NC", /* GPI 423 "GRFC_11", /* GPI 424 "NC", /* GPI 425 "EXT_GPS_LNA_EN", /* GPI 426 "NC", /* GPI 427 "NC", /* GPI 428 "NC", /* GPI 429 "GRFC_14", /* GPI 430 "GSM_TX2_PHASE_D", /* GPI 431 "NC", /* GPI 432 "NC", /* GPI 433 "RFFE3_DATA", /* GPI 434 "RFFE3_CLK", /* GPI 435 "NC", /* GPI 436 "NC", /* GPI 437 "RFFE5_DATA", /* GPI 438 "RFFE5_CLK", /* GPI 439 "NC", /* GPI 440 "COEX_UART_TX", /* GPI 441 "COEX_UART_RX", /* GPI 442 "RFFE2_DATA", /* GPI 443 "RFFE2_CLK", /* GPI 444 "RFFE1_DATA", /* GPI 445 "RFFE1_CLK"; /* GPI 446 447 touchscreen_default: touchscreen-defau 448 pins = "gpio89", "gpio125"; 449 function = "gpio"; 450 drive-strength = <10>; 451 bias-pull-up; 452 }; 453 454 touchscreen_sleep: touchscreen-sleep-s 455 pins = "gpio89", "gpio125"; 456 function = "gpio"; 457 drive-strength = <2>; 458 bias-disable; 459 }; 460 461 vibrator_default: vibrator-default-sta 462 pins = "gpio93"; 463 function = "gpio"; 464 drive-strength = <8>; 465 bias-pull-up; 466 }; 467 468 vibrator_sleep: vibrator-sleep-state { 469 pins = "gpio93"; 470 function = "gpio"; 471 drive-strength = <2>; 472 bias-disable; 473 }; 474 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.