1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2022, Alec Su <ae40515@yahoo.com.tw> 4 */ 5 6/dts-v1/; 7 8#include "msm8996pro.dtsi" 9#include "msm8996-xiaomi-common.dtsi" 10#include "pmi8996.dtsi" 11#include <dt-bindings/sound/qcom,q6afe.h> 12#include <dt-bindings/sound/qcom,q6asm.h> 13 14/ { 15 model = "Xiaomi Mi 5s Plus"; 16 compatible = "xiaomi,natrium", "qcom,msm8996pro", "qcom,msm8996"; 17 chassis-type = "handset"; 18 qcom,msm-id = <305 0x10000>; 19 qcom,board-id = <47 0>; 20}; 21 22&adsp_pil { 23 firmware-name = "qcom/msm8996/natrium/adsp.mbn"; 24}; 25 26&blsp2_i2c6 { 27 touchscreen@20 { 28 compatible = "syna,rmi4-i2c"; 29 reg = <0x20>; 30 interrupt-parent = <&tlmm>; 31 interrupts = <125 IRQ_TYPE_LEVEL_LOW>; 32 vdd-supply = <&vdd_3v2_tp>; 33 syna,reset-delay-ms = <200>; 34 syna,startup-delay-ms = <5>; 35 36 pinctrl-names = "default", "sleep"; 37 pinctrl-0 = <&touchscreen_default>; 38 pinctrl-1 = <&touchscreen_sleep>; 39 }; 40}; 41 42&gpu { 43 zap-shader { 44 firmware-name = "qcom/msm8996/natrium/a530_zap.mbn"; 45 }; 46}; 47 48&mdss_dsi0 { 49 status = "okay"; 50 51 vdda-supply = <&vreg_l2a_1p25>; 52 vcca-supply = <&vreg_l28a_0p925>; 53 54 pinctrl-names = "default", "sleep"; 55 pinctrl-0 = <&mdss_dsi_default &mdss_te_default>; 56 pinctrl-1 = <&mdss_dsi_sleep &mdss_te_sleep>; 57 58 panel: panel@0 { 59 compatible = "jdi,fhd-r63452"; 60 reg = <0>; 61 reset-gpios = <&tlmm 8 GPIO_ACTIVE_LOW>; 62 backlight = <&pmi8994_wled>; 63 64 port { 65 panel_in: endpoint { 66 remote-endpoint = <&mdss_dsi0_out>; 67 }; 68 }; 69 }; 70}; 71 72&mdss_dsi0_out { 73 remote-endpoint = <&panel_in>; 74}; 75 76&mss_pil { 77 firmware-name = "qcom/msm8996/natrium/mba.mbn", 78 "qcom/msm8996/natrium/modem.mbn"; 79}; 80 81&pmi8994_wled { 82 status = "okay"; 83 84 qcom,enabled-strings = <0 1>; 85 qcom,switching-freq = <600>; 86}; 87 88&q6asmdai { 89 dai@0 { 90 reg = <0>; 91 }; 92 93 dai@1 { 94 reg = <1>; 95 }; 96 97 dai@2 { 98 reg = <2>; 99 }; 100}; 101 102&slpi_pil { 103 firmware-name = "qcom/msm8996/natrium/slpi.mbn"; 104}; 105 106&sound { 107 compatible = "qcom,apq8096-sndcard"; 108 model = "natrium"; 109 audio-routing = "RX_BIAS", "MCLK"; 110 111 mm1-dai-link { 112 link-name = "MultiMedia1"; 113 cpu { 114 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>; 115 }; 116 }; 117 118 mm2-dai-link { 119 link-name = "MultiMedia2"; 120 cpu { 121 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>; 122 }; 123 }; 124 125 mm3-dai-link { 126 link-name = "MultiMedia3"; 127 cpu { 128 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>; 129 }; 130 }; 131 132 slim-dai-link { 133 link-name = "SLIM Playback"; 134 cpu { 135 sound-dai = <&q6afedai SLIMBUS_6_RX>; 136 }; 137 138 platform { 139 sound-dai = <&q6routing>; 140 }; 141 142 codec { 143 sound-dai = <&wcd9335 6>; 144 }; 145 }; 146 147 slimcap-dai-link { 148 link-name = "SLIM Capture"; 149 cpu { 150 sound-dai = <&q6afedai SLIMBUS_0_TX>; 151 }; 152 153 platform { 154 sound-dai = <&q6routing>; 155 }; 156 157 codec { 158 sound-dai = <&wcd9335 1>; 159 }; 160 }; 161}; 162 163&venus { 164 firmware-name = "qcom/msm8996/natrium/venus.mbn"; 165}; 166 167&rpm_requests { 168 regulators-0 { 169 vreg_l3a_0p875: l3 { 170 regulator-name = "vreg_l3a_0p875"; 171 regulator-min-microvolt = <850000>; 172 regulator-max-microvolt = <1300000>; 173 }; 174 vreg_l11a_1p1: l11 { 175 regulator-name = "vreg_l11a_1p1"; 176 regulator-min-microvolt = <1100000>; 177 regulator-max-microvolt = <1100000>; 178 }; 179 vreg_l17a_2p8: l17 { 180 regulator-name = "vreg_l17a_2p8"; 181 regulator-min-microvolt = <2800000>; 182 regulator-max-microvolt = <2800000>; 183 }; 184 vreg_l18a_2p8: l18 { 185 regulator-name = "vreg_l18a_2p8"; 186 regulator-min-microvolt = <2800000>; 187 regulator-max-microvolt = <2800000>; 188 }; 189 vreg_l29a_2p8: l29 { 190 regulator-name = "vreg_l29a_2p8"; 191 regulator-min-microvolt = <2800000>; 192 regulator-max-microvolt = <2800000>; 193 }; 194 }; 195}; 196 197&pm8994_gpios { 198 gpio-line-names = 199 "NC", /* GPIO_1 */ 200 "VOL_UP_N", /* GPIO_2 */ 201 "SPKR_ID", /* GPIO_3 */ 202 "PWM_HAPTICS", /* GPIO_4 */ 203 "INFARED_DRV", /* GPIO_5 */ 204 "NC", /* GPIO_6 */ 205 "KEYPAD_LED_EN_A", /* GPIO_7 */ 206 "WL_EN", /* GPIO_8 */ 207 "3P3_ENABLE", /* GPIO_9 */ 208 "NC", /* GPIO_10 */ 209 "NC", /* GPIO_11 */ 210 "NC", /* GPIO_12 */ 211 "NC", /* GPIO_13 */ 212 "NC", /* GPIO_14 */ 213 "DIVCLK1_CDC", /* GPIO_15 */ 214 "DIVCLK2_HAPTICS", /* GPIO_16 */ 215 "NC", /* GPIO_17 */ 216 "32KHz_CLK_IN", /* GPIO_18 */ 217 "BT_EN", /* GPIO_19 */ 218 "PMIC_SLB", /* GPIO_20 */ 219 "UIM_BATT_ALARM", /* GPIO_21 */ 220 "NC"; /* GPIO_22 */ 221}; 222 223&pm8994_mpps { 224 gpio-line-names = 225 "NC", /* MPP_1 */ 226 "CCI_TIMER1", /* MPP_2 */ 227 "PMIC_SLB", /* MPP_3 */ 228 "EXT_FET_WLED_PWR_EN_N",/* MPP_4 */ 229 "NC", /* MPP_5 */ 230 "NC", /* MPP_6 */ 231 "NC", /* MPP_7 */ 232 "NC"; /* MPP_8 */ 233}; 234 235&pmi8994_gpios { 236 gpio-line-names = 237 "NC", /* GPIO_1 */ 238 "SPKR_PA_EN", /* GPIO_2 */ 239 "NC", /* GPIO_3 */ 240 "NC", /* GPIO_4 */ 241 "NC", /* GPIO_5 */ 242 "NC", /* GPIO_6 */ 243 "NC", /* GPIO_7 */ 244 "NC", /* GPIO_8 */ 245 "NC", /* GPIO_9 */ 246 "NC"; /* GPIO_10 */ 247}; 248 249&tlmm { 250 gpio-line-names = 251 "ESE_SPI_MOSI", /* GPIO_0 */ 252 "ESE_SPI_MISO", /* GPIO_1 */ 253 "NC", /* GPIO_2 */ 254 "ESE_SPI_CLK", /* GPIO_3 */ 255 "MSM_UART_TX", /* GPIO_4 */ 256 "MSM_UART_RX", /* GPIO_5 */ 257 "NFC_I2C_SDA", /* GPIO_6 */ 258 "NFC_I2C_SCL", /* GPIO_7 */ 259 "LCD0_RESET_N", /* GPIO_8 */ 260 "NFC_IRQ", /* GPIO_9 */ 261 "LCD_TE", /* GPIO_10 */ 262 "LCD_ID_DET1", /* GPIO_11 */ 263 "NFC_DISABLE", /* GPIO_12 */ 264 "CAM_MCLK0", /* GPIO_13 */ 265 "CAM_MCLK1", /* GPIO_14 */ 266 "CAM_MCLK2", /* GPIO_15 */ 267 "ESE_PWR_REQ", /* GPIO_16 */ 268 "CCI_I2C_SDA0", /* GPIO_17 */ 269 "CCI_I2C_SCL0", /* GPIO_18 */ 270 "CCI_I2C_SDA1", /* GPIO_19 */ 271 "CCI_I2C_SCL1", /* GPIO_20 */ 272 "NFC_DWL_REQ", /* GPIO_21 */ 273 "CCI_TIMER1", /* GPIO_22 */ 274 "WEBCAM1_RESET_N", /* GPIO_23 */ 275 "ESE_IRQ", /* GPIO_24 */ 276 "NC", /* GPIO_25 */ 277 "WEBCAM1_STANDBY", /* GPIO_26 */ 278 "NC", /* GPIO_27 */ 279 "NC", /* GPIO_28 */ 280 "NC", /* GPIO_29 */ 281 "CAM_VDD_1P2_EN_2", /* GPIO_30 */ 282 "CAM_RESET_0", /* GPIO_31 */ 283 "CAM_RESET_1", /* GPIO_32 */ 284 "NC", /* GPIO_33 */ 285 "NC", /* GPIO_34 */ 286 "PCI_E0_RST_N", /* GPIO_35 */ 287 "PCI_E0_CLKREQ_N", /* GPIO_36 */ 288 "PCI_E0_WAKE", /* GPIO_37 */ 289 "CHARGER_INT", /* GPIO_38 */ 290 "CHARGER_RESET", /* GPIO_39 */ 291 "NC", /* GPIO_40 */ 292 "QCA_UART_TXD", /* GPIO_41 */ 293 "QCA_UART_RXD", /* GPIO_42 */ 294 "QCA_UART_CTS", /* GPIO_43 */ 295 "QCA_UART_RTS", /* GPIO_44 */ 296 "MAWC_UART_TX", /* GPIO_45 */ 297 "MAWC_UART_RX", /* GPIO_46 */ 298 "NC", /* GPIO_47 */ 299 "NC", /* GPIO_48 */ 300 "NC", /* GPIO_49 */ 301 "FP_SPI_RST", /* GPIO_50 */ 302 "TYPEC_I2C_SDA", /* GPIO_51 */ 303 "TYPEC_I2C_SCL", /* GPIO_52 */ 304 "CODEC_INT2_N", /* GPIO_53 */ 305 "CODEC_INT1_N", /* GPIO_54 */ 306 "APPS_I2C7_SDA", /* GPIO_55 */ 307 "APPS_I2C7_SCL", /* GPIO_56 */ 308 "FORCE_USB_BOOT", /* GPIO_57 */ 309 "NC", /* GPIO_58 */ 310 "NC", /* GPIO_59 */ 311 "NC", /* GPIO_60 */ 312 "NC", /* GPIO_61 */ 313 "ESE_RSTN", /* GPIO_62 */ 314 "TYPEC_INT", /* GPIO_63 */ 315 "CODEC_RESET_N", /* GPIO_64 */ 316 "PCM_CLK", /* GPIO_65 */ 317 "PCM_SYNC", /* GPIO_66 */ 318 "PCM_DIN", /* GPIO_67 */ 319 "PCM_DOUT", /* GPIO_68 */ 320 "CDC_44K1_CLK", /* GPIO_69 */ 321 "SLIMBUS_CLK", /* GPIO_70 */ 322 "SLIMBUS_DATA0", /* GPIO_71 */ 323 "SLIMBUS_DATA1", /* GPIO_72 */ 324 "LDO_5V_IN_EN", /* GPIO_73 */ 325 "TYPEC_EN_N", /* GPIO_74 */ 326 "NC", /* GPIO_75 */ 327 "NC", /* GPIO_76 */ 328 "NC", /* GPIO_77 */ 329 "NC", /* GPIO_78 */ 330 "NC", /* GPIO_79 */ 331 "SENSOR_RESET_N", /* GPIO_80 */ 332 "FP_SPI_MOSI", /* GPIO_81 */ 333 "FP_SPI_MISO", /* GPIO_82 */ 334 "FP_SPI_CS_N", /* GPIO_83 */ 335 "FP_SPI_CLK", /* GPIO_84 */ 336 "NC", /* GPIO_85 */ 337 "CAM_VDD_1P2_EN", /* GPIO_86 */ 338 "MSM_TS_I2C_SDA", /* GPIO_87 */ 339 "MSM_TS_I2C_SCL", /* GPIO_88 */ 340 "TS_RESOUT_N", /* GPIO_89 */ 341 "ESE_SPI_CS_N", /* GPIO_90 */ 342 "NC", /* GPIO_91 */ 343 "CAM2_AVDD_EN", /* GPIO_92 */ 344 "CAM2_VCM_EN", /* GPIO_93 */ 345 "NC", /* GPIO_94 */ 346 "NC", /* GPIO_95 */ 347 "NC", /* GPIO_96 */ 348 "GRFC_0", /* GPIO_97 */ 349 "GRFC_1", /* GPIO_98 */ 350 "NC", /* GPIO_99 */ 351 "GRFC_3", /* GPIO_100 */ 352 "GRFC_4", /* GPIO_101 */ 353 "GRFC_5", /* GPIO_102 */ 354 "NC", /* GPIO_103 */ 355 "GRFC_7", /* GPIO_104 */ 356 "UIM2_DATA", /* GPIO_105 */ 357 "UIM2_CLK", /* GPIO_106 */ 358 "UIM2_RESET", /* GPIO_107 */ 359 "UIM2_PRESENT", /* GPIO_108 */ 360 "UIM1_DATA", /* GPIO_109 */ 361 "UIM1_CLK", /* GPIO_110 */ 362 "UIM1_RESET", /* GPIO_111 */ 363 "UIM1_PRESENT", /* GPIO_112 */ 364 "UIM_BATT_ALARM", /* GPIO_113 */ 365 "GRFC_8", /* GPIO_114 */ 366 "GRFC_9", /* GPIO_115 */ 367 "TX_GTR_THRES", /* GPIO_116 */ 368 "ACCEL_INT", /* GPIO_117 */ 369 "GYRO_INT", /* GPIO_118 */ 370 "COMPASS_INT", /* GPIO_119 */ 371 "PROXIMITY_INT_N", /* GPIO_120 */ 372 "FP_IRQ", /* GPIO_121 */ 373 "P_SENSE", /* GPIO_122 */ 374 "HALL_INTR2", /* GPIO_123 */ 375 "HALL_INTR1", /* GPIO_124 */ 376 "TS_INT_N", /* GPIO_125 */ 377 "NC", /* GPIO_126 */ 378 "GRFC_11", /* GPIO_127 */ 379 "NC", /* GPIO_128 */ 380 "EXT_GPS_LNA_EN", /* GPIO_129 */ 381 "NC", /* GPIO_130 */ 382 "LCD_ID_DET2", /* GPIO_131 */ 383 "LCD_TE2", /* GPIO_132 */ 384 "GRFC_14", /* GPIO_133 */ 385 "GSM_TX2_PHASE_D", /* GPIO_134 */ 386 "NC", /* GPIO_135 */ 387 "GRFC_15", /* GPIO_136 */ 388 "RFFE3_DATA", /* GPIO_137 */ 389 "RFFE3_CLK", /* GPIO_138 */ 390 "NC", /* GPIO_139 */ 391 "NC", /* GPIO_140 */ 392 "RFFE5_DATA", /* GPIO_141 */ 393 "RFFE5_CLK", /* GPIO_142 */ 394 "NC", /* GPIO_143 */ 395 "COEX_UART_TX", /* GPIO_144 */ 396 "COEX_UART_RX", /* GPIO_145 */ 397 "RFFE2_DATA", /* GPIO_146 */ 398 "RFFE2_CLK", /* GPIO_147 */ 399 "RFFE1_DATA", /* GPIO_148 */ 400 "RFFE1_CLK"; /* GPIO_149 */ 401 402 touchscreen_default: touchscreen-default-state { 403 pins = "gpio89", "gpio125"; 404 function = "gpio"; 405 drive-strength = <10>; 406 bias-pull-up; 407 }; 408 409 touchscreen_sleep: touchscreen-sleep-state { 410 pins = "gpio89", "gpio125"; 411 function = "gpio"; 412 drive-strength = <2>; 413 bias-disable; 414 }; 415}; 416