1// SPDX-License-Identifier: GPL-2.0 2/* 3 * dts file for Hisilicon HiKey960 Development Board 4 * 5 * Copyright (C) 2016, Hisilicon Ltd. 6 * 7 */ 8 9/dts-v1/; 10 11#include "hi3660.dtsi" 12#include "hikey960-pinctrl.dtsi" 13#include "hi3660-drm.dtsi" 14#include "hi3660-gpu.dtsi" 15 16#include <dt-bindings/gpio/gpio.h> 17#include <dt-bindings/input/input.h> 18#include <dt-bindings/interrupt-controller/irq.h> 19#include <dt-bindings/usb/pd.h> 20 21/ { 22 model = "HiKey960"; 23 compatible = "hisilicon,hi3660-hikey960", "hisilicon,hi3660"; 24 25 aliases { 26 mshc1 = &dwmmc1; 27 mshc2 = &dwmmc2; 28 serial0 = &uart0; 29 serial1 = &uart1; 30 serial2 = &uart2; 31 serial3 = &uart3; 32 serial4 = &uart4; 33 serial5 = &uart5; 34 serial6 = &uart6; 35 }; 36 37 chosen { 38 stdout-path = "serial6:115200n8"; 39 }; 40 41 memory@0 { 42 device_type = "memory"; 43 /* rewrite this at bootloader */ 44 reg = <0x0 0x0 0x0 0x0>; 45 }; 46 47 reserved-memory { 48 #address-cells = <2>; 49 #size-cells = <2>; 50 ranges; 51 52 ramoops@32000000 { 53 compatible = "ramoops"; 54 reg = <0x0 0x32000000 0x0 0x00100000>; 55 record-size = <0x00020000>; 56 console-size = <0x00020000>; 57 ftrace-size = <0x00020000>; 58 }; 59 60 /* global autoconfigured region for contiguous allocations */ 61 linux,cma { 62 compatible = "shared-dma-pool"; 63 reg = <0x0 0x20C00000 0x0 0x4000000>; 64 reusable; 65 linux,cma-default; 66 }; 67 }; 68 69 reboot-mode-syscon@32100000 { 70 compatible = "syscon", "simple-mfd"; 71 reg = <0x0 0x32100000 0x0 0x00001000>; 72 73 reboot-mode { 74 compatible = "syscon-reboot-mode"; 75 offset = <0x0>; 76 77 mode-normal = <0x77665501>; 78 mode-bootloader = <0x77665500>; 79 mode-recovery = <0x77665502>; 80 }; 81 }; 82 83 keys { 84 compatible = "gpio-keys"; 85 pinctrl-names = "default"; 86 pinctrl-0 = <&pwr_key_pmx_func &pwr_key_cfg_func>; 87 88 power { 89 wakeup-source; 90 gpios = <&gpio4 2 GPIO_ACTIVE_LOW>; 91 label = "GPIO Power"; 92 linux,code = <KEY_POWER>; 93 }; 94 }; 95 96 leds { 97 compatible = "gpio-leds"; 98 99 user_led1 { 100 label = "green:user1"; 101 /* gpio_150_user_led1 */ 102 gpios = <&gpio18 6 0>; 103 linux,default-trigger = "heartbeat"; 104 }; 105 106 user_led2 { 107 label = "green:user2"; 108 /* gpio_151_user_led2 */ 109 gpios = <&gpio18 7 0>; 110 linux,default-trigger = "none"; 111 }; 112 113 user_led3 { 114 label = "green:user3"; 115 /* gpio_189_user_led3 */ 116 gpios = <&gpio23 5 0>; 117 linux,default-trigger = "mmc0"; 118 }; 119 120 user_led4 { 121 label = "green:user4"; 122 /* gpio_190_user_led4 */ 123 gpios = <&gpio23 6 0>; 124 panic-indicator; 125 linux,default-trigger = "none"; 126 }; 127 128 wlan_active_led { 129 label = "yellow:wlan"; 130 /* gpio_205_wifi_active */ 131 gpios = <&gpio25 5 0>; 132 linux,default-trigger = "phy0tx"; 133 default-state = "off"; 134 }; 135 136 bt_active_led { 137 label = "blue:bt"; 138 gpios = <&gpio25 7 0>; 139 /* gpio_207_user_led1 */ 140 linux,default-trigger = "hci0-power"; 141 default-state = "off"; 142 }; 143 }; 144 145 pmic: pmic@fff34000 { 146 compatible = "hisilicon,hi6421v530-pmic"; 147 reg = <0x0 0xfff34000 0x0 0x1000>; 148 interrupt-controller; 149 #interrupt-cells = <2>; 150 151 regulators { 152 ldo3: LDO3 { /* HDMI */ 153 regulator-name = "VOUT3_1V85"; 154 regulator-min-microvolt = <1800000>; 155 regulator-max-microvolt = <2200000>; 156 regulator-enable-ramp-delay = <120>; 157 }; 158 159 ldo9: LDO9 { /* SDCARD I/O */ 160 regulator-name = "VOUT9_1V8_2V95"; 161 regulator-min-microvolt = <1750000>; 162 regulator-max-microvolt = <3300000>; 163 regulator-enable-ramp-delay = <240>; 164 }; 165 166 ldo11: LDO11 { /* Low Speed Connector */ 167 regulator-name = "VOUT11_1V8_2V95"; 168 regulator-min-microvolt = <1750000>; 169 regulator-max-microvolt = <3300000>; 170 regulator-enable-ramp-delay = <240>; 171 }; 172 173 ldo15: LDO15 { /* UFS VCC */ 174 regulator-name = "VOUT15_3V0"; 175 regulator-min-microvolt = <1750000>; 176 regulator-max-microvolt = <3000000>; 177 regulator-boot-on; 178 regulator-always-on; 179 regulator-enable-ramp-delay = <120>; 180 }; 181 182 ldo16: LDO16 { /* SD VDD */ 183 regulator-name = "VOUT16_2V95"; 184 regulator-min-microvolt = <1750000>; 185 regulator-max-microvolt = <3000000>; 186 regulator-enable-ramp-delay = <360>; 187 }; 188 }; 189 }; 190 191 wlan_en: wlan-en-1-8v { 192 compatible = "regulator-fixed"; 193 regulator-name = "wlan-en-regulator"; 194 regulator-min-microvolt = <1800000>; 195 regulator-max-microvolt = <1800000>; 196 197 /* GPIO_051_WIFI_EN */ 198 gpio = <&gpio6 3 0>; 199 200 /* WLAN card specific delay */ 201 startup-delay-us = <70000>; 202 enable-active-high; 203 }; 204 205 firmware { 206 optee { 207 compatible = "linaro,optee-tz"; 208 method = "smc"; 209 }; 210 }; 211 212 hisi_hikey_usb: hisi_hikey_usb { 213 compatible = "hisilicon,gpio_hubv1"; 214 typec-vbus-gpios = <&gpio25 2 GPIO_ACTIVE_HIGH>; 215 otg-switch-gpios = <&gpio25 6 GPIO_ACTIVE_HIGH>; 216 hub-vdd33-en-gpios = <&gpio5 6 GPIO_ACTIVE_HIGH>; 217 usb-role-switch; 218 219 port { 220 #address-cells = <1>; 221 #size-cells = <0>; 222 223 hikey_usb_ep0: endpoint@0 { 224 reg = <0>; 225 remote-endpoint = <&dwc3_role_switch>; 226 }; 227 hikey_usb_ep1: endpoint@1 { 228 reg = <1>; 229 remote-endpoint = <&rt1711h_ep>; 230 }; 231 }; 232 }; 233 234 i2s2: hi3660_i2s { 235 compatible = "hisilicon,hi3660-i2s-1.0"; 236 reg = <0x0 0xe804f800 0x0 0x400>, 237 <0x0 0xe804e000 0x0 0x400>; 238 pinctrl-names = "default"; 239 pinctrl-0 = <&i2s2_pmx_func &i2s2_cfg_func>; 240 dmas = <&asp_dmac 18 &asp_dmac 19>; 241 dma-names = "rx", "tx"; 242 #sound-dai-cells = <0>; 243 }; 244 245 sound { 246 compatible = "simple-audio-card"; 247 simple-audio-card,name = "hikey-hdmi"; 248 simple-audio-card,format = "i2s"; 249 250 simple-audio-card,bitclock-master = <&sound_master>; 251 simple-audio-card,frame-master = <&sound_master>; 252 253 sound_master: simple-audio-card,cpu { 254 sound-dai = <&i2s2>; 255 }; 256 257 simple-audio-card,codec { 258 sound-dai = <&adv7533>; 259 }; 260 }; 261}; 262 263/* 264 * Legend: proper name = the GPIO line is used as GPIO 265 * NC = not connected (pin out but not routed from the chip to 266 * anything the board) 267 * "[PER]" = pin is muxed for [peripheral] (not GPIO) 268 * "" = no idea, schematic doesn't say, could be 269 * unrouted (not connected to any external pin) 270 * LSEC = Low Speed External Connector 271 * HSEC = High Speed External Connector 272 * 273 * Line names are taken from "HiKey 960 Board ver A" schematics 274 * from Huawei. The 40 pin low speed expansion connector is named 275 * J2002 63453-140LF. 276 * 277 * For the lines routed to the external connectors the 278 * lines are named after the 96Boards CE Specification 1.0, 279 * Appendix "Expansion Connector Signal Description". 280 * 281 * When the 96Board naming of a line and the schematic name of 282 * the same line are in conflict, the 96Board specification 283 * takes precedence, which means that the external UART on the 284 * LSEC is named UART0 while the schematic and SoC names this 285 * UART3. This is only for the informational lines i.e. "[FOO]", 286 * the GPIO named lines "GPIO-A" thru "GPIO-L" are the only 287 * ones actually used for GPIO. 288 */ 289&gpio0 { 290 /* GPIO_000-GPIO_007 */ 291 gpio-line-names = 292 "", 293 "TP901", /* TEST_MODE connected to TP901 */ 294 "[PMU0_SSI]", 295 "[PMU1_SSI]", 296 "[PMU2_SSI]", 297 "[PMU0_CLKOUT]", 298 "[JTAG_TCK]", 299 "[JTAG_TMS]"; 300}; 301 302&gpio1 { 303 /* GPIO_008-GPIO_015 */ 304 gpio-line-names = 305 "[JTAG_TRST_N]", 306 "[JTAG_TDI]", 307 "[JTAG_TDO]", 308 "NC", "NC", 309 "[I2C3_SCL]", 310 "[I2C3_SDA]", 311 "NC"; 312}; 313 314&gpio2 { 315 /* GPIO_016-GPIO_023 */ 316 gpio-line-names = 317 "NC", "NC", "NC", 318 "GPIO-J", /* LSEC pin 32: GPIO_019 */ 319 "GPIO_020_HDMI_SEL", 320 "GPIO-L", /* LSEC pin 34: GPIO_021 */ 321 "GPIO_022_UFSBUCK_INT_N", 322 "GPIO-G"; /* LSEC pin 29: LCD_TE0 */ 323}; 324 325&gpio3 { 326 /* GPIO_024-GPIO_031 */ 327 /* The rail from pin BK36 is named LCD_TE0, we assume to be muxed as GPIO for GPIO-G */ 328 gpio-line-names = 329 "[CSI0_MCLK]", /* HSEC pin 15: ISP_CCLK0_MCAM */ 330 "[CSI1_MCLK]", /* HSEC pin 17: ISP_CCLK1_SCAM */ 331 "NC", 332 "[I2C2_SCL]", /* HSEC pin 32: ISP_SCL0 */ 333 "[I2C2_SDA]", /* HSEC pin 34: ISP_SDA0 */ 334 "[I2C3_SCL]", /* HSEC pin 36: ISP_SCL1 */ 335 "[I2C3_SDA]", /* HSEC pin 38: ISP_SDA1 */ 336 "NC"; 337}; 338 339&gpio4 { 340 /* GPIO_032-GPIO_039 */ 341 gpio-line-names = 342 "NC", "NC", 343 "PWR_BTN_N", /* LSEC pin 4: GPIO_034_PWRON_DET */ 344 "GPIO_035_PMU2_EN", 345 "GPIO_036_USB_HUB_RESET", 346 "NC", "NC", "NC"; 347}; 348 349&gpio5 { 350 /* GPIO_040-GPIO_047 */ 351 gpio-line-names = 352 "GPIO-H", /* LSEC pin 30: GPIO_040_LCD_RST_N */ 353 "GPIO_041_HDMI_PD", 354 "TP904", /* Test point */ 355 "TP905", /* Test point */ 356 "NC", "NC", 357 "GPIO_046_HUB_VDD33_EN", 358 "GPIO_047_PMU1_EN"; 359}; 360 361&gpio6 { 362 /* GPIO_048-GPIO_055 */ 363 gpio-line-names = 364 "NC", "NC", "NC", 365 "GPIO_051_WIFI_EN", 366 "GPIO-I", /* LSEC pin 31: GPIO_052_CAM0_RST_N */ 367 /* 368 * These two pins should be used for SD(IO) data according to the 369 * 96boards specification but seems to be repurposed for a IRDA UART. 370 * They are however named according to the spec. 371 */ 372 "[SD_DAT1]", /* HSEC pin 3: UART0_IRDA_RXD */ 373 "[SD_DAT2]", /* HSEC pin 5: UART0_IRDA_TXD */ 374 "[UART1_RXD]"; /* LSEC pin 13: DEBUG_UART6_RXD */ 375}; 376 377&gpio7 { 378 /* GPIO_056-GPIO_063 */ 379 gpio-line-names = 380 "[UART1_TXD]", /* LSEC pin 11: DEBUG_UART6_TXD */ 381 "[UART0_CTS]", /* LSEC pin 3: UART3_CTS_N */ 382 "[UART0_RTS]", /* LSEC pin 9: UART3_RTS_N */ 383 "[UART0_RXD]", /* LSEC pin 7: UART3_RXD */ 384 "[UART0_TXD]", /* LSEC pin 5: UART3_TXD */ 385 "[SOC_BT_UART4_CTS_N]", 386 "[SOC_BT_UART4_RTS_N]", 387 "[SOC_BT_UART4_RXD]"; 388}; 389 390&gpio8 { 391 /* GPIO_064-GPIO_071 */ 392 gpio-line-names = 393 "[SOC_BT_UART4_TXD]", 394 "NC", 395 "[PMU_HKADC_SSI]", 396 "NC", 397 "GPIO_068_SEL", 398 "NC", "NC", "NC"; 399 400}; 401 402&gpio9 { 403 /* GPIO_072-GPIO_079 */ 404 gpio-line-names = 405 "NC", "NC", "NC", 406 "GPIO-K", /* LSEC pin 33: GPIO_075_CAM1_RST_N */ 407 "NC", "NC", "NC", "NC"; 408}; 409 410&gpio10 { 411 /* GPIO_080-GPIO_087 */ 412 gpio-line-names = "NC", "NC", "NC", "NC", "NC", "NC", "NC", "NC"; 413}; 414 415&gpio11 { 416 /* GPIO_088-GPIO_095 */ 417 gpio-line-names = 418 "NC", 419 "[PCIE_PERST_N]", 420 "NC", "NC", "NC", "NC", "NC", "NC"; 421}; 422 423&gpio12 { 424 /* GPIO_096-GPIO_103 */ 425 gpio-line-names = "NC", "NC", "NC", "", "", "", "", "NC"; 426}; 427 428&gpio13 { 429 /* GPIO_104-GPIO_111 */ 430 gpio-line-names = "NC", "NC", "NC", "NC", "NC", "NC", "NC", "NC"; 431}; 432 433&gpio14 { 434 /* GPIO_112-GPIO_119 */ 435 gpio-line-names = "NC", "NC", "NC", "NC", "NC", "NC", "NC", "NC"; 436}; 437 438&gpio15 { 439 /* GPIO_120-GPIO_127 */ 440 gpio-line-names = 441 "NC", "NC", "NC", "NC", "NC", "NC", 442 "GPIO_126_BT_EN", 443 "TP902"; /* GPIO_127_JTAG_SEL0 */ 444}; 445 446&gpio16 { 447 /* GPIO_128-GPIO_135 */ 448 gpio-line-names = "", "", "", "", "", "", "", ""; 449}; 450 451&gpio17 { 452 /* GPIO_136-GPIO_143 */ 453 gpio-line-names = "", "", "", "", "", "", "", ""; 454}; 455 456&gpio18 { 457 /* GPIO_144-GPIO_151 */ 458 gpio-line-names = 459 "[UFS_REF_CLK]", 460 "[UFS_RST_N]", 461 "[SPI1_SCLK]", /* HSEC pin 9: GPIO_146_SPI3_CLK */ 462 "[SPI1_DIN]", /* HSEC pin 11: GPIO_147_SPI3_DI */ 463 "[SPI1_DOUT]", /* HSEC pin 1: GPIO_148_SPI3_DO */ 464 "[SPI1_CS]", /* HSEC pin 7: GPIO_149_SPI3_CS0_N */ 465 "GPIO_150_USER_LED1", 466 "GPIO_151_USER_LED2"; 467}; 468 469&gpio19 { 470 /* GPIO_152-GPIO_159 */ 471 gpio-line-names = "NC", "NC", "NC", "NC", "", "", "", ""; 472}; 473 474&gpio20 { 475 /* GPIO_160-GPIO_167 */ 476 gpio-line-names = 477 "[SD_CLK]", 478 "[SD_CMD]", 479 "[SD_DATA0]", 480 "[SD_DATA1]", 481 "[SD_DATA2]", 482 "[SD_DATA3]", 483 "", ""; 484}; 485 486&gpio21 { 487 /* GPIO_168-GPIO_175 */ 488 gpio-line-names = 489 "[WL_SDIO_CLK]", 490 "[WL_SDIO_CMD]", 491 "[WL_SDIO_DATA0]", 492 "[WL_SDIO_DATA1]", 493 "[WL_SDIO_DATA2]", 494 "[WL_SDIO_DATA3]", 495 "", ""; 496}; 497 498&gpio22 { 499 /* GPIO_176-GPIO_183 */ 500 gpio-line-names = 501 "[GPIO_176_PMU_PWR_HOLD]", 502 "NA", 503 "[SYSCLK_EN]", 504 "GPIO_179_WL_WAKEUP_AP", 505 "GPIO_180_HDMI_INT", 506 "NA", 507 "GPIO-F", /* LSEC pin 28: LCD_BL_PWM */ 508 "[I2C0_SCL]"; /* LSEC pin 15 */ 509}; 510 511&gpio23 { 512 /* GPIO_184-GPIO_191 */ 513 gpio-line-names = 514 "[I2C0_SDA]", /* LSEC pin 17 */ 515 "[I2C1_SCL]", /* Actual SoC I2C1 */ 516 "[I2C1_SDA]", /* Actual SoC I2C1 */ 517 "[I2C1_SCL]", /* LSEC pin 19: I2C7_SCL */ 518 "[I2C1_SDA]", /* LSEC pin 21: I2C7_SDA */ 519 "GPIO_189_USER_LED3", 520 "GPIO_190_USER_LED4", 521 ""; 522}; 523 524&gpio24 { 525 /* GPIO_192-GPIO_199 */ 526 gpio-line-names = 527 "[PCM_DI]", /* LSEC pin 22: GPIO_192_I2S0_DI */ 528 "[PCM_DO]", /* LSEC pin 20: GPIO_193_I2S0_DO */ 529 "[PCM_CLK]", /* LSEC pin 18: GPIO_194_I2S0_XCLK */ 530 "[PCM_FS]", /* LSEC pin 16: GPIO_195_I2S0_XFS */ 531 "[GPIO_196_I2S2_DI]", 532 "[GPIO_197_I2S2_DO]", 533 "[GPIO_198_I2S2_XCLK]", 534 "[GPIO_199_I2S2_XFS]"; 535}; 536 537&gpio25 { 538 /* GPIO_200-GPIO_207 */ 539 gpio-line-names = 540 "NC", 541 "NC", 542 "GPIO_202_VBUS_TYPEC", 543 "GPIO_203_SD_DET", 544 "GPIO_204_PMU12_IRQ_N", 545 "GPIO_205_WIFI_ACTIVE", 546 "GPIO_206_USBSW_SEL", 547 "GPIO_207_BT_ACTIVE"; 548}; 549 550&gpio26 { 551 /* GPIO_208-GPIO_215 */ 552 gpio-line-names = 553 "GPIO-A", /* LSEC pin 23: GPIO_208 */ 554 "GPIO-B", /* LSEC pin 24: GPIO_209 */ 555 "GPIO-C", /* LSEC pin 25: GPIO_210 */ 556 "GPIO-D", /* LSEC pin 26: GPIO_211 */ 557 "GPIO-E", /* LSEC pin 27: GPIO_212 */ 558 "[PCIE_CLKREQ_N]", 559 "[PCIE_WAKE_N]", 560 "[SPI0_CLK]"; /* LSEC pin 8: SPI2_CLK */ 561}; 562 563&gpio27 { 564 /* GPIO_216-GPIO_223 */ 565 gpio-line-names = 566 "[SPI0_DIN]", /* LSEC pin 10: SPI2_DI */ 567 "[SPI0_DOUT]", /* LSEC pin 14: SPI2_DO */ 568 "[SPI0_CS]", /* LSEC pin 12: SPI2_CS0_N */ 569 "GPIO_219_CC_INT", 570 "NC", 571 "NC", 572 "[PMU_INT]", 573 ""; 574}; 575 576&gpio28 { 577 /* GPIO_224-GPIO_231 */ 578 gpio-line-names = 579 "", "", "", "", "", "", "", ""; 580}; 581 582&i2c0 { 583 /* On Low speed expansion */ 584 label = "LS-I2C0"; 585 status = "okay"; 586}; 587 588&i2c1 { 589 status = "okay"; 590 591 rt1711h: rt1711h@4e { 592 compatible = "richtek,rt1711h"; 593 reg = <0x4e>; 594 status = "okay"; 595 interrupt-parent = <&gpio27>; 596 interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 597 pinctrl-names = "default"; 598 pinctrl-0 = <&usb_cfg_func>; 599 600 usb_con: connector { 601 compatible = "usb-c-connector"; 602 label = "USB-C"; 603 data-role = "dual"; 604 power-role = "dual"; 605 try-power-role = "sink"; 606 source-pdos = <PDO_FIXED(5000, 500, PDO_FIXED_USB_COMM)>; 607 sink-pdos = <PDO_FIXED(5000, 500, PDO_FIXED_USB_COMM) 608 PDO_VAR(5000, 5000, 1000)>; 609 op-sink-microwatt = <10000000>; 610 611 ports { 612 #address-cells = <1>; 613 #size-cells = <0>; 614 port@1 { 615 reg = <1>; 616 usb_con_ss: endpoint { 617 remote-endpoint = <&dwc3_ss>; 618 }; 619 }; 620 }; 621 }; 622 port { 623 #address-cells = <1>; 624 #size-cells = <0>; 625 626 rt1711h_ep: endpoint@0 { 627 reg = <0>; 628 remote-endpoint = <&hikey_usb_ep1>; 629 }; 630 }; 631 }; 632 633 adv7533: adv7533@39 { 634 status = "okay"; 635 compatible = "adi,adv7533"; 636 reg = <0x39>; 637 v1p2-supply = <&ldo3>; 638 vdd-supply = <&ldo3>; 639 interrupt-parent = <&gpio1>; 640 interrupts = <1 2>; 641 pd-gpio = <&gpio5 1 0>; 642 sel-gpio = <&gpio2 4 0>; 643 adi,dsi-lanes = <4>; 644 adi,disable-timing-generator; 645 #sound-dai-cells = <0>; 646 647 ports { 648 #address-cells = <1>; 649 #size-cells = <0>; 650 port@0 { 651 reg = <0>; 652 adv7533_in: endpoint { 653 remote-endpoint = <&dsi_out0>; 654 }; 655 }; 656 port@1 { 657 reg = <1>; 658 }; 659 }; 660 }; 661 662}; 663 664&i2c7 { 665 /* On Low speed expansion */ 666 label = "LS-I2C1"; 667 status = "okay"; 668}; 669 670&uart3 { 671 /* On Low speed expansion */ 672 label = "LS-UART0"; 673 status = "okay"; 674}; 675 676&uart4 { 677 status = "okay"; 678 679 bluetooth { 680 compatible = "ti,wl1837-st"; 681 enable-gpios = <&gpio15 6 GPIO_ACTIVE_HIGH>; 682 max-speed = <3000000>; 683 }; 684}; 685 686&uart6 { 687 /* On Low speed expansion */ 688 label = "LS-UART1"; 689 status = "okay"; 690}; 691 692&spi2 { 693 /* On Low speed expansion */ 694 label = "LS-SPI0"; 695 status = "okay"; 696}; 697 698&spi3 { 699 /* On High speed expansion */ 700 label = "HS-SPI1"; 701 status = "okay"; 702}; 703 704&dwmmc1 { 705 bus-width = <0x4>; 706 cap-sd-highspeed; 707 sd-uhs-sdr12; 708 sd-uhs-sdr25; 709 sd-uhs-sdr50; 710 sd-uhs-sdr104; 711 disable-wp; 712 cd-gpios = <&gpio25 3 GPIO_ACTIVE_LOW>; 713 pinctrl-names = "default"; 714 pinctrl-0 = <&sd_pmx_func 715 &sd_clk_cfg_func 716 &sd_cfg_func>; 717 vmmc-supply = <&ldo16>; 718 vqmmc-supply = <&ldo9>; 719 status = "okay"; 720}; 721 722&dwmmc2 { /* WIFI */ 723 bus-width = <0x4>; 724 non-removable; 725 broken-cd; 726 cap-power-off-card; 727 pinctrl-names = "default"; 728 pinctrl-0 = <&sdio_pmx_func 729 &sdio_clk_cfg_func 730 &sdio_cfg_func>; 731 /* WL_EN */ 732 vmmc-supply = <&wlan_en>; 733 status = "okay"; 734 735 wlcore: wlcore@2 { 736 compatible = "ti,wl1837"; 737 reg = <2>; /* sdio func num */ 738 /* WL_IRQ, GPIO_179_WL_WAKEUP_AP */ 739 interrupt-parent = <&gpio22>; 740 interrupts = <3 IRQ_TYPE_EDGE_RISING>; 741 }; 742}; 743 744&dwc3 { /* USB */ 745 dr_mode = "otg"; 746 maximum-speed = "super-speed"; 747 phy_type = "utmi"; 748 snps,dis-del-phy-power-chg-quirk; 749 snps,lfps_filter_quirk; 750 snps,dis_u2_susphy_quirk; 751 snps,dis_u3_susphy_quirk; 752 snps,tx_de_emphasis_quirk; 753 snps,tx_de_emphasis = <1>; 754 snps,dis_enblslpm_quirk; 755 snps,gctl-reset-quirk; 756 usb-role-switch; 757 role-switch-default-mode = "host"; 758 port { 759 #address-cells = <1>; 760 #size-cells = <0>; 761 dwc3_role_switch: endpoint@0 { 762 reg = <0>; 763 remote-endpoint = <&hikey_usb_ep0>; 764 }; 765 766 dwc3_ss: endpoint@1 { 767 reg = <1>; 768 remote-endpoint = <&usb_con_ss>; 769 }; 770 }; 771}; 772