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