Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: BSD-3-Clause
0002 /*
0003  * Copyright (c) 2020, Yassine Oudjana <y.oudjana@protonmail.com>
0004  */
0005 
0006 /dts-v1/;
0007 
0008 #include "msm8996-xiaomi-common.dtsi"
0009 #include "pmi8996.dtsi"
0010 #include <dt-bindings/sound/qcom,q6afe.h>
0011 #include <dt-bindings/sound/qcom,q6asm.h>
0012 
0013 / {
0014         model = "Xiaomi Mi Note 2";
0015         compatible = "xiaomi,scorpio", "qcom,msm8996";
0016         chassis-type = "handset";
0017         qcom,msm-id = <305 0x10000>;
0018         qcom,board-id = <34 0>;
0019 
0020         chosen {
0021                 #address-cells = <2>;
0022                 #size-cells = <2>;
0023                 ranges;
0024 
0025                 framebuffer0: framebuffer@83401000 {
0026                         compatible = "simple-framebuffer";
0027                         reg = <0x00 0x83401000 0x00 (1080 * 1920 * 3)>;
0028                         width = <1080>;
0029                         height = <1920>;
0030                         stride = <(1080 * 3)>;
0031                         format = "r8g8b8";
0032 
0033                         /* DSI0 and MDP SMMU clocks */
0034                         clocks = <&mmcc MDSS_MDP_CLK>,
0035                                  <&mmcc MMSS_MMAGIC_AHB_CLK>,
0036                                  <&mmcc MDSS_AHB_CLK>,
0037                                  <&mmcc MDSS_AXI_CLK>,
0038                                  <&mmcc MMSS_MISC_AHB_CLK>,
0039                                  <&mmcc MDSS_BYTE0_CLK>,
0040                                  <&mmcc MDSS_PCLK0_CLK>,
0041                                  <&mmcc MDSS_ESC0_CLK>,
0042                                  <&mmcc SMMU_MDP_AHB_CLK>,
0043                                  <&mmcc SMMU_MDP_AXI_CLK>;
0044 
0045                         /* MDSS power domain */
0046                         power-domains = <&mmcc MDSS_GDSC>;
0047                 };
0048         };
0049 
0050         reserved-memory {
0051                 cont_splash_mem: memory@83401000 {
0052                         reg = <0x0 0x83401000 0x0 (1080 * 1920 * 3)>;
0053                         no-map;
0054                 };
0055         };
0056 };
0057 
0058 &adsp_pil {
0059         firmware-name = "qcom/msm8996/scorpio/adsp.mbn";
0060 };
0061 
0062 &blsp2_i2c6 {
0063         touchkey: touchkey@28 {
0064                 compatible = "cypress,sf3155";
0065                 reg = <0x28>;
0066                 interrupt-parent = <&tlmm>;
0067                 interrupts = <77 IRQ_TYPE_EDGE_FALLING>;
0068                 avdd-supply = <&vreg_l6a_1p8>;
0069                 vdd-supply = <&vdd_3v2_tp>;
0070                 linux,keycodes = <KEY_BACK KEY_MENU>;
0071 
0072                 pinctrl-names = "default", "sleep";
0073                 pinctrl-0 = <&touchkey_default>;
0074                 pinctrl-1 = <&touchkey_sleep>;
0075         };
0076 
0077         touchscreen: atmel-mxt-ts@4a {
0078                 compatible = "atmel,maxtouch";
0079                 reg = <0x4a>;
0080                 interrupt-parent = <&tlmm>;
0081                 interrupts = <125 IRQ_TYPE_LEVEL_LOW>;
0082                 vdda-supply = <&vreg_l6a_1p8>;
0083                 vdd-supply = <&vdd_3v2_tp>;
0084                 reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>;
0085 
0086                 pinctrl-names = "default", "sleep";
0087                 pinctrl-0 = <&touchscreen_default>;
0088                 pinctrl-1 = <&touchscreen_sleep>;
0089         };
0090 };
0091 
0092 &gpu {
0093         zap-shader {
0094                 firmware-name = "qcom/msm8996/scorpio/a530_zap.mbn";
0095         };
0096 };
0097 
0098 &mdp_smmu {
0099         /*
0100          * Probing this SMMU causes a crash due to writing to some secure
0101          * registers. Disable it for now.
0102          */
0103         status = "disabled";
0104 };
0105 
0106 &mdss {
0107         /*
0108          * MDSS depends on the MDP SMMU, and probing it alters the bootloader
0109          * configured framebuffer used by simplefb. Disable it for now.
0110          */
0111         status = "disabled";
0112 };
0113 
0114 &mss_pil {
0115         firmware-name = "qcom/msm8996/scorpio/mba.mbn",
0116                         "qcom/msm8996/scorpio/modem.mbn";
0117 };
0118 
0119 &q6asmdai {
0120         dai@0 {
0121                 reg = <0>;
0122         };
0123 
0124         dai@1 {
0125                 reg = <1>;
0126         };
0127 
0128         dai@2 {
0129                 reg = <2>;
0130         };
0131 };
0132 
0133 &slpi_pil {
0134         firmware-name = "qcom/msm8996/scorpio/slpi.mbn";
0135 };
0136 
0137 &sound {
0138         compatible = "qcom,apq8096-sndcard";
0139         model = "scorpio";
0140         audio-routing = "RX_BIAS", "MCLK";
0141 
0142         mm1-dai-link {
0143                 link-name = "MultiMedia1";
0144                 cpu {
0145                         sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
0146                 };
0147         };
0148 
0149         mm2-dai-link {
0150                 link-name = "MultiMedia2";
0151                 cpu {
0152                         sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>;
0153                 };
0154         };
0155 
0156         mm3-dai-link {
0157                 link-name = "MultiMedia3";
0158                 cpu {
0159                         sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>;
0160                 };
0161         };
0162 
0163         slim-dai-link {
0164                 link-name = "SLIM Playback";
0165                 cpu {
0166                         sound-dai = <&q6afedai SLIMBUS_6_RX>;
0167                 };
0168 
0169                 platform {
0170                         sound-dai = <&q6routing>;
0171                 };
0172 
0173                 codec {
0174                         sound-dai = <&wcd9335 6>;
0175                 };
0176         };
0177 
0178         slimcap-dai-link {
0179                 link-name = "SLIM Capture";
0180                 cpu {
0181                         sound-dai = <&q6afedai SLIMBUS_0_TX>;
0182                 };
0183 
0184                 platform {
0185                         sound-dai = <&q6routing>;
0186                 };
0187 
0188                 codec {
0189                         sound-dai = <&wcd9335 1>;
0190                 };
0191         };
0192 };
0193 
0194 &venus {
0195         firmware-name = "qcom/msm8996/scorpio/venus.mbn";
0196 };
0197 
0198 &rpm_requests {
0199         pm8994-regulators {
0200                 vreg_l3a_0p875: l3 {
0201                         regulator-name = "vreg_l3a_0p875";
0202                         regulator-min-microvolt = <850000>;
0203                         regulator-max-microvolt = <1300000>;
0204                 };
0205                 vreg_l11a_1p1: l11 {
0206                         regulator-name = "vreg_l11a_1p1";
0207                         regulator-min-microvolt = <1100000>;
0208                         regulator-max-microvolt = <1100000>;
0209                 };
0210                 vreg_l17a_2p8: l17 {
0211                         regulator-name = "vreg_l17a_2p8";
0212                         regulator-min-microvolt = <2800000>;
0213                         regulator-max-microvolt = <2800000>;
0214                 };
0215                 vreg_l18a_2p8: l18 {
0216                         regulator-name = "vreg_l18a_2p8";
0217                         regulator-min-microvolt = <2800000>;
0218                         regulator-max-microvolt = <2800000>;
0219                 };
0220                 vreg_l22a_3p0: l22 {
0221                         regulator-name = "vreg_l22a_3p0";
0222                         regulator-min-microvolt = <2950000>;
0223                         regulator-max-microvolt = <3500000>;
0224                 };
0225                 vreg_l29a_2p7: l29 {
0226                         regulator-name = "vreg_l29a_2p7";
0227                         regulator-min-microvolt = <2700000>;
0228                         regulator-max-microvolt = <2700000>;
0229                 };
0230         };
0231 };
0232 
0233 &vdd_gfx {
0234         regulator-max-microvolt = <1065000>;
0235 };
0236 
0237 &pm8994_gpios {
0238         gpio-line-names =
0239                 "NC",                   /* GPIO_1  */
0240                 "VOL_UP_N",             /* GPIO_2  */
0241                 "SPKR_ID",              /* GPIO_3  */
0242                 "PWM_HAPTICS",          /* GPIO_4  */
0243                 "INFARED_DRV",          /* GPIO_5  */
0244                 "NC",                   /* GPIO_6  */
0245                 "KEYPAD_LED_EN_A",      /* GPIO_7  */
0246                 "WL_EN",                /* GPIO_8  */
0247                 "3P3_ENABLE",           /* GPIO_9  */
0248                 "KEYPAD_LED_EN_B",      /* GPIO_10 */
0249                 "FP_ID",                /* GPIO_11 */
0250                 "NC",                   /* GPIO_12 */
0251                 "NC",                   /* GPIO_13 */
0252                 "NC",                   /* GPIO_14 */
0253                 "DIVCLK1_CDC",          /* GPIO_15 */
0254                 "DIVCLK2_HAPTICS",      /* GPIO_16 */
0255                 "NC",                   /* GPIO_17 */
0256                 "32KHz_CLK_IN",         /* GPIO_18 */
0257                 "BT_EN",                /* GPIO_19 */
0258                 "PMIC_SLB",             /* GPIO_20 */
0259                 "UIM_BATT_ALARM",       /* GPIO_21 */
0260                 "NC";                   /* GPIO_22 */
0261 };
0262 
0263 &pm8994_mpps {
0264         gpio-line-names =
0265                 "VREF_SDC_UIM_APC",     /* MPP_1 */
0266                 "NC",                   /* MPP_2 */
0267                 "VREF_DACX",            /* MPP_3 */
0268                 "NC",                   /* MPP_4 */
0269                 "NC",                   /* MPP_5 */
0270                 "STAT_SMB1351",         /* MPP_6 */
0271                 "NC",                   /* MPP_7 */
0272                 "NC";                   /* MPP_8 */
0273 };
0274 
0275 &pmi8994_gpios {
0276         gpio-line-names =
0277                 "NC",                   /* GPIO_1  */
0278                 "SPKR_PA_RST",          /* GPIO_2  */
0279                 "NC",                   /* GPIO_3  */
0280                 "NC",                   /* GPIO_4  */
0281                 "NC",                   /* GPIO_5  */
0282                 "NC",                   /* GPIO_6  */
0283                 "NC",                   /* GPIO_7  */
0284                 "NC",                   /* GPIO_8  */
0285                 "NC",                   /* GPIO_9  */
0286                 "NC";                   /* GPIO_10 */
0287 };
0288 
0289 &tlmm {
0290         gpio-line-names =
0291                 "ESE_SPI_MOSI",         /* GPIO_0   */
0292                 "ESE_SPI_MISO",         /* GPIO_1   */
0293                 "NC",                   /* GPIO_2   */
0294                 "ESE_SPI_CLK",          /* GPIO_3   */
0295                 "MSM_UART_TX",          /* GPIO_4   */
0296                 "MSM_UART_RX",          /* GPIO_5   */
0297                 "NFC_I2C_SDA",          /* GPIO_6   */
0298                 "NFC_I2C_SCL",          /* GPIO_7   */
0299                 "OLED_RESET_N",         /* GPIO_8   */
0300                 "NFC_IRQ",              /* GPIO_9   */
0301                 "OLED_TE",              /* GPIO_10  */
0302                 "OLED_ID_DET1",         /* GPIO_11  */
0303                 "NFC_DISABLE",          /* GPIO_12  */
0304                 "CAM_MCLK0",            /* GPIO_13  */
0305                 "OLED_ID_DET2",         /* GPIO_14  */
0306                 "CAM_MCLK2",            /* GPIO_15  */
0307                 "ESE_PWR_REQ",          /* GPIO_16  */
0308                 "CCI_I2C_SDA0",         /* GPIO_17  */
0309                 "CCI_I2C_SCL0",         /* GPIO_18  */
0310                 "CCI_I2C_SDA1",         /* GPIO_19  */
0311                 "CCI_I2C_SCL1",         /* GPIO_20  */
0312                 "NFC_DWL_REQ",          /* GPIO_21  */
0313                 "CCI_TIMER1",           /* GPIO_22  */
0314                 "WEBCAM1_RESET_N",      /* GPIO_23  */
0315                 "ESE_IRQ",              /* GPIO_24  */
0316                 "NC",                   /* GPIO_25  */
0317                 "WEBCAM1_STANDBY",      /* GPIO_26  */
0318                 "NC",                   /* GPIO_27  */
0319                 "NC",                   /* GPIO_28  */
0320                 "OLED_ERR_FG",          /* GPIO_29  */
0321                 "CAM1_RST_N",           /* GPIO_30  */
0322                 "HIFI_SW_MUTE",         /* GPIO_31  */
0323                 "NC",                   /* GPIO_32  */
0324                 "NC",                   /* GPIO_33  */
0325                 "FP_DOME_SW",           /* GPIO_34  */
0326                 "PCI_E0_RST_N",         /* GPIO_35  */
0327                 "PCI_E0_CLKREQ_N",      /* GPIO_36  */
0328                 "PCI_E0_WAKE",          /* GPIO_37  */
0329                 "OV_PWDN",              /* GPIO_38  */
0330                 "NC",                   /* GPIO_39  */
0331                 "VDDR_1P6_EN",          /* GPIO_40  */
0332                 "QCA_UART_TXD",         /* GPIO_41  */
0333                 "QCA_UART_RXD",         /* GPIO_42  */
0334                 "QCA_UART_CTS",         /* GPIO_43  */
0335                 "QCA_UART_RTS",         /* GPIO_44  */
0336                 "MAWC_UART_TX",         /* GPIO_45  */
0337                 "MAWC_UART_RX",         /* GPIO_46  */
0338                 "NC",                   /* GPIO_47  */
0339                 "NC",                   /* GPIO_48  */
0340                 "AUDIO_SWITCH_EN",      /* GPIO_49  */
0341                 "FP_SPI_RST",           /* GPIO_50  */
0342                 "TYPEC_I2C_SDA",        /* GPIO_51  */
0343                 "TYPEC_I2C_SCL",        /* GPIO_52  */
0344                 "CODEC_INT2_N",         /* GPIO_53  */
0345                 "CODEC_INT1_N",         /* GPIO_54  */
0346                 "APPS_I2C7_SDA",        /* GPIO_55  */
0347                 "APPS_I2C7_SCL",        /* GPIO_56  */
0348                 "FORCE_USB_BOOT",       /* GPIO_57  */
0349                 "SPKR_I2S_BCK",         /* GPIO_58  */
0350                 "SPKR_I2S_WS",          /* GPIO_59  */
0351                 "SPKR_I2S_DOUT",        /* GPIO_60  */
0352                 "SPKR_I2S_DIN",         /* GPIO_61  */
0353                 "ESE_RSTN",             /* GPIO_62  */
0354                 "TYPEC_INT",            /* GPIO_63  */
0355                 "CODEC_RESET_N",        /* GPIO_64  */
0356                 "PCM_CLK",              /* GPIO_65  */
0357                 "PCM_SYNC",             /* GPIO_66  */
0358                 "PCM_DIN",              /* GPIO_67  */
0359                 "PCM_DOUT",             /* GPIO_68  */
0360                 "CDC_44K1_CLK",         /* GPIO_69  */
0361                 "SLIMBUS_CLK",          /* GPIO_70  */
0362                 "SLIMBUS_DATA0",        /* GPIO_71  */
0363                 "SLIMBUS_DATA1",        /* GPIO_72  */
0364                 "LDO_5V_IN_EN",         /* GPIO_73  */
0365                 "NC",                   /* GPIO_74  */
0366                 "TSP_RST_N",            /* GPIO_75  */
0367                 "NC",                   /* GPIO_76  */
0368                 "TOUCHKEY_INT",         /* GPIO_77  */
0369                 "SPKR_I2S_MCLK",        /* GPIO_78  */
0370                 "SPKR_PA_INT",          /* GPIO_79  */
0371                 "SENSOR_RESET_N",       /* GPIO_80  */
0372                 "FP_SPI_MOSI",          /* GPIO_81  */
0373                 "FP_SPI_MISO",          /* GPIO_82  */
0374                 "FP_SPI_CS_N",          /* GPIO_83  */
0375                 "FP_SPI_CLK",           /* GPIO_84  */
0376                 "HIFI_SD",              /* GPIO_85  */
0377                 "CAM_VDD_1P05_EN",      /* GPIO_86  */
0378                 "MSM_TS_I2C_SDA",       /* GPIO_87  */
0379                 "MSM_TS_I2C_SCL",       /* GPIO_88  */
0380                 "NC",                   /* GPIO_89  */
0381                 "ESE_SPI_CS_N",         /* GPIO_90  */
0382                 "NC",                   /* GPIO_91  */
0383                 "NC",                   /* GPIO_92  */
0384                 "NC",                   /* GPIO_93  */
0385                 "NC",                   /* GPIO_94  */
0386                 "NC",                   /* GPIO_95  */
0387                 "NC",                   /* GPIO_96  */
0388                 "GRFC_0",               /* GPIO_97  */
0389                 "GRFC_1",               /* GPIO_98  */
0390                 "NC",                   /* GPIO_99  */
0391                 "GRFC_3",               /* GPIO_100 */
0392                 "GRFC_4",               /* GPIO_101 */
0393                 "NC",                   /* GPIO_102 */
0394                 "NC",                   /* GPIO_103 */
0395                 "GRFC_7",               /* GPIO_104 */
0396                 "UIM2_DATA",            /* GPIO_105 */
0397                 "UIM2_CLK",             /* GPIO_106 */
0398                 "UIM2_RESET",           /* GPIO_107 */
0399                 "UIM2_PRESENT",         /* GPIO_108 */
0400                 "UIM1_DATA",            /* GPIO_109 */
0401                 "UIM1_CLK",             /* GPIO_110 */
0402                 "UIM1_RESET",           /* GPIO_111 */
0403                 "UIM1_PRESENT",         /* GPIO_112 */
0404                 "UIM_BATT_ALARM",       /* GPIO_113 */
0405                 "GRFC_8",               /* GPIO_114 */
0406                 "GRFC_9",               /* GPIO_115 */
0407                 "TX_GTR_THRES",         /* GPIO_116 */
0408                 "ACC_INT",              /* GPIO_117 */
0409                 "GYRO_INT",             /* GPIO_118 */
0410                 "COMPASS_INT",          /* GPIO_119 */
0411                 "PROXIMITY_INT_N",      /* GPIO_120 */
0412                 "FP_IRQ",               /* GPIO_121 */
0413                 "TSP_TA",               /* GPIO_122 */
0414                 "HALL_INTR2",           /* GPIO_123 */
0415                 "HALL_INTR1",           /* GPIO_124 */
0416                 "TS_INT_N",             /* GPIO_125 */
0417                 "NC",                   /* GPIO_126 */
0418                 "GRFC_11",              /* GPIO_127 */
0419                 "HIFI_PWR_EN",          /* GPIO_128 */
0420                 "EXT_GPS_LNA_EN",       /* GPIO_129 */
0421                 "NC",                   /* GPIO_130 */
0422                 "NC",                   /* GPIO_131 */
0423                 "NC",                   /* GPIO_132 */
0424                 "GRFC_14",              /* GPIO_133 */
0425                 "GSM_TX2_PHASE_D",      /* GPIO_134 */
0426                 "HIFI_SW_SEL",          /* GPIO_135 */
0427                 "GRFC_15",              /* GPIO_136 */
0428                 "RFFE3_DATA",           /* GPIO_137 */
0429                 "RFFE3_CLK",            /* GPIO_138 */
0430                 "NC",                   /* GPIO_139 */
0431                 "NC",                   /* GPIO_140 */
0432                 "RFFE5_DATA",           /* GPIO_141 */
0433                 "RFFE5_CLK",            /* GPIO_142 */
0434                 "NC",                   /* GPIO_143 */
0435                 "COEX_UART_TX",         /* GPIO_144 */
0436                 "COEX_UART_RX",         /* GPIO_145 */
0437                 "RFFE2_DATA",           /* GPIO_146 */
0438                 "RFFE2_CLK",            /* GPIO_147 */
0439                 "RFFE1_DATA",           /* GPIO_148 */
0440                 "RFFE1_CLK";            /* GPIO_149 */
0441 
0442         touchkey_default: touchkey_default {
0443                 pins = "gpio77";
0444                 function = "gpio";
0445                 drive-strength = <16>;
0446                 bias-pull-up;
0447         };
0448 
0449         touchkey_sleep: touchkey_sleep {
0450                 pins = "gpio77";
0451                 function = "gpio";
0452                 drive-strength = <2>;
0453                 bias-disable;
0454         };
0455 
0456         touchscreen_default: touchscreen_default {
0457                 pins = "gpio75", "gpio125";
0458                 function = "gpio";
0459                 drive-strength = <10>;
0460                 bias-pull-up;
0461         };
0462 
0463         touchscreen_sleep: touchscreen_sleep {
0464                 pins = "gpio75", "gpio125";
0465                 function = "gpio";
0466                 drive-strength = <2>;
0467                 bias-disable;
0468         };
0469 };