1 // SPDX-License-Identifier: GPL-2.0-only << 2 /* 1 /* 3 * Copyright (c) 2014-2016, The Linux Foundati 2 * Copyright (c) 2014-2016, The Linux Foundation. All rights reserved. >> 3 * >> 4 * This program is free software; you can redistribute it and/or modify >> 5 * it under the terms of the GNU General Public License version 2 and >> 6 * only version 2 as published by the Free Software Foundation. >> 7 * >> 8 * This program is distributed in the hope that it will be useful, >> 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of >> 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >> 11 * GNU General Public License for more details. 4 */ 12 */ 5 13 6 /dts-v1/; 14 /dts-v1/; 7 15 8 #include "msm8996.dtsi" !! 16 #include "apq8096-db820c.dtsi" 9 #include "pm8994.dtsi" << 10 #include "pmi8994.dtsi" << 11 #include <dt-bindings/input/input.h> << 12 #include <dt-bindings/gpio/gpio.h> << 13 #include <dt-bindings/leds/common.h> << 14 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h << 15 #include <dt-bindings/sound/qcom,q6afe.h> << 16 #include <dt-bindings/sound/qcom,q6asm.h> << 17 #include <dt-bindings/sound/qcom,wcd9335.h> << 18 << 19 /* << 20 * GPIO name legend: proper name = the GPIO li << 21 * NC = not connected (pin out bu << 22 * anything the board) << 23 * "[PER]" = pin is muxed for [periphe << 24 * LSEC = Low Speed External Connec << 25 * P HSEC = Primary High Speed Extern << 26 * S HSEC = Secondary High Speed Exte << 27 * J14 = Camera Connector << 28 * TP = Test Points << 29 * << 30 * Line names are taken from the schematic "Dr << 31 * drawing no: LM25-P2751-1 << 32 * << 33 * For the lines routed to the external connec << 34 * lines are named after the 96Boards CE Speci << 35 * Appendix "Expansion Connector Signal Descri << 36 * << 37 * When the 96Board naming of a line and the s << 38 * the same line are in conflict, the 96Board << 39 * takes precedence, which means that the exte << 40 * LSEC is named UART0 while the schematic and << 41 * UART3. This is only for the informational l << 42 * the GPIO named lines "GPIO-A" thru "GPIO-L" << 43 * ones actually used for GPIO. << 44 */ << 45 17 46 / { 18 / { 47 model = "Qualcomm Technologies, Inc. D 19 model = "Qualcomm Technologies, Inc. DB820c"; 48 compatible = "arrow,apq8096-db820c", " 20 compatible = "arrow,apq8096-db820c", "qcom,apq8096-sbc", "qcom,apq8096"; 49 << 50 aliases { << 51 serial0 = &blsp2_uart2; << 52 serial1 = &blsp2_uart3; << 53 serial2 = &blsp1_uart2; << 54 i2c0 = &blsp1_i2c3; << 55 i2c1 = &blsp2_i2c1; << 56 i2c2 = &blsp2_i2c1; << 57 spi0 = &blsp1_spi1; << 58 spi1 = &blsp2_spi6; << 59 }; << 60 << 61 chosen { << 62 stdout-path = "serial0:115200n << 63 }; << 64 << 65 div1_mclk: divclk1 { << 66 compatible = "gpio-gate-clock" << 67 pinctrl-0 = <&audio_mclk>; << 68 pinctrl-names = "default"; << 69 clocks = <&rpmcc RPM_SMD_DIV_C << 70 #clock-cells = <0>; << 71 enable-gpios = <&pm8994_gpios << 72 }; << 73 << 74 divclk4: divclk4 { << 75 compatible = "fixed-clock"; << 76 #clock-cells = <0>; << 77 clock-frequency = <32768>; << 78 clock-output-names = "divclk4" << 79 << 80 pinctrl-names = "default"; << 81 pinctrl-0 = <&divclk4_pin_a>; << 82 }; << 83 << 84 gpio-keys { << 85 compatible = "gpio-keys"; << 86 autorepeat; << 87 << 88 pinctrl-names = "default"; << 89 pinctrl-0 = <&volume_up_gpio>; << 90 << 91 button { << 92 label = "Volume Up"; << 93 linux,code = <KEY_VOLU << 94 gpios = <&pm8994_gpios << 95 }; << 96 }; << 97 << 98 usb2_id: usb2-id { << 99 compatible = "linux,extcon-usb << 100 id-gpios = <&pmi8994_gpios 6 G << 101 pinctrl-names = "default"; << 102 pinctrl-0 = <&usb2_vbus_det_gp << 103 }; << 104 << 105 usb3_id: usb3-id { << 106 compatible = "linux,extcon-usb << 107 id-gpios = <&pm8994_gpios 22 G << 108 pinctrl-names = "default"; << 109 pinctrl-0 = <&usb3_vbus_det_gp << 110 }; << 111 << 112 vph_pwr: vph-pwr-regulator { << 113 compatible = "regulator-fixed" << 114 regulator-name = "vph_pwr"; << 115 regulator-always-on; << 116 regulator-boot-on; << 117 << 118 regulator-min-microvolt = <370 << 119 regulator-max-microvolt = <370 << 120 }; << 121 << 122 wlan_en: wlan-en-1-8v { << 123 pinctrl-names = "default"; << 124 pinctrl-0 = <&wlan_en_gpios>; << 125 compatible = "regulator-fixed" << 126 regulator-name = "wlan-en-regu << 127 regulator-min-microvolt = <180 << 128 regulator-max-microvolt = <180 << 129 << 130 gpio = <&pm8994_gpios 8 0>; << 131 << 132 /* WLAN card specific delay */ << 133 startup-delay-us = <70000>; << 134 enable-active-high; << 135 }; << 136 }; << 137 << 138 &blsp1_i2c3 { << 139 /* On Low speed expansion: LS-I2C0 */ << 140 status = "okay"; << 141 }; << 142 << 143 &blsp1_spi1 { << 144 /* On Low speed expansion */ << 145 status = "okay"; << 146 }; << 147 << 148 &blsp1_uart2 { << 149 label = "BT-UART"; << 150 status = "okay"; << 151 << 152 bluetooth { << 153 compatible = "qcom,qca6174-bt" << 154 << 155 /* bt_disable_n gpio */ << 156 enable-gpios = <&pm8994_gpios << 157 << 158 clocks = <&divclk4>; << 159 }; << 160 }; << 161 << 162 &adsp_pil { << 163 status = "okay"; << 164 firmware-name = "qcom/apq8096/adsp.mbn << 165 }; << 166 << 167 &blsp2_i2c1 { << 168 /* On High speed expansion: HS-I2C2 */ << 169 status = "okay"; << 170 }; << 171 << 172 &blsp2_i2c1 { << 173 /* On Low speed expansion: LS-I2C1 */ << 174 status = "okay"; << 175 }; << 176 << 177 &blsp2_spi6 { << 178 /* On High speed expansion */ << 179 status = "okay"; << 180 }; << 181 << 182 &blsp2_uart2 { << 183 label = "LS-UART1"; << 184 status = "okay"; << 185 pinctrl-names = "default", "sleep"; << 186 pinctrl-0 = <&blsp2_uart2_2pins_defaul << 187 pinctrl-1 = <&blsp2_uart2_2pins_sleep> << 188 }; << 189 << 190 &blsp2_uart3 { << 191 label = "LS-UART0"; << 192 status = "disabled"; << 193 pinctrl-names = "default", "sleep"; << 194 pinctrl-0 = <&blsp2_uart3_4pins_defaul << 195 pinctrl-1 = <&blsp2_uart3_4pins_sleep> << 196 }; << 197 << 198 &camss { << 199 vdda-supply = <&vreg_l2a_1p25>; << 200 }; << 201 << 202 &gpu { << 203 status = "okay"; << 204 }; << 205 << 206 &hsusb_phy1 { << 207 status = "okay"; << 208 << 209 vdd-supply = <&vreg_l28a_0p925>; << 210 vdda-pll-supply = <&vreg_l12a_1p8>; << 211 vdda-phy-dpdm-supply = <&vreg_l24a_3p0 << 212 }; << 213 << 214 &hsusb_phy2 { << 215 status = "okay"; << 216 << 217 vdd-supply = <&vreg_l28a_0p925>; << 218 vdda-pll-supply = <&vreg_l12a_1p8>; << 219 vdda-phy-dpdm-supply = <&vreg_l24a_3p0 << 220 }; << 221 << 222 &mdp { << 223 status = "okay"; << 224 }; << 225 << 226 &mdss { << 227 status = "okay"; << 228 }; << 229 << 230 &mdss_hdmi { << 231 status = "okay"; << 232 << 233 pinctrl-names = "default", "sleep"; << 234 pinctrl-0 = <&hdmi_hpd_active &hdmi_dd << 235 pinctrl-1 = <&hdmi_hpd_suspend &hdmi_d << 236 << 237 core-vdda-supply = <&vreg_l12a_1p8>; << 238 core-vcc-supply = <&vreg_s4a_1p8>; << 239 }; << 240 << 241 &mdss_hdmi_phy { << 242 status = "okay"; << 243 << 244 vddio-supply = <&vreg_l12a_1p8>; << 245 vcca-supply = <&vreg_l28a_0p925>; << 246 #phy-cells = <0>; << 247 }; << 248 << 249 &mmcc { << 250 vdd-gfx-supply = <&vdd_gfx>; << 251 }; << 252 << 253 &mss_pil { << 254 status = "okay"; << 255 pll-supply = <&vreg_l12a_1p8>; << 256 firmware-name = "qcom/apq8096/mba.mbn" << 257 }; << 258 << 259 &pm8994_resin { << 260 status = "okay"; << 261 linux,code = <KEY_VOLUMEDOWN>; << 262 }; << 263 << 264 &tlmm { << 265 gpio-line-names = << 266 "[SPI0_DOUT]", /* GPIO_0, BLSP << 267 "[SPI0_DIN]", /* GPIO_1, BLSP1 << 268 "[SPI0_CS]", /* GPIO_2, BLSP1_ << 269 "[SPI0_SCLK]", /* GPIO_3, BLSP << 270 "[UART1_TxD]", /* GPIO_4, BLSP << 271 "[UART1_RxD]", /* GPIO_5, BLSP << 272 "[I2C1_SDA]", /* GPIO_6, BLSP8 << 273 "[I2C1_SCL]", /* GPIO_7, BLSP8 << 274 "GPIO-H", /* GPIO_8, LCD0_RESE << 275 "TP93", /* GPIO_9 */ << 276 "GPIO-G", /* GPIO_10, MDP_VSYN << 277 "[MDP_VSYNC_S]", /* GPIO_11, S << 278 "NC", /* GPIO_12 */ << 279 "[CSI0_MCLK]", /* GPIO_13, CAM << 280 "[CAM_MCLK1]", /* GPIO_14, J14 << 281 "[CSI1_MCLK]", /* GPIO_15, CAM << 282 "TP99", /* GPIO_16 */ << 283 "[I2C2_SDA]", /* GPIO_17, CCI_ << 284 "[I2C2_SCL]", /* GPIO_18, CCI_ << 285 "[CCI_I2C_SDA1]", /* GPIO_19, << 286 "[CCI_I2C_SCL1]", /* GPIO_20, << 287 "FLASH_STROBE_EN", /* GPIO_21, << 288 "FLASH_STROBE_TRIG", /* GPIO_2 << 289 "GPIO-K", /* GPIO_23, CAM2_RST << 290 "GPIO-D", /* GPIO_24, LSEC pin << 291 "GPIO-I", /* GPIO_25, CAM0_RST << 292 "GPIO-J", /* GPIO_26, CAM0_STA << 293 "BLSP6_I2C_SDA", /* GPIO_27 */ << 294 "BLSP6_I2C_SCL", /* GPIO_28 */ << 295 "GPIO-B", /* GPIO_29, TS0_RESE << 296 "GPIO30", /* GPIO_30, S HSEC p << 297 "HDMI_CEC", /* GPIO_31 */ << 298 "HDMI_DDC_CLOCK", /* GPIO_32 * << 299 "HDMI_DDC_DATA", /* GPIO_33 */ << 300 "HDMI_HOT_PLUG_DETECT", /* GPI << 301 "PCIE0_RST_N", /* GPIO_35 */ << 302 "PCIE0_CLKREQ_N", /* GPIO_36 * << 303 "PCIE0_WAKE", /* GPIO_37 */ << 304 "SD_CARD_DET_N", /* GPIO_38 */ << 305 "TSIF1_SYNC", /* GPIO_39, S HS << 306 "W_DISABLE_N", /* GPIO_40 */ << 307 "[BLSP9_UART_TX]", /* GPIO_41 << 308 "[BLSP9_UART_RX]", /* GPIO_42 << 309 "[BLSP2_UART_CTS_N]", /* GPIO_ << 310 "[BLSP2_UART_RFR_N]", /* GPIO_ << 311 "[BLSP3_UART_TX]", /* GPIO_45 << 312 "[BLSP3_UART_RX]", /* GPIO_46 << 313 "[I2C0_SDA]", /* GPIO_47, LS_I << 314 "[I2C0_SCL]", /* GPIO_48, LS_I << 315 "[UART0_TxD]", /* GPIO_49, BLS << 316 "[UART0_RxD]", /* GPIO_50, BLS << 317 "[UART0_CTS]", /* GPIO_51, BLS << 318 "[UART0_RTS]", /* GPIO_52, BLS << 319 "[CODEC_INT1_N]", /* GPIO_53 * << 320 "[CODEC_INT2_N]", /* GPIO_54 * << 321 "[BLSP7_I2C_SDA]", /* GPIO_55 << 322 "[BLSP7_I2C_SCL]", /* GPIO_56 << 323 "MI2S_MCLK", /* GPIO_57, S HSE << 324 "[PCM_CLK]", /* GPIO_58, QUA_M << 325 "[PCM_FS]", /* GPIO_59, QUA_MI << 326 "[PCM_DO]", /* GPIO_60, QUA_MI << 327 "[PCM_DI]", /* GPIO_61, QUA_MI << 328 "GPIO-E", /* GPIO_62, LSEC pin << 329 "TP87", /* GPIO_63 */ << 330 "[CODEC_RST_N]", /* GPIO_64 */ << 331 "[PCM1_CLK]", /* GPIO_65 */ << 332 "[PCM1_SYNC]", /* GPIO_66 */ << 333 "[PCM1_DIN]", /* GPIO_67 */ << 334 "[PCM1_DOUT]", /* GPIO_68 */ << 335 "AUDIO_REF_CLK", /* GPIO_69 */ << 336 "SLIMBUS_CLK", /* GPIO_70 */ << 337 "SLIMBUS_DATA0", /* GPIO_71 */ << 338 "SLIMBUS_DATA1", /* GPIO_72 */ << 339 "NC", /* GPIO_73 */ << 340 "NC", /* GPIO_74 */ << 341 "NC", /* GPIO_75 */ << 342 "NC", /* GPIO_76 */ << 343 "TP94", /* GPIO_77 */ << 344 "NC", /* GPIO_78 */ << 345 "TP95", /* GPIO_79 */ << 346 "GPIO-A", /* GPIO_80, MEMS_RES << 347 "TP88", /* GPIO_81 */ << 348 "TP89", /* GPIO_82 */ << 349 "TP90", /* GPIO_83 */ << 350 "TP91", /* GPIO_84 */ << 351 "[SD_DAT0]", /* GPIO_85, BLSP1 << 352 "[SD_CMD]", /* GPIO_86, BLSP12 << 353 "[SD_DAT3]", /* GPIO_87, BLSP1 << 354 "[SD_SCLK]", /* GPIO_88, BLSP1 << 355 "TSIF1_CLK", /* GPIO_89, S HSE << 356 "TSIF1_EN", /* GPIO_90, S HSEC << 357 "TSIF1_DATA", /* GPIO_91, S HS << 358 "NC", /* GPIO_92 */ << 359 "TSIF2_CLK", /* GPIO_93, S HSE << 360 "TSIF2_EN", /* GPIO_94, S HSEC << 361 "TSIF2_DATA", /* GPIO_95, S HS << 362 "TSIF2_SYNC", /* GPIO_96, S HS << 363 "NC", /* GPIO_97 */ << 364 "CAM1_STANDBY_N", /* GPIO_98 * << 365 "NC", /* GPIO_99 */ << 366 "NC", /* GPIO_100 */ << 367 "[LCD1_RESET_N]", /* GPIO_101, << 368 "BOOT_CONFIG1", /* GPIO_102 */ << 369 "USB_HUB_RESET", /* GPIO_103 * << 370 "CAM1_RST_N", /* GPIO_104 */ << 371 "NC", /* GPIO_105 */ << 372 "NC", /* GPIO_106 */ << 373 "NC", /* GPIO_107 */ << 374 "NC", /* GPIO_108 */ << 375 "NC", /* GPIO_109 */ << 376 "NC", /* GPIO_110 */ << 377 "NC", /* GPIO_111 */ << 378 "NC", /* GPIO_112 */ << 379 "PMI8994_BUA", /* GPIO_113 */ << 380 "PCIE2_RST_N", /* GPIO_114 */ << 381 "PCIE2_CLKREQ_N", /* GPIO_115 << 382 "PCIE2_WAKE", /* GPIO_116 */ << 383 "SSC_IRQ_0", /* GPIO_117 */ << 384 "SSC_IRQ_1", /* GPIO_118 */ << 385 "SSC_IRQ_2", /* GPIO_119 */ << 386 "NC", /* GPIO_120 */ << 387 "GPIO121", /* GPIO_121, S HSEC << 388 "NC", /* GPIO_122 */ << 389 "SSC_IRQ_6", /* GPIO_123 */ << 390 "SSC_IRQ_7", /* GPIO_124 */ << 391 "GPIO-C", /* GPIO_125, TS_INT0 << 392 "BOOT_CONFIG5", /* GPIO_126 */ << 393 "NC", /* GPIO_127 */ << 394 "NC", /* GPIO_128 */ << 395 "BOOT_CONFIG7", /* GPIO_129 */ << 396 "PCIE1_RST_N", /* GPIO_130 */ << 397 "PCIE1_CLKREQ_N", /* GPIO_131 << 398 "PCIE1_WAKE", /* GPIO_132 */ << 399 "GPIO-L", /* GPIO_133, CAM2_ST << 400 "NC", /* GPIO_134 */ << 401 "NC", /* GPIO_135 */ << 402 "BOOT_CONFIG8", /* GPIO_136 */ << 403 "NC", /* GPIO_137 */ << 404 "NC", /* GPIO_138 */ << 405 "GPS_SSBI2", /* GPIO_139 */ << 406 "GPS_SSBI1", /* GPIO_140 */ << 407 "NC", /* GPIO_141 */ << 408 "NC", /* GPIO_142 */ << 409 "NC", /* GPIO_143 */ << 410 "BOOT_CONFIG6", /* GPIO_144 */ << 411 "NC", /* GPIO_145 */ << 412 "NC", /* GPIO_146 */ << 413 "NC", /* GPIO_147 */ << 414 "NC", /* GPIO_148 */ << 415 "NC"; /* GPIO_149 */ << 416 << 417 sdc2_cd_on: sdc2-cd-on-state { << 418 pins = "gpio38"; << 419 function = "gpio"; << 420 bias-pull-up; << 421 drive-strength = <16>; << 422 }; << 423 << 424 sdc2_cd_off: sdc2-cd-off-state { << 425 pins = "gpio38"; << 426 function = "gpio"; << 427 bias-pull-up; << 428 drive-strength = <2>; << 429 }; << 430 << 431 hdmi_hpd_active: hdmi-hpd-active-state << 432 pins = "gpio34"; << 433 function = "hdmi_hot"; << 434 bias-pull-down; << 435 drive-strength = <16>; << 436 }; << 437 << 438 hdmi_hpd_suspend: hdmi-hpd-suspend-sta << 439 pins = "gpio34"; << 440 function = "hdmi_hot"; << 441 bias-pull-down; << 442 drive-strength = <2>; << 443 }; << 444 << 445 hdmi_ddc_active: hdmi-ddc-active-state << 446 pins = "gpio32", "gpio33"; << 447 function = "hdmi_ddc"; << 448 drive-strength = <2>; << 449 bias-pull-up; << 450 }; << 451 << 452 hdmi_ddc_suspend: hdmi-ddc-suspend-sta << 453 pins = "gpio32", "gpio33"; << 454 function = "hdmi_ddc"; << 455 drive-strength = <2>; << 456 bias-pull-down; << 457 }; << 458 }; << 459 << 460 &pcie0 { << 461 status = "okay"; << 462 perst-gpios = <&tlmm 35 GPIO_ACTIVE_LO << 463 vddpe-3v3-supply = <&wlan_en>; << 464 vdda-supply = <&vreg_l28a_0p925>; << 465 }; << 466 << 467 &pcie1 { << 468 status = "okay"; << 469 perst-gpios = <&tlmm 130 GPIO_ACTIVE_L << 470 vdda-supply = <&vreg_l28a_0p925>; << 471 }; << 472 << 473 &pcie2 { << 474 status = "okay"; << 475 perst-gpios = <&tlmm 114 GPIO_ACTIVE_L << 476 vdda-supply = <&vreg_l28a_0p925>; << 477 }; << 478 << 479 &pcie_phy { << 480 status = "okay"; << 481 << 482 vdda-phy-supply = <&vreg_l28a_0p925>; << 483 vdda-pll-supply = <&vreg_l12a_1p8>; << 484 }; << 485 << 486 &pm8994_gpios { << 487 gpio-line-names = << 488 "NC", << 489 "KEY_VOLP_N", << 490 "NC", << 491 "BL1_PWM", << 492 "GPIO-F", /* BL0_PWM, LSEC pin << 493 "BL1_EN", << 494 "NC", << 495 "WLAN_EN", << 496 "NC", << 497 "NC", << 498 "NC", << 499 "NC", << 500 "NC", << 501 "NC", << 502 "DIVCLK1", << 503 "DIVCLK2", << 504 "DIVCLK3", << 505 "DIVCLK4", << 506 "BT_EN", << 507 "PMIC_SLB", << 508 "PMIC_BUA", << 509 "USB_VBUS_DET"; << 510 << 511 pinctrl-names = "default"; << 512 pinctrl-0 = <&ls_exp_gpio_f &bt_en_gpi << 513 << 514 ls_exp_gpio_f: pm8994-gpio5-state { << 515 pinconf { << 516 pins = "gpio5"; << 517 function = PMIC_GPIO_F << 518 output-low; << 519 power-source = <PM8994 << 520 }; << 521 }; << 522 << 523 bt_en_gpios: bt-en-pios-state { << 524 pinconf { << 525 pins = "gpio19"; << 526 function = PMIC_GPIO_F << 527 output-low; << 528 power-source = <PM8994 << 529 qcom,drive-strength = << 530 bias-pull-down; << 531 }; << 532 }; << 533 << 534 wlan_en_gpios: wlan-en-gpios-state { << 535 pinconf { << 536 pins = "gpio8"; << 537 function = PMIC_GPIO_F << 538 output-low; << 539 power-source = <PM8994 << 540 qcom,drive-strength = << 541 bias-pull-down; << 542 }; << 543 }; << 544 << 545 audio_mclk: clk-div1-state { << 546 pinconf { << 547 pins = "gpio15"; << 548 function = "func1"; << 549 power-source = <PM8994 << 550 }; << 551 }; << 552 << 553 volume_up_gpio: pm8996-gpio2-state { << 554 pinconf { << 555 pins = "gpio2"; << 556 function = "normal"; << 557 input-enable; << 558 drive-push-pull; << 559 bias-pull-up; << 560 qcom,drive-strength = << 561 power-source = <PM8994 << 562 }; << 563 }; << 564 << 565 divclk4_pin_a: divclk4-state { << 566 pinconf { << 567 pins = "gpio18"; << 568 function = PMIC_GPIO_F << 569 << 570 bias-disable; << 571 power-source = <PM8994 << 572 }; << 573 }; << 574 << 575 usb3_vbus_det_gpio: pm8996-gpio22-stat << 576 pinconf { << 577 pins = "gpio22"; << 578 function = PMIC_GPIO_F << 579 input-enable; << 580 bias-pull-down; << 581 qcom,drive-strength = << 582 power-source = <PM8994 << 583 }; << 584 }; << 585 }; << 586 << 587 &pm8994_mpps { << 588 gpio-line-names = << 589 "VDDPX_BIAS", << 590 "WIFI_LED", << 591 "NC", << 592 "BT_LED", << 593 "PM_MPP05", << 594 "PM_MPP06", << 595 "PM_MPP07", << 596 "NC"; << 597 }; << 598 << 599 &pm8994_spmi_regulators { << 600 qcom,saw-reg = <&saw3>; << 601 vdd_s11-supply = <&vph_pwr>; << 602 << 603 s9 { << 604 qcom,saw-slave; << 605 }; << 606 s10 { << 607 qcom,saw-slave; << 608 }; << 609 s11 { << 610 qcom,saw-leader; << 611 regulator-name = "VDD_APCC"; << 612 regulator-always-on; << 613 regulator-min-microvolt = <980 << 614 regulator-max-microvolt = <980 << 615 }; << 616 }; << 617 << 618 &pmi8994_gpios { << 619 gpio-line-names = << 620 "NC", << 621 "SPKR_AMP_EN1", << 622 "SPKR_AMP_EN2", << 623 "TP61", << 624 "NC", << 625 "USB2_VBUS_DET", << 626 "NC", << 627 "NC", << 628 "NC", << 629 "NC"; << 630 << 631 usb2_vbus_det_gpio: pmi8996-gpio6-stat << 632 pinconf { << 633 pins = "gpio6"; << 634 function = PMIC_GPIO_F << 635 input-enable; << 636 bias-pull-down; << 637 qcom,drive-strength = << 638 power-source = <PM8994 << 639 }; << 640 }; << 641 }; << 642 << 643 &pmi8994_lpg { << 644 qcom,power-source = <1>; << 645 << 646 pinctrl-names = "default"; << 647 pinctrl-0 = <&pmi8994_mpp2_userled4>; << 648 << 649 qcom,dtest = <0 0>, << 650 <0 0>, << 651 <0 0>, << 652 <4 1>; << 653 << 654 status = "okay"; << 655 << 656 led@1 { << 657 reg = <1>; << 658 color = <LED_COLOR_ID_GREEN>; << 659 function = LED_FUNCTION_HEARTB << 660 function-enumerator = <1>; << 661 << 662 linux,default-trigger = "heart << 663 default-state = "on"; << 664 }; << 665 << 666 led@2 { << 667 reg = <2>; << 668 color = <LED_COLOR_ID_GREEN>; << 669 function = LED_FUNCTION_HEARTB << 670 function-enumerator = <0>; << 671 }; << 672 << 673 led@3 { << 674 reg = <3>; << 675 color = <LED_COLOR_ID_GREEN>; << 676 function = LED_FUNCTION_HEARTB << 677 function-enumerator = <2>; << 678 }; << 679 << 680 led@4 { << 681 reg = <4>; << 682 color = <LED_COLOR_ID_GREEN>; << 683 function = LED_FUNCTION_HEARTB << 684 function-enumerator = <3>; << 685 }; << 686 }; << 687 << 688 &pmi8994_mpps { << 689 pmi8994_mpp2_userled4: mpp2-userled4-s << 690 pins = "mpp2"; << 691 function = "sink"; << 692 << 693 output-low; << 694 qcom,dtest = <4>; << 695 }; << 696 }; << 697 << 698 &pmi8994_spmi_regulators { << 699 vdd_s2-supply = <&vph_pwr>; << 700 << 701 vdd_gfx: s2 { << 702 regulator-name = "VDD_GFX"; << 703 regulator-min-microvolt = <980 << 704 regulator-max-microvolt = <980 << 705 }; << 706 }; << 707 << 708 &rpm_requests { << 709 regulators-0 { << 710 compatible = "qcom,rpm-pm8994- << 711 << 712 vdd_s1-supply = <&vph_pwr>; << 713 vdd_s2-supply = <&vph_pwr>; << 714 vdd_s3-supply = <&vph_pwr>; << 715 vdd_s4-supply = <&vph_pwr>; << 716 vdd_s5-supply = <&vph_pwr>; << 717 vdd_s6-supply = <&vph_pwr>; << 718 vdd_s7-supply = <&vph_pwr>; << 719 vdd_s8-supply = <&vph_pwr>; << 720 vdd_s9-supply = <&vph_pwr>; << 721 vdd_s10-supply = <&vph_pwr>; << 722 vdd_s11-supply = <&vph_pwr>; << 723 vdd_s12-supply = <&vph_pwr>; << 724 vdd_l1-supply = <&vreg_s1b_1p0 << 725 vdd_l2_l26_l28-supply = <&vreg << 726 vdd_l3_l11-supply = <&vreg_s3a << 727 vdd_l4_l27_l31-supply = <&vreg << 728 vdd_l5_l7-supply = <&vreg_s5a_ << 729 vdd_l6_l12_l32-supply = <&vreg << 730 vdd_l8_l16_l30-supply = <&vph_ << 731 vdd_l9_l10_l18_l22-supply = <& << 732 vdd_l13_l19_l23_l24-supply = < << 733 vdd_l14_l15-supply = <&vreg_s5 << 734 vdd_l17_l29-supply = <&vph_pwr << 735 vdd_l20_l21-supply = <&vph_pwr << 736 vdd_l25-supply = <&vreg_s3a_1p << 737 vdd_lvs1_2-supply = <&vreg_s4a << 738 << 739 vreg_s3a_1p3: s3 { << 740 regulator-name = "vreg << 741 regulator-min-microvol << 742 regulator-max-microvol << 743 }; << 744 << 745 /** << 746 * 1.8v required on LS expansi << 747 * for mezzanine boards << 748 */ << 749 vreg_s4a_1p8: s4 { << 750 regulator-name = "vreg << 751 regulator-min-microvol << 752 regulator-max-microvol << 753 regulator-always-on; << 754 }; << 755 vreg_s5a_2p15: s5 { << 756 regulator-name = "vreg << 757 regulator-min-microvol << 758 regulator-max-microvol << 759 }; << 760 vreg_s7a_1p0: s7 { << 761 regulator-name = "vreg << 762 regulator-min-microvol << 763 regulator-max-microvol << 764 }; << 765 << 766 vreg_l1a_1p0: l1 { << 767 regulator-name = "vreg << 768 regulator-min-microvol << 769 regulator-max-microvol << 770 }; << 771 vreg_l2a_1p25: l2 { << 772 regulator-name = "vreg << 773 regulator-min-microvol << 774 regulator-max-microvol << 775 }; << 776 vreg_l3a_0p875: l3 { << 777 regulator-name = "vreg << 778 regulator-min-microvol << 779 regulator-max-microvol << 780 }; << 781 vreg_l4a_1p225: l4 { << 782 regulator-name = "vreg << 783 regulator-min-microvol << 784 regulator-max-microvol << 785 }; << 786 vreg_l6a_1p2: l6 { << 787 regulator-name = "vreg << 788 regulator-min-microvol << 789 regulator-max-microvol << 790 }; << 791 vreg_l8a_1p8: l8 { << 792 regulator-name = "vreg << 793 regulator-min-microvol << 794 regulator-max-microvol << 795 }; << 796 vreg_l9a_1p8: l9 { << 797 regulator-name = "vreg << 798 regulator-min-microvol << 799 regulator-max-microvol << 800 }; << 801 vreg_l10a_1p8: l10 { << 802 regulator-name = "vreg << 803 regulator-min-microvol << 804 regulator-max-microvol << 805 }; << 806 vreg_l11a_1p15: l11 { << 807 regulator-name = "vreg << 808 regulator-min-microvol << 809 regulator-max-microvol << 810 }; << 811 vreg_l12a_1p8: l12 { << 812 regulator-name = "vreg << 813 regulator-min-microvol << 814 regulator-max-microvol << 815 }; << 816 vreg_l13a_2p95: l13 { << 817 regulator-name = "vreg << 818 regulator-min-microvol << 819 regulator-max-microvol << 820 }; << 821 vreg_l14a_1p8: l14 { << 822 regulator-name = "vreg << 823 regulator-min-microvol << 824 regulator-max-microvol << 825 }; << 826 vreg_l15a_1p8: l15 { << 827 regulator-name = "vreg << 828 regulator-min-microvol << 829 regulator-max-microvol << 830 }; << 831 vreg_l16a_2p7: l16 { << 832 regulator-name = "vreg << 833 regulator-min-microvol << 834 regulator-max-microvol << 835 }; << 836 vreg_l17a_2p8: l17 { << 837 regulator-name = "vreg << 838 regulator-min-microvol << 839 regulator-max-microvol << 840 }; << 841 vreg_l18a_2p85: l18 { << 842 regulator-name = "vreg << 843 regulator-min-microvol << 844 regulator-max-microvol << 845 }; << 846 vreg_l19a_2p8: l19 { << 847 regulator-name = "vreg << 848 regulator-min-microvol << 849 regulator-max-microvol << 850 }; << 851 vreg_l20a_2p95: l20 { << 852 regulator-name = "vreg << 853 regulator-min-microvol << 854 regulator-max-microvol << 855 regulator-allow-set-lo << 856 }; << 857 vreg_l21a_2p95: l21 { << 858 regulator-name = "vreg << 859 regulator-min-microvol << 860 regulator-max-microvol << 861 regulator-allow-set-lo << 862 regulator-system-load << 863 }; << 864 vreg_l22a_3p0: l22 { << 865 regulator-name = "vreg << 866 regulator-min-microvol << 867 regulator-max-microvol << 868 }; << 869 vreg_l23a_2p8: l23 { << 870 regulator-name = "vreg << 871 regulator-min-microvol << 872 regulator-max-microvol << 873 }; << 874 vreg_l24a_3p075: l24 { << 875 regulator-name = "vreg << 876 regulator-min-microvol << 877 regulator-max-microvol << 878 }; << 879 vreg_l25a_1p2: l25 { << 880 regulator-name = "vreg << 881 regulator-min-microvol << 882 regulator-max-microvol << 883 regulator-allow-set-lo << 884 }; << 885 vreg_l26a_0p8: l27 { << 886 regulator-name = "vreg << 887 regulator-min-microvol << 888 regulator-max-microvol << 889 }; << 890 vreg_l28a_0p925: l28 { << 891 regulator-name = "vreg << 892 regulator-min-microvol << 893 regulator-max-microvol << 894 regulator-allow-set-lo << 895 }; << 896 vreg_l29a_2p8: l29 { << 897 regulator-name = "vreg << 898 regulator-min-microvol << 899 regulator-max-microvol << 900 }; << 901 vreg_l30a_1p8: l30 { << 902 regulator-name = "vreg << 903 regulator-min-microvol << 904 regulator-max-microvol << 905 }; << 906 vreg_l32a_1p8: l32 { << 907 regulator-name = "vreg << 908 regulator-min-microvol << 909 regulator-max-microvol << 910 }; << 911 << 912 vreg_lvs1a_1p8: lvs1 { << 913 regulator-name = "vreg << 914 }; << 915 << 916 vreg_lvs2a_1p8: lvs2 { << 917 regulator-name = "vreg << 918 }; << 919 }; << 920 << 921 regulators-1 { << 922 compatible = "qcom,rpm-pmi8994 << 923 << 924 vdd_s1-supply = <&vph_pwr>; << 925 vdd_s2-supply = <&vph_pwr>; << 926 vdd_s3-supply = <&vph_pwr>; << 927 vdd_bst_byp-supply = <&vph_pwr << 928 << 929 vph_pwr_bbyp: boost-bypass { << 930 regulator-name = "vph_ << 931 regulator-min-microvol << 932 regulator-max-microvol << 933 }; << 934 << 935 vreg_s1b_1p025: s1 { << 936 regulator-name = "vreg << 937 regulator-min-microvol << 938 regulator-max-microvol << 939 }; << 940 }; << 941 }; << 942 << 943 &sdhc2 { << 944 /* External SD card */ << 945 pinctrl-names = "default", "sleep"; << 946 pinctrl-0 = <&sdc2_state_on &sdc2_cd_o << 947 pinctrl-1 = <&sdc2_state_off &sdc2_cd_ << 948 cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; << 949 vmmc-supply = <&vreg_l21a_2p95>; << 950 vqmmc-supply = <&vreg_l13a_2p95>; << 951 status = "okay"; << 952 }; << 953 << 954 &q6asmdai { << 955 dai@0 { << 956 reg = <0>; << 957 }; << 958 << 959 dai@1 { << 960 reg = <1>; << 961 }; << 962 << 963 dai@2 { << 964 reg = <2>; << 965 }; << 966 }; << 967 << 968 &slim_msm { << 969 status = "okay"; << 970 << 971 slim@1 { << 972 reg = <1>; << 973 #address-cells = <2>; << 974 #size-cells = <0>; << 975 << 976 tasha_ifd: tas-ifd@0,0 { << 977 compatible = "slim217, << 978 reg = <0 0>; << 979 }; << 980 << 981 wcd9335: codec@1,0 { << 982 compatible = "slim217, << 983 reg = <1 0>; << 984 << 985 clock-names = "mclk", << 986 clocks = <&div1_mclk>, << 987 <&rpmcc RPM_S << 988 interrupt-parent = <&t << 989 interrupts = <54 IRQ_T << 990 <53 IRQ_T << 991 interrupt-names = "int << 992 interrupt-controller; << 993 #interrupt-cells = <1> << 994 << 995 pinctrl-0 = <&cdc_rese << 996 pinctrl-names = "defau << 997 << 998 reset-gpios = <&tlmm 6 << 999 slim-ifc-dev = <&tasha << 1000 << 1001 #sound-dai-cells = <1 << 1002 << 1003 vdd-buck-supply = <&v << 1004 vdd-buck-sido-supply << 1005 vdd-tx-supply = <&vre << 1006 vdd-rx-supply = <&vre << 1007 vdd-io-supply = <&vre << 1008 }; << 1009 }; << 1010 }; << 1011 << 1012 &sound { << 1013 compatible = "qcom,apq8096-sndcard"; << 1014 model = "DB820c"; << 1015 audio-routing = "RX_BIAS", "MCLK", << 1016 "MM_DL1", "MultiMedia1 Playb << 1017 "MM_DL2", "MultiMedia2 Playb << 1018 "MultiMedia3 Capture", "MM_UL << 1019 << 1020 mm1-dai-link { << 1021 link-name = "MultiMedia1"; << 1022 cpu { << 1023 sound-dai = <&q6asmda << 1024 }; << 1025 }; << 1026 << 1027 mm2-dai-link { << 1028 link-name = "MultiMedia2"; << 1029 cpu { << 1030 sound-dai = <&q6asmda << 1031 }; << 1032 }; << 1033 << 1034 mm3-dai-link { << 1035 link-name = "MultiMedia3"; << 1036 cpu { << 1037 sound-dai = <&q6asmda << 1038 }; << 1039 }; << 1040 << 1041 hdmi-dai-link { << 1042 link-name = "HDMI"; << 1043 cpu { << 1044 sound-dai = <&q6afeda << 1045 }; << 1046 << 1047 platform { << 1048 sound-dai = <&q6routi << 1049 }; << 1050 << 1051 codec { << 1052 sound-dai = <&mdss_hd << 1053 }; << 1054 }; << 1055 << 1056 slim-dai-link { << 1057 link-name = "SLIM Playback"; << 1058 cpu { << 1059 sound-dai = <&q6afeda << 1060 }; << 1061 << 1062 platform { << 1063 sound-dai = <&q6routi << 1064 }; << 1065 << 1066 codec { << 1067 sound-dai = <&wcd9335 << 1068 }; << 1069 }; << 1070 << 1071 slimcap-dai-link { << 1072 link-name = "SLIM Capture"; << 1073 cpu { << 1074 sound-dai = <&q6afeda << 1075 }; << 1076 << 1077 platform { << 1078 sound-dai = <&q6routi << 1079 }; << 1080 << 1081 codec { << 1082 sound-dai = <&wcd9335 << 1083 }; << 1084 }; << 1085 }; << 1086 << 1087 &ufsphy { << 1088 status = "okay"; << 1089 << 1090 vdda-phy-supply = <&vreg_l28a_0p925>; << 1091 vdda-pll-supply = <&vreg_l12a_1p8>; << 1092 }; << 1093 << 1094 &ufshc { << 1095 status = "okay"; << 1096 << 1097 vcc-supply = <&vreg_l20a_2p95>; << 1098 vccq-supply = <&vreg_l25a_1p2>; << 1099 vccq2-supply = <&vreg_s4a_1p8>; << 1100 vdd-hba-supply = <&vreg_l25a_1p2>; << 1101 << 1102 vcc-max-microamp = <600000>; << 1103 vccq-max-microamp = <450000>; << 1104 vccq2-max-microamp = <450000>; << 1105 }; << 1106 << 1107 &usb2 { << 1108 status = "okay"; << 1109 extcon = <&usb2_id>; << 1110 }; << 1111 << 1112 &usb2_dwc3 { << 1113 extcon = <&usb2_id>; << 1114 dr_mode = "otg"; << 1115 maximum-speed = "high-speed"; << 1116 }; << 1117 << 1118 &usb3 { << 1119 status = "okay"; << 1120 extcon = <&usb3_id>; << 1121 }; << 1122 << 1123 &usb3_dwc3 { << 1124 extcon = <&usb3_id>; << 1125 dr_mode = "otg"; << 1126 }; << 1127 << 1128 &usb3phy { << 1129 status = "okay"; << 1130 << 1131 vdda-phy-supply = <&vreg_l28a_0p925>; << 1132 vdda-pll-supply = <&vreg_l12a_1p8>; << 1133 }; << 1134 << 1135 &venus { << 1136 status = "okay"; << 1137 }; 21 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.