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&tpiu { status = "okay"; }; 418 419&smd_rpm_regulators { 420 vdd_l1_l2_l3-supply = <&pm8916_s3>; 421 vdd_l4_l5_l6-supply = <&pm8916_s4>; 422 vdd_l7-supply = <&pm8916_s4>; 423 424 s3 { 425 regulator-min-microvolt = <375000>; 426 regulator-max-microvolt = <1562000>; 427 }; 428 429 s4 { 430 regulator-min-microvolt = <1800000>; 431 regulator-max-microvolt = <1800000>; 432 433 regulator-always-on; 434 regulator-boot-on; 435 }; 436 437 l1 { 438 regulator-min-microvolt = <375000>; 439 regulator-max-microvolt = <1525000>; 440 }; 441 442 l2 { 443 regulator-min-microvolt = <1200000>; 444 regulator-max-microvolt = <1200000>; 445 }; 446 447 l4 { 448 regulator-min-microvolt = <1750000>; 449 regulator-max-microvolt = <3337000>; 450 }; 451 452 l5 { 453 regulator-min-microvolt = <1750000>; 454 regulator-max-microvolt = <3337000>; 455 }; 456 457 l6 { 458 regulator-min-microvolt = <1800000>; 459 regulator-max-microvolt = <1800000>; 460 }; 461 462 l7 { 463 regulator-min-microvolt = <1750000>; 464 regulator-max-microvolt = <3337000>; 465 }; 466 467 l8 { 468 regulator-min-microvolt = <1750000>; 469 regulator-max-microvolt = <3337000>; 470 }; 471 472 l9 { 473 regulator-min-microvolt = <1750000>; 474 regulator-max-microvolt = <3337000>; 475 }; 476 477 l10 { 478 regulator-min-microvolt = <1750000>; 479 regulator-max-microvolt = <3337000>; 480 }; 481 482 l11 { 483 regulator-min-microvolt = <1750000>; 484 regulator-max-microvolt = <3337000>; 485 regulator-allow-set-load; 486 regulator-system-load = <200000>; 487 }; 488 489 l12 { 490 regulator-min-microvolt = <1750000>; 491 regulator-max-microvolt = <3337000>; 492 }; 493 494 l13 { 495 regulator-min-microvolt = <1750000>; 496 regulator-max-microvolt = <3337000>; 497 }; 498 499 l14 { 500 regulator-min-microvolt = <1750000>; 501 regulator-max-microvolt = <3337000>; 502 }; 503 504 /** 505 * 1.8v required on LS expansion 506 * for mezzanine boards 507 */ 508 l15 { 509 regulator-min-microvolt = <1750000>; 510 regulator-max-microvolt = <3337000>; 511 regulator-always-on; 512 }; 513 514 l16 { 515 regulator-min-microvolt = <1750000>; 516 regulator-max-microvolt = <3337000>; 517 }; 518 519 l17 { 520 regulator-min-microvolt = <3300000>; 521 regulator-max-microvolt = <3300000>; 522 }; 523 524 l18 { 525 regulator-min-microvolt = <1750000>; 526 regulator-max-microvolt = <3337000>; 527 }; 528}; 529 530/* 531 * 2mA drive strength is not enough when connecting multiple 532 * I2C devices with different pull up resistors. 533 */ 534&i2c2_default { 535 drive-strength = <16>; 536}; 537 538&i2c4_default { 539 drive-strength = <16>; 540}; 541 542&i2c6_default { 543 drive-strength = <16>; 544}; 545 546/* 547 * GPIO name legend: proper name = the GPIO line is used as GPIO 548 * NC = not connected (pin out but not routed from the chip to 549 * anything the board) 550 * "[PER]" = pin is muxed for [peripheral] (not GPIO) 551 * LSEC = Low Speed External Connector 552 * HSEC = High Speed External Connector 553 * 554 * Line names are taken from the schematic "DragonBoard410c" 555 * dated monday, august 31, 2015. Page 5 in particular. 556 * 557 * For the lines routed to the external connectors the 558 * lines are named after the 96Boards CE Specification 1.0, 559 * Appendix "Expansion Connector Signal Description". 560 * 561 * When the 96Board naming of a line and the schematic name of 562 * the same line are in conflict, the 96Board specification 563 * takes precedence, which means that the external UART on the 564 * LSEC is named UART0 while the schematic and SoC names this 565 * UART3. This is only for the informational lines i.e. "[FOO]", 566 * the GPIO named lines "GPIO-A" thru "GPIO-L" are the only 567 * ones actually used for GPIO. 568 */ 569 570&msmgpio { 571 gpio-line-names = 572 "[UART0_TX]", /* GPIO_0, LSEC pin 5 */ 573 "[UART0_RX]", /* GPIO_1, LSEC pin 7 */ 574 "[UART0_CTS_N]", /* GPIO_2, LSEC pin 3 */ 575 "[UART0_RTS_N]", /* GPIO_3, LSEC pin 9 */ 576 "[UART1_TX]", /* GPIO_4, LSEC pin 11 */ 577 "[UART1_RX]", /* GPIO_5, LSEC pin 13 */ 578 "[I2C0_SDA]", /* GPIO_8, LSEC pin 17 */ 579 "[I2C0_SCL]", /* GPIO_7, LSEC pin 15 */ 580 "[SPI1_DOUT]", /* SPI1_MOSI, HSEC pin 1 */ 581 "[SPI1_DIN]", /* SPI1_MISO, HSEC pin 11 */ 582 "[SPI1_CS]", /* SPI1_CS_N, HSEC pin 7 */ 583 "[SPI1_SCLK]", /* SPI1_CLK, HSEC pin 9 */ 584 "GPIO-B", /* LS_EXP_GPIO_B, LSEC pin 24 */ 585 "GPIO-C", /* LS_EXP_GPIO_C, LSEC pin 25 */ 586 "[I2C3_SDA]", /* HSEC pin 38 */ 587 "[I2C3_SCL]", /* HSEC pin 36 */ 588 "[SPI0_MOSI]", /* LSEC pin 14 */ 589 "[SPI0_MISO]", /* LSEC pin 10 */ 590 "[SPI0_CS_N]", /* LSEC pin 12 */ 591 "[SPI0_CLK]", /* LSEC pin 8 */ 592 "HDMI_HPD_N", /* GPIO 20 */ 593 "USR_LED_1_CTRL", 594 "[I2C1_SDA]", /* GPIO_22, LSEC pin 21 */ 595 "[I2C1_SCL]", /* GPIO_23, LSEC pin 19 */ 596 "GPIO-G", /* LS_EXP_GPIO_G, LSEC pin 29 */ 597 "GPIO-H", /* LS_EXP_GPIO_H, LSEC pin 30 */ 598 "[CSI0_MCLK]", /* HSEC pin 15 */ 599 "[CSI1_MCLK]", /* HSEC pin 17 */ 600 "GPIO-K", /* LS_EXP_GPIO_K, LSEC pin 33 */ 601 "[I2C2_SDA]", /* HSEC pin 34 */ 602 "[I2C2_SCL]", /* HSEC pin 32 */ 603 "DSI2HDMI_INT_N", 604 "DSI_SW_SEL_APQ", 605 "GPIO-L", /* LS_EXP_GPIO_L, LSEC pin 34 */ 606 "GPIO-J", /* LS_EXP_GPIO_J, LSEC pin 32 */ 607 "GPIO-I", /* LS_EXP_GPIO_I, LSEC pin 31 */ 608 "GPIO-A", /* LS_EXP_GPIO_A, LSEC pin 23 */ 609 "FORCED_USB_BOOT", 610 "SD_CARD_DET_N", 611 "[WCSS_BT_SSBI]", 612 "[WCSS_WLAN_DATA_2]", /* GPIO 40 */ 613 "[WCSS_WLAN_DATA_1]", 614 "[WCSS_WLAN_DATA_0]", 615 "[WCSS_WLAN_SET]", 616 "[WCSS_WLAN_CLK]", 617 "[WCSS_FM_SSBI]", 618 "[WCSS_FM_SDI]", 619 "[WCSS_BT_DAT_CTL]", 620 "[WCSS_BT_DAT_STB]", 621 "NC", 622 "NC", /* GPIO 50 */ 623 "NC", 624 "NC", 625 "NC", 626 "NC", 627 "NC", 628 "NC", 629 "NC", 630 "NC", 631 "NC", 632 "NC", /* GPIO 60 */ 633 "NC", 634 "NC", 635 "[CDC_PDM0_CLK]", 636 "[CDC_PDM0_SYNC]", 637 "[CDC_PDM0_TX0]", 638 "[CDC_PDM0_RX0]", 639 "[CDC_PDM0_RX1]", 640 "[CDC_PDM0_RX2]", 641 "GPIO-D", /* LS_EXP_GPIO_D, LSEC pin 26 */ 642 "NC", /* GPIO 70 */ 643 "NC", 644 "NC", 645 "NC", 646 "NC", /* GPIO 74 */ 647 "NC", 648 "NC", 649 "NC", 650 "NC", 651 "NC", 652 "BOOT_CONFIG_0", /* GPIO 80 */ 653 "BOOT_CONFIG_1", 654 "BOOT_CONFIG_2", 655 "BOOT_CONFIG_3", 656 "NC", 657 "NC", 658 "BOOT_CONFIG_5", 659 "NC", 660 "NC", 661 "NC", 662 "NC", /* GPIO 90 */ 663 "NC", 664 "NC", 665 "NC", 666 "NC", 667 "NC", 668 "NC", 669 "NC", 670 "NC", 671 "NC", 672 "NC", /* GPIO 100 */ 673 "NC", 674 "NC", 675 "NC", 676 "SSBI_GPS", 677 "NC", 678 "NC", 679 "KEY_VOLP_N", 680 "NC", 681 "NC", 682 "[LS_EXP_MI2S_WS]", /* GPIO 110 */ 683 "NC", 684 "NC", 685 "[LS_EXP_MI2S_SCK]", 686 "[LS_EXP_MI2S_DATA0]", 687 "GPIO-E", /* LS_EXP_GPIO_E, LSEC pin 27 */ 688 "NC", 689 "[DSI2HDMI_MI2S_WS]", 690 "[DSI2HDMI_MI2S_SCK]", 691 "[DSI2HDMI_MI2S_DATA0]", 692 "USR_LED_2_CTRL", /* GPIO 120 */ 693 "SB_HS_ID"; 694 695 msmgpio_leds: msmgpio-leds { 696 pins = "gpio21", "gpio120"; 697 function = "gpio"; 698 699 output-low; 700 }; 701 702 usb_id_default: usb-id-default { 703 pins = "gpio121"; 704 function = "gpio"; 705 706 drive-strength = <8>; 707 input-enable; 708 bias-pull-up; 709 }; 710 711 adv7533_int_active: adv533-int-active { 712 pins = "gpio31"; 713 function = "gpio"; 714 715 drive-strength = <16>; 716 bias-disable; 717 }; 718 719 adv7533_int_suspend: adv7533-int-suspend { 720 pins = "gpio31"; 721 function = "gpio"; 722 723 drive-strength = <2>; 724 bias-disable; 725 }; 726 727 adv7533_switch_active: adv7533-switch-active { 728 pins = "gpio32"; 729 function = "gpio"; 730 731 drive-strength = <16>; 732 bias-disable; 733 }; 734 735 adv7533_switch_suspend: adv7533-switch-suspend { 736 pins = "gpio32"; 737 function = "gpio"; 738 739 drive-strength = <2>; 740 bias-disable; 741 }; 742 743 msm_key_volp_n_default: msm-key-volp-n-default { 744 pins = "gpio107"; 745 function = "gpio"; 746 747 drive-strength = <8>; 748 input-enable; 749 bias-pull-up; 750 }; 751}; 752 753&pm8916_gpios { 754 gpio-line-names = 755 "USR_LED_3_CTRL", 756 "USR_LED_4_CTRL", 757 "USB_HUB_RESET_N_PM", 758 "USB_SW_SEL_PM"; 759 760 usb_hub_reset_pm: usb-hub-reset-pm { 761 pins = "gpio3"; 762 function = PMIC_GPIO_FUNC_NORMAL; 763 764 input-disable; 765 output-high; 766 }; 767 768 usb_hub_reset_pm_device: usb-hub-reset-pm-device { 769 pins = "gpio3"; 770 function = PMIC_GPIO_FUNC_NORMAL; 771 772 output-low; 773 }; 774 775 usb_sw_sel_pm: usb-sw-sel-pm { 776 pins = "gpio4"; 777 function = PMIC_GPIO_FUNC_NORMAL; 778 779 power-source = <PM8916_GPIO_VPH>; 780 input-disable; 781 output-high; 782 }; 783 784 usb_sw_sel_pm_device: usb-sw-sel-pm-device { 785 pins = "gpio4"; 786 function = PMIC_GPIO_FUNC_NORMAL; 787 788 power-source = <PM8916_GPIO_VPH>; 789 input-disable; 790 output-low; 791 }; 792 793 pm8916_gpios_leds: pm8916-gpios-leds { 794 pins = "gpio1", "gpio2"; 795 function = PMIC_GPIO_FUNC_NORMAL; 796 797 output-low; 798 }; 799}; 800 801&pm8916_mpps { 802 gpio-line-names = 803 "VDD_PX_BIAS", 804 "WLAN_LED_CTRL", 805 "BT_LED_CTRL", 806 "GPIO-F"; /* LS_EXP_GPIO_F, LSEC pin 28 */ 807 808 pinctrl-names = "default"; 809 pinctrl-0 = <&ls_exp_gpio_f>; 810 811 ls_exp_gpio_f: pm8916-mpp4 { 812 pins = "mpp4"; 813 function = "digital"; 814 815 output-low; 816 power-source = <PM8916_MPP_L5>; // 1.8V 817 }; 818 819 pm8916_mpps_leds: pm8916-mpps-leds { 820 pins = "mpp2", "mpp3"; 821 function = "digital"; 822 823 output-low; 824 }; 825}; 826