The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/src/arm64/qcom/msm8996-xiaomi-scorpio.dts

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

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

Cache object: 6d2289ce17c60cca18e40fa5d1672bf2


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.