1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Copyright (c) 2015, The Linux Foundation. All rights reserved. 4 */ 5 6#include "msm8916-pm8916.dtsi" 7#include <dt-bindings/gpio/gpio.h> 8#include <dt-bindings/input/input.h> 9#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 10#include <dt-bindings/pinctrl/qcom,pmic-mpp.h> 11#include <dt-bindings/sound/apq8016-lpass.h> 12 13/ { 14 aliases { 15 serial0 = &blsp1_uart2; 16 serial1 = &blsp1_uart1; 17 usid0 = &pm8916_0; 18 i2c0 = &blsp_i2c2; 19 i2c1 = &blsp_i2c6; 20 i2c3 = &blsp_i2c4; 21 spi0 = &blsp_spi5; 22 spi1 = &blsp_spi3; 23 }; 24 25 chosen { 26 stdout-path = "serial0"; 27 }; 28 29 camera_vdddo_1v8: camera-vdddo-1v8 { 30 compatible = "regulator-fixed"; 31 regulator-name = "camera_vdddo"; 32 regulator-min-microvolt = <1800000>; 33 regulator-max-microvolt = <1800000>; 34 regulator-always-on; 35 }; 36 37 camera_vdda_2v8: camera-vdda-2v8 { 38 compatible = "regulator-fixed"; 39 regulator-name = "camera_vdda"; 40 regulator-min-microvolt = <2800000>; 41 regulator-max-microvolt = <2800000>; 42 regulator-always-on; 43 }; 44 45 camera_vddd_1v5: camera-vddd-1v5 { 46 compatible = "regulator-fixed"; 47 regulator-name = "camera_vddd"; 48 regulator-min-microvolt = <1500000>; 49 regulator-max-microvolt = <1500000>; 50 regulator-always-on; 51 }; 52 53 reserved-memory { 54 ramoops@bff00000 { 55 compatible = "ramoops"; 56 reg = <0x0 0xbff00000 0x0 0x100000>; 57 58 record-size = <0x20000>; 59 console-size = <0x20000>; 60 ftrace-size = <0x20000>; 61 }; 62 }; 63 64 usb2513 { 65 compatible = "smsc,usb3503"; 66 reset-gpios = <&pm8916_gpios 3 GPIO_ACTIVE_LOW>; 67 initial-mode = <1>; 68 }; 69 70 usb_id: usb-id { 71 compatible = "linux,extcon-usb-gpio"; 72 id-gpio = <&msmgpio 121 GPIO_ACTIVE_HIGH>; 73 pinctrl-names = "default"; 74 pinctrl-0 = <&usb_id_default>; 75 }; 76 77 hdmi-out { 78 compatible = "hdmi-connector"; 79 type = "a"; 80 81 port { 82 hdmi_con: endpoint { 83 remote-endpoint = <&adv7533_out>; 84 }; 85 }; 86 }; 87 88 gpio-keys { 89 compatible = "gpio-keys"; 90 #address-cells = <1>; 91 #size-cells = <0>; 92 autorepeat; 93 94 pinctrl-names = "default"; 95 pinctrl-0 = <&msm_key_volp_n_default>; 96 97 button@0 { 98 label = "Volume Up"; 99 linux,code = <KEY_VOLUMEUP>; 100 gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>; 101 }; 102 }; 103 104 leds { 105 pinctrl-names = "default"; 106 pinctrl-0 = <&msmgpio_leds>, 107 <&pm8916_gpios_leds>, 108 <&pm8916_mpps_leds>; 109 110 compatible = "gpio-leds"; 111 112 led@1 { 113 label = "apq8016-sbc:green:user1"; 114 gpios = <&msmgpio 21 GPIO_ACTIVE_HIGH>; 115 linux,default-trigger = "heartbeat"; 116 default-state = "off"; 117 }; 118 119 led@2 { 120 label = "apq8016-sbc:green:user2"; 121 gpios = <&msmgpio 120 GPIO_ACTIVE_HIGH>; 122 linux,default-trigger = "mmc0"; 123 default-state = "off"; 124 }; 125 126 led@3 { 127 label = "apq8016-sbc:green:user3"; 128 gpios = <&pm8916_gpios 1 GPIO_ACTIVE_HIGH>; 129 linux,default-trigger = "mmc1"; 130 default-state = "off"; 131 }; 132 133 led@4 { 134 label = "apq8016-sbc:green:user4"; 135 gpios = <&pm8916_gpios 2 GPIO_ACTIVE_HIGH>; 136 linux,default-trigger = "none"; 137 panic-indicator; 138 default-state = "off"; 139 }; 140 141 led@5 { 142 label = "apq8016-sbc:yellow:wlan"; 143 gpios = <&pm8916_mpps 2 GPIO_ACTIVE_HIGH>; 144 linux,default-trigger = "phy0tx"; 145 default-state = "off"; 146 }; 147 148 led@6 { 149 label = "apq8016-sbc:blue:bt"; 150 gpios = <&pm8916_mpps 3 GPIO_ACTIVE_HIGH>; 151 linux,default-trigger = "bluetooth-power"; 152 default-state = "off"; 153 }; 154 }; 155}; 156 157&blsp_dma { 158 status = "okay"; 159}; 160 161&blsp_i2c2 { 162 /* On Low speed expansion */ 163 status = "okay"; 164 label = "LS-I2C0"; 165}; 166 167&blsp_i2c4 { 168 /* On High speed expansion */ 169 status = "okay"; 170 label = "HS-I2C2"; 171 172 adv_bridge: bridge@39 { 173 status = "okay"; 174 175 compatible = "adi,adv7533"; 176 reg = <0x39>; 177 178 interrupt-parent = <&msmgpio>; 179 interrupts = <31 IRQ_TYPE_EDGE_FALLING>; 180 181 adi,dsi-lanes = <4>; 182 clocks = <&rpmcc RPM_SMD_BB_CLK2>; 183 clock-names = "cec"; 184 185 pd-gpios = <&msmgpio 32 GPIO_ACTIVE_HIGH>; 186 187 avdd-supply = <&pm8916_l6>; 188 v1p2-supply = <&pm8916_l6>; 189 v3p3-supply = <&pm8916_l17>; 190 191 pinctrl-names = "default","sleep"; 192 pinctrl-0 = <&adv7533_int_active &adv7533_switch_active>; 193 pinctrl-1 = <&adv7533_int_suspend &adv7533_switch_suspend>; 194 #sound-dai-cells = <1>; 195 196 ports { 197 #address-cells = <1>; 198 #size-cells = <0>; 199 200 port@0 { 201 reg = <0>; 202 adv7533_in: endpoint { 203 remote-endpoint = <&dsi0_out>; 204 }; 205 }; 206 207 port@1 { 208 reg = <1>; 209 adv7533_out: endpoint { 210 remote-endpoint = <&hdmi_con>; 211 }; 212 }; 213 }; 214 }; 215}; 216 217&blsp_i2c6 { 218 /* On Low speed expansion */ 219 status = "okay"; 220 label = "LS-I2C1"; 221}; 222 223&blsp_spi3 { 224 /* On High speed expansion */ 225 status = "okay"; 226 label = "HS-SPI1"; 227}; 228 229&blsp_spi5 { 230 /* On Low speed expansion */ 231 status = "okay"; 232 label = "LS-SPI0"; 233}; 234 235&blsp1_uart1 { 236 status = "okay"; 237 label = "LS-UART0"; 238}; 239 240&blsp1_uart2 { 241 status = "okay"; 242 label = "LS-UART1"; 243}; 244 245&camss { 246 status = "okay"; 247 ports { 248 port@0 { 249 reg = <0>; 250 csiphy0_ep: endpoint { 251 clock-lanes = <1>; 252 data-lanes = <0 2>; 253 remote-endpoint = <&ov5640_ep>; 254 status = "okay"; 255 }; 256 }; 257 }; 258}; 259 260&cci { 261 status = "okay"; 262}; 263 264&cci_i2c0 { 265 camera_rear@3b { 266 compatible = "ovti,ov5640"; 267 reg = <0x3b>; 268 269 enable-gpios = <&msmgpio 34 GPIO_ACTIVE_HIGH>; 270 reset-gpios = <&msmgpio 35 GPIO_ACTIVE_LOW>; 271 pinctrl-names = "default"; 272 pinctrl-0 = <&camera_rear_default>; 273 274 clocks = <&gcc GCC_CAMSS_MCLK0_CLK>; 275 clock-names = "xclk"; 276 clock-frequency = <23880000>; 277 278 vdddo-supply = <&camera_vdddo_1v8>; 279 vdda-supply = <&camera_vdda_2v8>; 280 vddd-supply = <&camera_vddd_1v5>; 281 282 /* No camera mezzanine by default */ 283 status = "disabled"; 284 285 port { 286 ov5640_ep: endpoint { 287 clock-lanes = <1>; 288 data-lanes = <0 2>; 289 remote-endpoint = <&csiphy0_ep>; 290 }; 291 }; 292 }; 293}; 294 295&dsi0_out { 296 data-lanes = <0 1 2 3>; 297 remote-endpoint = <&adv7533_in>; 298}; 299 300&lpass { 301 status = "okay"; 302}; 303 304&mdss { 305 status = "okay"; 306}; 307 308&pm8916_resin { 309 status = "okay"; 310 linux,code = <KEY_VOLUMEDOWN>; 311}; 312 313&pronto { 314 status = "okay"; 315}; 316 317&sdhc_1 { 318 status = "okay"; 319 320 pinctrl-names = "default", "sleep"; 321 pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>; 322 pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>; 323}; 324 325&sdhc_2 { 326 status = "okay"; 327 328 pinctrl-names = "default", "sleep"; 329 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>; 330 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>; 331 332 cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>; 333}; 334 335&sound { 336 status = "okay"; 337 338 pinctrl-0 = <&cdc_pdm_lines_act &ext_sec_tlmm_lines_act &ext_mclk_tlmm_lines_act>; 339 pinctrl-1 = <&cdc_pdm_lines_sus &ext_sec_tlmm_lines_sus &ext_mclk_tlmm_lines_sus>; 340 pinctrl-names = "default", "sleep"; 341 qcom,model = "DB410c"; 342 qcom,audio-routing = 343 "AMIC2", "MIC BIAS Internal2", 344 "AMIC3", "MIC BIAS External1"; 345 346 external-dai-link@0 { 347 link-name = "ADV7533"; 348 cpu { 349 sound-dai = <&lpass MI2S_QUATERNARY>; 350 }; 351 codec { 352 sound-dai = <&adv_bridge 0>; 353 }; 354 }; 355 356 internal-codec-playback-dai-link@0 { 357 link-name = "WCD"; 358 cpu { 359 sound-dai = <&lpass MI2S_PRIMARY>; 360 }; 361 codec { 362 sound-dai = <&lpass_codec 0>, <&wcd_codec 0>; 363 }; 364 }; 365 366 internal-codec-capture-dai-link@0 { 367 link-name = "WCD-Capture"; 368 cpu { 369 sound-dai = <&lpass MI2S_TERTIARY>; 370 }; 371 codec { 372 sound-dai = <&lpass_codec 1>, <&wcd_codec 1>; 373 }; 374 }; 375}; 376 377&usb { 378 status = "okay"; 379 extcon = <&usb_id>, <&usb_id>; 380 381 pinctrl-names = "default", "device"; 382 pinctrl-0 = <&usb_sw_sel_pm &usb_hub_reset_pm>; 383 pinctrl-1 = <&usb_sw_sel_pm_device &usb_hub_reset_pm_device>; 384}; 385 386&usb_hs_phy { 387 extcon = <&usb_id>; 388}; 389 390&wcd_codec { 391 clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>; 392 clock-names = "mclk"; 393 qcom,mbhc-vthreshold-low = <75 150 237 450 500>; 394 qcom,mbhc-vthreshold-high = <75 150 237 450 500>; 395}; 396 397/* Enable CoreSight */ 398&cti0 { status = "okay"; }; 399&cti1 { status = "okay"; }; 400&cti12 { status = "okay"; }; 401&cti13 { status = "okay"; }; 402&cti14 { status = "okay"; }; 403&cti15 { status = "okay"; }; 404&debug0 { status = "okay"; }; 405&debug1 { status = "okay"; }; 406&debug2 { status = "okay"; }; 407&debug3 { status = "okay"; }; 408&etf { status = "okay"; }; 409&etm0 { status = "okay"; }; 410&etm1 { status = "okay"; }; 411&etm2 { status = "okay"; }; 412&etm3 { status = "okay"; }; 413&etr { status = "okay"; }; 414&funnel0 { status = "okay"; }; 415&funnel1 { status = "okay"; }; 416&replicator { status = "okay"; }; 417&stm { status = "okay"; }; 418&tpiu { status = "okay"; }; 419 420&smd_rpm_regulators { 421 vdd_l1_l2_l3-supply = <&pm8916_s3>; 422 vdd_l4_l5_l6-supply = <&pm8916_s4>; 423 vdd_l7-supply = <&pm8916_s4>; 424 425 s3 { 426 regulator-min-microvolt = <375000>; 427 regulator-max-microvolt = <1562000>; 428 }; 429 430 s4 { 431 regulator-min-microvolt = <1800000>; 432 regulator-max-microvolt = <1800000>; 433 434 regulator-always-on; 435 regulator-boot-on; 436 }; 437 438 l1 { 439 regulator-min-microvolt = <375000>; 440 regulator-max-microvolt = <1525000>; 441 }; 442 443 l2 { 444 regulator-min-microvolt = <1200000>; 445 regulator-max-microvolt = <1200000>; 446 }; 447 448 l4 { 449 regulator-min-microvolt = <1750000>; 450 regulator-max-microvolt = <3337000>; 451 }; 452 453 l5 { 454 regulator-min-microvolt = <1750000>; 455 regulator-max-microvolt = <3337000>; 456 }; 457 458 l6 { 459 regulator-min-microvolt = <1800000>; 460 regulator-max-microvolt = <1800000>; 461 }; 462 463 l7 { 464 regulator-min-microvolt = <1750000>; 465 regulator-max-microvolt = <3337000>; 466 }; 467 468 l8 { 469 regulator-min-microvolt = <1750000>; 470 regulator-max-microvolt = <3337000>; 471 }; 472 473 l9 { 474 regulator-min-microvolt = <1750000>; 475 regulator-max-microvolt = <3337000>; 476 }; 477 478 l10 { 479 regulator-min-microvolt = <1750000>; 480 regulator-max-microvolt = <3337000>; 481 }; 482 483 l11 { 484 regulator-min-microvolt = <1750000>; 485 regulator-max-microvolt = <3337000>; 486 regulator-allow-set-load; 487 regulator-system-load = <200000>; 488 }; 489 490 l12 { 491 regulator-min-microvolt = <1750000>; 492 regulator-max-microvolt = <3337000>; 493 }; 494 495 l13 { 496 regulator-min-microvolt = <1750000>; 497 regulator-max-microvolt = <3337000>; 498 }; 499 500 l14 { 501 regulator-min-microvolt = <1750000>; 502 regulator-max-microvolt = <3337000>; 503 }; 504 505 /** 506 * 1.8v required on LS expansion 507 * for mezzanine boards 508 */ 509 l15 { 510 regulator-min-microvolt = <1750000>; 511 regulator-max-microvolt = <3337000>; 512 regulator-always-on; 513 }; 514 515 l16 { 516 regulator-min-microvolt = <1750000>; 517 regulator-max-microvolt = <3337000>; 518 }; 519 520 l17 { 521 regulator-min-microvolt = <3300000>; 522 regulator-max-microvolt = <3300000>; 523 }; 524 525 l18 { 526 regulator-min-microvolt = <1750000>; 527 regulator-max-microvolt = <3337000>; 528 }; 529}; 530 531/* 532 * 2mA drive strength is not enough when connecting multiple 533 * I2C devices with different pull up resistors. 534 */ 535&i2c2_default { 536 drive-strength = <16>; 537}; 538 539&i2c4_default { 540 drive-strength = <16>; 541}; 542 543&i2c6_default { 544 drive-strength = <16>; 545}; 546 547/* 548 * GPIO name legend: proper name = the GPIO line is used as GPIO 549 * NC = not connected (pin out but not routed from the chip to 550 * anything the board) 551 * "[PER]" = pin is muxed for [peripheral] (not GPIO) 552 * LSEC = Low Speed External Connector 553 * HSEC = High Speed External Connector 554 * 555 * Line names are taken from the schematic "DragonBoard410c" 556 * dated monday, august 31, 2015. Page 5 in particular. 557 * 558 * For the lines routed to the external connectors the 559 * lines are named after the 96Boards CE Specification 1.0, 560 * Appendix "Expansion Connector Signal Description". 561 * 562 * When the 96Board naming of a line and the schematic name of 563 * the same line are in conflict, the 96Board specification 564 * takes precedence, which means that the external UART on the 565 * LSEC is named UART0 while the schematic and SoC names this 566 * UART3. This is only for the informational lines i.e. "[FOO]", 567 * the GPIO named lines "GPIO-A" thru "GPIO-L" are the only 568 * ones actually used for GPIO. 569 */ 570 571&msmgpio { 572 gpio-line-names = 573 "[UART0_TX]", /* GPIO_0, LSEC pin 5 */ 574 "[UART0_RX]", /* GPIO_1, LSEC pin 7 */ 575 "[UART0_CTS_N]", /* GPIO_2, LSEC pin 3 */ 576 "[UART0_RTS_N]", /* GPIO_3, LSEC pin 9 */ 577 "[UART1_TX]", /* GPIO_4, LSEC pin 11 */ 578 "[UART1_RX]", /* GPIO_5, LSEC pin 13 */ 579 "[I2C0_SDA]", /* GPIO_8, LSEC pin 17 */ 580 "[I2C0_SCL]", /* GPIO_7, LSEC pin 15 */ 581 "[SPI1_DOUT]", /* SPI1_MOSI, HSEC pin 1 */ 582 "[SPI1_DIN]", /* SPI1_MISO, HSEC pin 11 */ 583 "[SPI1_CS]", /* SPI1_CS_N, HSEC pin 7 */ 584 "[SPI1_SCLK]", /* SPI1_CLK, HSEC pin 9 */ 585 "GPIO-B", /* LS_EXP_GPIO_B, LSEC pin 24 */ 586 "GPIO-C", /* LS_EXP_GPIO_C, LSEC pin 25 */ 587 "[I2C3_SDA]", /* HSEC pin 38 */ 588 "[I2C3_SCL]", /* HSEC pin 36 */ 589 "[SPI0_MOSI]", /* LSEC pin 14 */ 590 "[SPI0_MISO]", /* LSEC pin 10 */ 591 "[SPI0_CS_N]", /* LSEC pin 12 */ 592 "[SPI0_CLK]", /* LSEC pin 8 */ 593 "HDMI_HPD_N", /* GPIO 20 */ 594 "USR_LED_1_CTRL", 595 "[I2C1_SDA]", /* GPIO_22, LSEC pin 21 */ 596 "[I2C1_SCL]", /* GPIO_23, LSEC pin 19 */ 597 "GPIO-G", /* LS_EXP_GPIO_G, LSEC pin 29 */ 598 "GPIO-H", /* LS_EXP_GPIO_H, LSEC pin 30 */ 599 "[CSI0_MCLK]", /* HSEC pin 15 */ 600 "[CSI1_MCLK]", /* HSEC pin 17 */ 601 "GPIO-K", /* LS_EXP_GPIO_K, LSEC pin 33 */ 602 "[I2C2_SDA]", /* HSEC pin 34 */ 603 "[I2C2_SCL]", /* HSEC pin 32 */ 604 "DSI2HDMI_INT_N", 605 "DSI_SW_SEL_APQ", 606 "GPIO-L", /* LS_EXP_GPIO_L, LSEC pin 34 */ 607 "GPIO-J", /* LS_EXP_GPIO_J, LSEC pin 32 */ 608 "GPIO-I", /* LS_EXP_GPIO_I, LSEC pin 31 */ 609 "GPIO-A", /* LS_EXP_GPIO_A, LSEC pin 23 */ 610 "FORCED_USB_BOOT", 611 "SD_CARD_DET_N", 612 "[WCSS_BT_SSBI]", 613 "[WCSS_WLAN_DATA_2]", /* GPIO 40 */ 614 "[WCSS_WLAN_DATA_1]", 615 "[WCSS_WLAN_DATA_0]", 616 "[WCSS_WLAN_SET]", 617 "[WCSS_WLAN_CLK]", 618 "[WCSS_FM_SSBI]", 619 "[WCSS_FM_SDI]", 620 "[WCSS_BT_DAT_CTL]", 621 "[WCSS_BT_DAT_STB]", 622 "NC", 623 "NC", /* GPIO 50 */ 624 "NC", 625 "NC", 626 "NC", 627 "NC", 628 "NC", 629 "NC", 630 "NC", 631 "NC", 632 "NC", 633 "NC", /* GPIO 60 */ 634 "NC", 635 "NC", 636 "[CDC_PDM0_CLK]", 637 "[CDC_PDM0_SYNC]", 638 "[CDC_PDM0_TX0]", 639 "[CDC_PDM0_RX0]", 640 "[CDC_PDM0_RX1]", 641 "[CDC_PDM0_RX2]", 642 "GPIO-D", /* LS_EXP_GPIO_D, LSEC pin 26 */ 643 "NC", /* GPIO 70 */ 644 "NC", 645 "NC", 646 "NC", 647 "NC", /* GPIO 74 */ 648 "NC", 649 "NC", 650 "NC", 651 "NC", 652 "NC", 653 "BOOT_CONFIG_0", /* GPIO 80 */ 654 "BOOT_CONFIG_1", 655 "BOOT_CONFIG_2", 656 "BOOT_CONFIG_3", 657 "NC", 658 "NC", 659 "BOOT_CONFIG_5", 660 "NC", 661 "NC", 662 "NC", 663 "NC", /* GPIO 90 */ 664 "NC", 665 "NC", 666 "NC", 667 "NC", 668 "NC", 669 "NC", 670 "NC", 671 "NC", 672 "NC", 673 "NC", /* GPIO 100 */ 674 "NC", 675 "NC", 676 "NC", 677 "SSBI_GPS", 678 "NC", 679 "NC", 680 "KEY_VOLP_N", 681 "NC", 682 "NC", 683 "[LS_EXP_MI2S_WS]", /* GPIO 110 */ 684 "NC", 685 "NC", 686 "[LS_EXP_MI2S_SCK]", 687 "[LS_EXP_MI2S_DATA0]", 688 "GPIO-E", /* LS_EXP_GPIO_E, LSEC pin 27 */ 689 "NC", 690 "[DSI2HDMI_MI2S_WS]", 691 "[DSI2HDMI_MI2S_SCK]", 692 "[DSI2HDMI_MI2S_DATA0]", 693 "USR_LED_2_CTRL", /* GPIO 120 */ 694 "SB_HS_ID"; 695 696 msmgpio_leds: msmgpio-leds { 697 pins = "gpio21", "gpio120"; 698 function = "gpio"; 699 700 output-low; 701 }; 702 703 usb_id_default: usb-id-default { 704 pins = "gpio121"; 705 function = "gpio"; 706 707 drive-strength = <8>; 708 input-enable; 709 bias-pull-up; 710 }; 711 712 adv7533_int_active: adv533-int-active { 713 pins = "gpio31"; 714 function = "gpio"; 715 716 drive-strength = <16>; 717 bias-disable; 718 }; 719 720 adv7533_int_suspend: adv7533-int-suspend { 721 pins = "gpio31"; 722 function = "gpio"; 723 724 drive-strength = <2>; 725 bias-disable; 726 }; 727 728 adv7533_switch_active: adv7533-switch-active { 729 pins = "gpio32"; 730 function = "gpio"; 731 732 drive-strength = <16>; 733 bias-disable; 734 }; 735 736 adv7533_switch_suspend: adv7533-switch-suspend { 737 pins = "gpio32"; 738 function = "gpio"; 739 740 drive-strength = <2>; 741 bias-disable; 742 }; 743 744 msm_key_volp_n_default: msm-key-volp-n-default { 745 pins = "gpio107"; 746 function = "gpio"; 747 748 drive-strength = <8>; 749 input-enable; 750 bias-pull-up; 751 }; 752}; 753 754&pm8916_gpios { 755 gpio-line-names = 756 "USR_LED_3_CTRL", 757 "USR_LED_4_CTRL", 758 "USB_HUB_RESET_N_PM", 759 "USB_SW_SEL_PM"; 760 761 usb_hub_reset_pm: usb-hub-reset-pm { 762 pins = "gpio3"; 763 function = PMIC_GPIO_FUNC_NORMAL; 764 765 input-disable; 766 output-high; 767 }; 768 769 usb_hub_reset_pm_device: usb-hub-reset-pm-device { 770 pins = "gpio3"; 771 function = PMIC_GPIO_FUNC_NORMAL; 772 773 output-low; 774 }; 775 776 usb_sw_sel_pm: usb-sw-sel-pm { 777 pins = "gpio4"; 778 function = PMIC_GPIO_FUNC_NORMAL; 779 780 power-source = <PM8916_GPIO_VPH>; 781 input-disable; 782 output-high; 783 }; 784 785 usb_sw_sel_pm_device: usb-sw-sel-pm-device { 786 pins = "gpio4"; 787 function = PMIC_GPIO_FUNC_NORMAL; 788 789 power-source = <PM8916_GPIO_VPH>; 790 input-disable; 791 output-low; 792 }; 793 794 pm8916_gpios_leds: pm8916-gpios-leds { 795 pins = "gpio1", "gpio2"; 796 function = PMIC_GPIO_FUNC_NORMAL; 797 798 output-low; 799 }; 800}; 801 802&pm8916_mpps { 803 gpio-line-names = 804 "VDD_PX_BIAS", 805 "WLAN_LED_CTRL", 806 "BT_LED_CTRL", 807 "GPIO-F"; /* LS_EXP_GPIO_F, LSEC pin 28 */ 808 809 pinctrl-names = "default"; 810 pinctrl-0 = <&ls_exp_gpio_f>; 811 812 ls_exp_gpio_f: pm8916-mpp4 { 813 pins = "mpp4"; 814 function = "digital"; 815 816 output-low; 817 power-source = <PM8916_MPP_L5>; // 1.8V 818 }; 819 820 pm8916_mpps_leds: pm8916-mpps-leds { 821 pins = "mpp2", "mpp3"; 822 function = "digital"; 823 824 output-low; 825 }; 826}; 827