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&pm8916_resin { 305 status = "okay"; 306 linux,code = <KEY_VOLUMEDOWN>; 307}; 308 309&pronto { 310 status = "okay"; 311}; 312 313&sdhc_1 { 314 status = "okay"; 315 316 pinctrl-names = "default", "sleep"; 317 pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>; 318 pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>; 319}; 320 321&sdhc_2 { 322 status = "okay"; 323 324 pinctrl-names = "default", "sleep"; 325 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>; 326 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>; 327 328 cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>; 329}; 330 331&sound { 332 status = "okay"; 333 334 pinctrl-0 = <&cdc_pdm_lines_act &ext_sec_tlmm_lines_act &ext_mclk_tlmm_lines_act>; 335 pinctrl-1 = <&cdc_pdm_lines_sus &ext_sec_tlmm_lines_sus &ext_mclk_tlmm_lines_sus>; 336 pinctrl-names = "default", "sleep"; 337 qcom,model = "DB410c"; 338 qcom,audio-routing = 339 "AMIC2", "MIC BIAS Internal2", 340 "AMIC3", "MIC BIAS External1"; 341 342 external-dai-link@0 { 343 link-name = "ADV7533"; 344 cpu { 345 sound-dai = <&lpass MI2S_QUATERNARY>; 346 }; 347 codec { 348 sound-dai = <&adv_bridge 0>; 349 }; 350 }; 351 352 internal-codec-playback-dai-link@0 { 353 link-name = "WCD"; 354 cpu { 355 sound-dai = <&lpass MI2S_PRIMARY>; 356 }; 357 codec { 358 sound-dai = <&lpass_codec 0>, <&wcd_codec 0>; 359 }; 360 }; 361 362 internal-codec-capture-dai-link@0 { 363 link-name = "WCD-Capture"; 364 cpu { 365 sound-dai = <&lpass MI2S_TERTIARY>; 366 }; 367 codec { 368 sound-dai = <&lpass_codec 1>, <&wcd_codec 1>; 369 }; 370 }; 371}; 372 373&usb { 374 status = "okay"; 375 extcon = <&usb_id>, <&usb_id>; 376 377 pinctrl-names = "default", "device"; 378 pinctrl-0 = <&usb_sw_sel_pm &usb_hub_reset_pm>; 379 pinctrl-1 = <&usb_sw_sel_pm_device &usb_hub_reset_pm_device>; 380}; 381 382&usb_hs_phy { 383 extcon = <&usb_id>; 384}; 385 386&wcd_codec { 387 clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>; 388 clock-names = "mclk"; 389 qcom,mbhc-vthreshold-low = <75 150 237 450 500>; 390 qcom,mbhc-vthreshold-high = <75 150 237 450 500>; 391}; 392 393/* Enable CoreSight */ 394&cti0 { status = "okay"; }; 395&cti1 { status = "okay"; }; 396&cti12 { status = "okay"; }; 397&cti13 { status = "okay"; }; 398&cti14 { status = "okay"; }; 399&cti15 { status = "okay"; }; 400&debug0 { status = "okay"; }; 401&debug1 { status = "okay"; }; 402&debug2 { status = "okay"; }; 403&debug3 { status = "okay"; }; 404&etf { status = "okay"; }; 405&etm0 { status = "okay"; }; 406&etm1 { status = "okay"; }; 407&etm2 { status = "okay"; }; 408&etm3 { status = "okay"; }; 409&etr { status = "okay"; }; 410&funnel0 { status = "okay"; }; 411&funnel1 { status = "okay"; }; 412&replicator { status = "okay"; }; 413&tpiu { status = "okay"; }; 414 415&smd_rpm_regulators { 416 vdd_l1_l2_l3-supply = <&pm8916_s3>; 417 vdd_l4_l5_l6-supply = <&pm8916_s4>; 418 vdd_l7-supply = <&pm8916_s4>; 419 420 s1 { 421 regulator-min-microvolt = <375000>; 422 regulator-max-microvolt = <1562000>; 423 }; 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 l3 { 449 regulator-min-microvolt = <375000>; 450 regulator-max-microvolt = <1525000>; 451 }; 452 453 l4 { 454 regulator-min-microvolt = <1750000>; 455 regulator-max-microvolt = <3337000>; 456 }; 457 458 l5 { 459 regulator-min-microvolt = <1750000>; 460 regulator-max-microvolt = <3337000>; 461 }; 462 463 l6 { 464 regulator-min-microvolt = <1800000>; 465 regulator-max-microvolt = <1800000>; 466 }; 467 468 l7 { 469 regulator-min-microvolt = <1750000>; 470 regulator-max-microvolt = <3337000>; 471 }; 472 473 l8 { 474 regulator-min-microvolt = <1750000>; 475 regulator-max-microvolt = <3337000>; 476 }; 477 478 l9 { 479 regulator-min-microvolt = <1750000>; 480 regulator-max-microvolt = <3337000>; 481 }; 482 483 l10 { 484 regulator-min-microvolt = <1750000>; 485 regulator-max-microvolt = <3337000>; 486 }; 487 488 l11 { 489 regulator-min-microvolt = <1750000>; 490 regulator-max-microvolt = <3337000>; 491 regulator-allow-set-load; 492 regulator-system-load = <200000>; 493 }; 494 495 l12 { 496 regulator-min-microvolt = <1750000>; 497 regulator-max-microvolt = <3337000>; 498 }; 499 500 l13 { 501 regulator-min-microvolt = <1750000>; 502 regulator-max-microvolt = <3337000>; 503 }; 504 505 l14 { 506 regulator-min-microvolt = <1750000>; 507 regulator-max-microvolt = <3337000>; 508 }; 509 510 /** 511 * 1.8v required on LS expansion 512 * for mezzanine boards 513 */ 514 l15 { 515 regulator-min-microvolt = <1750000>; 516 regulator-max-microvolt = <3337000>; 517 regulator-always-on; 518 }; 519 520 l16 { 521 regulator-min-microvolt = <1750000>; 522 regulator-max-microvolt = <3337000>; 523 }; 524 525 l17 { 526 regulator-min-microvolt = <3300000>; 527 regulator-max-microvolt = <3300000>; 528 }; 529 530 l18 { 531 regulator-min-microvolt = <1750000>; 532 regulator-max-microvolt = <3337000>; 533 }; 534}; 535 536/* 537 * 2mA drive strength is not enough when connecting multiple 538 * I2C devices with different pull up resistors. 539 */ 540&i2c2_default { 541 drive-strength = <16>; 542}; 543 544&i2c4_default { 545 drive-strength = <16>; 546}; 547 548&i2c6_default { 549 drive-strength = <16>; 550}; 551 552/* 553 * GPIO name legend: proper name = the GPIO line is used as GPIO 554 * NC = not connected (pin out but not routed from the chip to 555 * anything the board) 556 * "[PER]" = pin is muxed for [peripheral] (not GPIO) 557 * LSEC = Low Speed External Connector 558 * HSEC = High Speed External Connector 559 * 560 * Line names are taken from the schematic "DragonBoard410c" 561 * dated monday, august 31, 2015. Page 5 in particular. 562 * 563 * For the lines routed to the external connectors the 564 * lines are named after the 96Boards CE Specification 1.0, 565 * Appendix "Expansion Connector Signal Description". 566 * 567 * When the 96Board naming of a line and the schematic name of 568 * the same line are in conflict, the 96Board specification 569 * takes precedence, which means that the external UART on the 570 * LSEC is named UART0 while the schematic and SoC names this 571 * UART3. This is only for the informational lines i.e. "[FOO]", 572 * the GPIO named lines "GPIO-A" thru "GPIO-L" are the only 573 * ones actually used for GPIO. 574 */ 575 576&msmgpio { 577 gpio-line-names = 578 "[UART0_TX]", /* GPIO_0, LSEC pin 5 */ 579 "[UART0_RX]", /* GPIO_1, LSEC pin 7 */ 580 "[UART0_CTS_N]", /* GPIO_2, LSEC pin 3 */ 581 "[UART0_RTS_N]", /* GPIO_3, LSEC pin 9 */ 582 "[UART1_TX]", /* GPIO_4, LSEC pin 11 */ 583 "[UART1_RX]", /* GPIO_5, LSEC pin 13 */ 584 "[I2C0_SDA]", /* GPIO_8, LSEC pin 17 */ 585 "[I2C0_SCL]", /* GPIO_7, LSEC pin 15 */ 586 "[SPI1_DOUT]", /* SPI1_MOSI, HSEC pin 1 */ 587 "[SPI1_DIN]", /* SPI1_MISO, HSEC pin 11 */ 588 "[SPI1_CS]", /* SPI1_CS_N, HSEC pin 7 */ 589 "[SPI1_SCLK]", /* SPI1_CLK, HSEC pin 9 */ 590 "GPIO-B", /* LS_EXP_GPIO_B, LSEC pin 24 */ 591 "GPIO-C", /* LS_EXP_GPIO_C, LSEC pin 25 */ 592 "[I2C3_SDA]", /* HSEC pin 38 */ 593 "[I2C3_SCL]", /* HSEC pin 36 */ 594 "[SPI0_MOSI]", /* LSEC pin 14 */ 595 "[SPI0_MISO]", /* LSEC pin 10 */ 596 "[SPI0_CS_N]", /* LSEC pin 12 */ 597 "[SPI0_CLK]", /* LSEC pin 8 */ 598 "HDMI_HPD_N", /* GPIO 20 */ 599 "USR_LED_1_CTRL", 600 "[I2C1_SDA]", /* GPIO_22, LSEC pin 21 */ 601 "[I2C1_SCL]", /* GPIO_23, LSEC pin 19 */ 602 "GPIO-G", /* LS_EXP_GPIO_G, LSEC pin 29 */ 603 "GPIO-H", /* LS_EXP_GPIO_H, LSEC pin 30 */ 604 "[CSI0_MCLK]", /* HSEC pin 15 */ 605 "[CSI1_MCLK]", /* HSEC pin 17 */ 606 "GPIO-K", /* LS_EXP_GPIO_K, LSEC pin 33 */ 607 "[I2C2_SDA]", /* HSEC pin 34 */ 608 "[I2C2_SCL]", /* HSEC pin 32 */ 609 "DSI2HDMI_INT_N", 610 "DSI_SW_SEL_APQ", 611 "GPIO-L", /* LS_EXP_GPIO_L, LSEC pin 34 */ 612 "GPIO-J", /* LS_EXP_GPIO_J, LSEC pin 32 */ 613 "GPIO-I", /* LS_EXP_GPIO_I, LSEC pin 31 */ 614 "GPIO-A", /* LS_EXP_GPIO_A, LSEC pin 23 */ 615 "FORCED_USB_BOOT", 616 "SD_CARD_DET_N", 617 "[WCSS_BT_SSBI]", 618 "[WCSS_WLAN_DATA_2]", /* GPIO 40 */ 619 "[WCSS_WLAN_DATA_1]", 620 "[WCSS_WLAN_DATA_0]", 621 "[WCSS_WLAN_SET]", 622 "[WCSS_WLAN_CLK]", 623 "[WCSS_FM_SSBI]", 624 "[WCSS_FM_SDI]", 625 "[WCSS_BT_DAT_CTL]", 626 "[WCSS_BT_DAT_STB]", 627 "NC", 628 "NC", /* GPIO 50 */ 629 "NC", 630 "NC", 631 "NC", 632 "NC", 633 "NC", 634 "NC", 635 "NC", 636 "NC", 637 "NC", 638 "NC", /* GPIO 60 */ 639 "NC", 640 "NC", 641 "[CDC_PDM0_CLK]", 642 "[CDC_PDM0_SYNC]", 643 "[CDC_PDM0_TX0]", 644 "[CDC_PDM0_RX0]", 645 "[CDC_PDM0_RX1]", 646 "[CDC_PDM0_RX2]", 647 "GPIO-D", /* LS_EXP_GPIO_D, LSEC pin 26 */ 648 "NC", /* GPIO 70 */ 649 "NC", 650 "NC", 651 "NC", 652 "NC", /* GPIO 74 */ 653 "NC", 654 "NC", 655 "NC", 656 "NC", 657 "NC", 658 "BOOT_CONFIG_0", /* GPIO 80 */ 659 "BOOT_CONFIG_1", 660 "BOOT_CONFIG_2", 661 "BOOT_CONFIG_3", 662 "NC", 663 "NC", 664 "BOOT_CONFIG_5", 665 "NC", 666 "NC", 667 "NC", 668 "NC", /* GPIO 90 */ 669 "NC", 670 "NC", 671 "NC", 672 "NC", 673 "NC", 674 "NC", 675 "NC", 676 "NC", 677 "NC", 678 "NC", /* GPIO 100 */ 679 "NC", 680 "NC", 681 "NC", 682 "SSBI_GPS", 683 "NC", 684 "NC", 685 "KEY_VOLP_N", 686 "NC", 687 "NC", 688 "[LS_EXP_MI2S_WS]", /* GPIO 110 */ 689 "NC", 690 "NC", 691 "[LS_EXP_MI2S_SCK]", 692 "[LS_EXP_MI2S_DATA0]", 693 "GPIO-E", /* LS_EXP_GPIO_E, LSEC pin 27 */ 694 "NC", 695 "[DSI2HDMI_MI2S_WS]", 696 "[DSI2HDMI_MI2S_SCK]", 697 "[DSI2HDMI_MI2S_DATA0]", 698 "USR_LED_2_CTRL", /* GPIO 120 */ 699 "SB_HS_ID"; 700 701 msmgpio_leds: msmgpio-leds { 702 pins = "gpio21", "gpio120"; 703 function = "gpio"; 704 705 output-low; 706 }; 707 708 usb_id_default: usb-id-default { 709 pins = "gpio121"; 710 function = "gpio"; 711 712 drive-strength = <8>; 713 input-enable; 714 bias-pull-up; 715 }; 716 717 adv7533_int_active: adv533-int-active { 718 pins = "gpio31"; 719 function = "gpio"; 720 721 drive-strength = <16>; 722 bias-disable; 723 }; 724 725 adv7533_int_suspend: adv7533-int-suspend { 726 pins = "gpio31"; 727 function = "gpio"; 728 729 drive-strength = <2>; 730 bias-disable; 731 }; 732 733 adv7533_switch_active: adv7533-switch-active { 734 pins = "gpio32"; 735 function = "gpio"; 736 737 drive-strength = <16>; 738 bias-disable; 739 }; 740 741 adv7533_switch_suspend: adv7533-switch-suspend { 742 pins = "gpio32"; 743 function = "gpio"; 744 745 drive-strength = <2>; 746 bias-disable; 747 }; 748 749 msm_key_volp_n_default: msm-key-volp-n-default { 750 pins = "gpio107"; 751 function = "gpio"; 752 753 drive-strength = <8>; 754 input-enable; 755 bias-pull-up; 756 }; 757}; 758 759&pm8916_gpios { 760 gpio-line-names = 761 "USR_LED_3_CTRL", 762 "USR_LED_4_CTRL", 763 "USB_HUB_RESET_N_PM", 764 "USB_SW_SEL_PM"; 765 766 usb_hub_reset_pm: usb-hub-reset-pm { 767 pins = "gpio3"; 768 function = PMIC_GPIO_FUNC_NORMAL; 769 770 input-disable; 771 output-high; 772 }; 773 774 usb_hub_reset_pm_device: usb-hub-reset-pm-device { 775 pins = "gpio3"; 776 function = PMIC_GPIO_FUNC_NORMAL; 777 778 output-low; 779 }; 780 781 usb_sw_sel_pm: usb-sw-sel-pm { 782 pins = "gpio4"; 783 function = PMIC_GPIO_FUNC_NORMAL; 784 785 power-source = <PM8916_GPIO_VPH>; 786 input-disable; 787 output-high; 788 }; 789 790 usb_sw_sel_pm_device: usb-sw-sel-pm-device { 791 pins = "gpio4"; 792 function = PMIC_GPIO_FUNC_NORMAL; 793 794 power-source = <PM8916_GPIO_VPH>; 795 input-disable; 796 output-low; 797 }; 798 799 pm8916_gpios_leds: pm8916-gpios-leds { 800 pins = "gpio1", "gpio2"; 801 function = PMIC_GPIO_FUNC_NORMAL; 802 803 output-low; 804 }; 805}; 806 807&pm8916_mpps { 808 gpio-line-names = 809 "VDD_PX_BIAS", 810 "WLAN_LED_CTRL", 811 "BT_LED_CTRL", 812 "GPIO-F"; /* LS_EXP_GPIO_F, LSEC pin 28 */ 813 814 pinctrl-names = "default"; 815 pinctrl-0 = <&ls_exp_gpio_f>; 816 817 ls_exp_gpio_f: pm8916-mpp4 { 818 pins = "mpp4"; 819 function = "digital"; 820 821 output-low; 822 power-source = <PM8916_MPP_L5>; // 1.8V 823 }; 824 825 pm8916_mpps_leds: pm8916-mpps-leds { 826 pins = "mpp2", "mpp3"; 827 function = "digital"; 828 829 output-low; 830 }; 831}; 832