135ca8168SChen Feng/* 235ca8168SChen Feng * dts file for Hisilicon HiKey960 Development Board 335ca8168SChen Feng * 435ca8168SChen Feng * Copyright (C) 2016, Hisilicon Ltd. 535ca8168SChen Feng * 635ca8168SChen Feng */ 735ca8168SChen Feng 835ca8168SChen Feng/dts-v1/; 935ca8168SChen Feng 1035ca8168SChen Feng#include "hi3660.dtsi" 11d4e1eaeeSWang Xiaoyin#include "hikey960-pinctrl.dtsi" 122e9b4447SGuodong Xu#include <dt-bindings/gpio/gpio.h> 138cb53a8dSChen Jun#include <dt-bindings/input/input.h> 148cb53a8dSChen Jun#include <dt-bindings/interrupt-controller/irq.h> 1535ca8168SChen Feng 1635ca8168SChen Feng/ { 1735ca8168SChen Feng model = "HiKey960"; 18b6c93186SGuodong Xu compatible = "hisilicon,hi3660-hikey960", "hisilicon,hi3660"; 1935ca8168SChen Feng 2035ca8168SChen Feng aliases { 21804d7d7aSLi Wei mshc1 = &dwmmc1; 22804d7d7aSLi Wei mshc2 = &dwmmc2; 23254b07b2SChen Feng serial0 = &uart0; 24254b07b2SChen Feng serial1 = &uart1; 25254b07b2SChen Feng serial2 = &uart2; 26254b07b2SChen Feng serial3 = &uart3; 27254b07b2SChen Feng serial4 = &uart4; 28254b07b2SChen Feng serial5 = &uart5; 29254b07b2SChen Feng serial6 = &uart6; 3035ca8168SChen Feng }; 3135ca8168SChen Feng 3235ca8168SChen Feng chosen { 33254b07b2SChen Feng stdout-path = "serial6:115200n8"; 3435ca8168SChen Feng }; 3535ca8168SChen Feng 3635ca8168SChen Feng memory@0 { 3735ca8168SChen Feng device_type = "memory"; 3835ca8168SChen Feng /* rewrite this at bootloader */ 3935ca8168SChen Feng reg = <0x0 0x0 0x0 0x0>; 4035ca8168SChen Feng }; 418cb53a8dSChen Jun 429c24dc9dSGuodong Xu reserved-memory { 439c24dc9dSGuodong Xu #address-cells = <2>; 449c24dc9dSGuodong Xu #size-cells = <2>; 459c24dc9dSGuodong Xu ranges; 469c24dc9dSGuodong Xu 479c24dc9dSGuodong Xu ramoops@32000000 { 489c24dc9dSGuodong Xu compatible = "ramoops"; 499c24dc9dSGuodong Xu reg = <0x0 0x32000000 0x0 0x00100000>; 509c24dc9dSGuodong Xu record-size = <0x00020000>; 519c24dc9dSGuodong Xu console-size = <0x00020000>; 529c24dc9dSGuodong Xu ftrace-size = <0x00020000>; 539c24dc9dSGuodong Xu }; 549c24dc9dSGuodong Xu }; 559c24dc9dSGuodong Xu 56b6b681c1SGuodong Xu reboot-mode-syscon@32100000 { 57b6b681c1SGuodong Xu compatible = "syscon", "simple-mfd"; 58b6b681c1SGuodong Xu reg = <0x0 0x32100000 0x0 0x00001000>; 59b6b681c1SGuodong Xu 60b6b681c1SGuodong Xu reboot-mode { 61b6b681c1SGuodong Xu compatible = "syscon-reboot-mode"; 62b6b681c1SGuodong Xu offset = <0x0>; 63b6b681c1SGuodong Xu 64b6b681c1SGuodong Xu mode-normal = <0x77665501>; 65b6b681c1SGuodong Xu mode-bootloader = <0x77665500>; 66b6b681c1SGuodong Xu mode-recovery = <0x77665502>; 67b6b681c1SGuodong Xu }; 68b6b681c1SGuodong Xu }; 69b6b681c1SGuodong Xu 708cb53a8dSChen Jun keys { 718cb53a8dSChen Jun compatible = "gpio-keys"; 728cb53a8dSChen Jun pinctrl-names = "default"; 738cb53a8dSChen Jun pinctrl-0 = <&pwr_key_pmx_func &pwr_key_cfg_func>; 748cb53a8dSChen Jun 758cb53a8dSChen Jun power { 768cb53a8dSChen Jun wakeup-source; 778cb53a8dSChen Jun gpios = <&gpio4 2 GPIO_ACTIVE_LOW>; 788cb53a8dSChen Jun label = "GPIO Power"; 798cb53a8dSChen Jun linux,code = <KEY_POWER>; 808cb53a8dSChen Jun }; 818cb53a8dSChen Jun }; 82fc5f2ed6SGuodong Xu 83fc5f2ed6SGuodong Xu leds { 84fc5f2ed6SGuodong Xu compatible = "gpio-leds"; 85fc5f2ed6SGuodong Xu 86fc5f2ed6SGuodong Xu user_led1 { 87fc5f2ed6SGuodong Xu label = "user_led1"; 88fc5f2ed6SGuodong Xu /* gpio_150_user_led1 */ 89fc5f2ed6SGuodong Xu gpios = <&gpio18 6 0>; 90fc5f2ed6SGuodong Xu linux,default-trigger = "heartbeat"; 91fc5f2ed6SGuodong Xu }; 92fc5f2ed6SGuodong Xu 93fc5f2ed6SGuodong Xu user_led2 { 94fc5f2ed6SGuodong Xu label = "user_led2"; 95fc5f2ed6SGuodong Xu /* gpio_151_user_led2 */ 96fc5f2ed6SGuodong Xu gpios = <&gpio18 7 0>; 97fc5f2ed6SGuodong Xu linux,default-trigger = "mmc0"; 98fc5f2ed6SGuodong Xu }; 99fc5f2ed6SGuodong Xu 100fc5f2ed6SGuodong Xu user_led3 { 101fc5f2ed6SGuodong Xu label = "user_led3"; 102fc5f2ed6SGuodong Xu /* gpio_189_user_led3 */ 103fc5f2ed6SGuodong Xu gpios = <&gpio23 5 0>; 104fc5f2ed6SGuodong Xu default-state = "off"; 105fc5f2ed6SGuodong Xu }; 106fc5f2ed6SGuodong Xu 107fc5f2ed6SGuodong Xu user_led4 { 108fc5f2ed6SGuodong Xu label = "user_led4"; 109fc5f2ed6SGuodong Xu /* gpio_190_user_led4 */ 110fc5f2ed6SGuodong Xu gpios = <&gpio23 6 0>; 111fc5f2ed6SGuodong Xu linux,default-trigger = "cpu0"; 112fc5f2ed6SGuodong Xu }; 113fc5f2ed6SGuodong Xu 114fc5f2ed6SGuodong Xu wlan_active_led { 115fc5f2ed6SGuodong Xu label = "wifi_active"; 116fc5f2ed6SGuodong Xu /* gpio_205_wifi_active */ 117fc5f2ed6SGuodong Xu gpios = <&gpio25 5 0>; 118fc5f2ed6SGuodong Xu linux,default-trigger = "phy0tx"; 119fc5f2ed6SGuodong Xu default-state = "off"; 120fc5f2ed6SGuodong Xu }; 121fc5f2ed6SGuodong Xu 122fc5f2ed6SGuodong Xu bt_active_led { 123fc5f2ed6SGuodong Xu label = "bt_active"; 124fc5f2ed6SGuodong Xu gpios = <&gpio25 7 0>; 125fc5f2ed6SGuodong Xu /* gpio_207_user_led1 */ 126fc5f2ed6SGuodong Xu linux,default-trigger = "hci0-power"; 127fc5f2ed6SGuodong Xu default-state = "off"; 128fc5f2ed6SGuodong Xu }; 129fc5f2ed6SGuodong Xu }; 130e02045aaSWang Xiaoyin 131e02045aaSWang Xiaoyin pmic: pmic@fff34000 { 132e02045aaSWang Xiaoyin compatible = "hisilicon,hi6421v530-pmic"; 133e02045aaSWang Xiaoyin reg = <0x0 0xfff34000 0x0 0x1000>; 134e02045aaSWang Xiaoyin interrupt-controller; 135e02045aaSWang Xiaoyin #interrupt-cells = <2>; 136e02045aaSWang Xiaoyin 137e02045aaSWang Xiaoyin regulators { 138e02045aaSWang Xiaoyin ldo3: LDO3 { /* HDMI */ 139e02045aaSWang Xiaoyin regulator-name = "VOUT3_1V85"; 140e02045aaSWang Xiaoyin regulator-min-microvolt = <1800000>; 141e02045aaSWang Xiaoyin regulator-max-microvolt = <2200000>; 142e02045aaSWang Xiaoyin regulator-enable-ramp-delay = <120>; 143e02045aaSWang Xiaoyin }; 144e02045aaSWang Xiaoyin 145e02045aaSWang Xiaoyin ldo9: LDO9 { /* SDCARD I/O */ 146e02045aaSWang Xiaoyin regulator-name = "VOUT9_1V8_2V95"; 147e02045aaSWang Xiaoyin regulator-min-microvolt = <1750000>; 148e02045aaSWang Xiaoyin regulator-max-microvolt = <3300000>; 149e02045aaSWang Xiaoyin regulator-enable-ramp-delay = <240>; 150e02045aaSWang Xiaoyin }; 151e02045aaSWang Xiaoyin 152e02045aaSWang Xiaoyin ldo11: LDO11 { /* Low Speed Connector */ 153e02045aaSWang Xiaoyin regulator-name = "VOUT11_1V8_2V95"; 154e02045aaSWang Xiaoyin regulator-min-microvolt = <1750000>; 155e02045aaSWang Xiaoyin regulator-max-microvolt = <3300000>; 156e02045aaSWang Xiaoyin regulator-enable-ramp-delay = <240>; 157e02045aaSWang Xiaoyin }; 158e02045aaSWang Xiaoyin 159e02045aaSWang Xiaoyin ldo15: LDO15 { /* UFS VCC */ 160e02045aaSWang Xiaoyin regulator-name = "VOUT15_3V0"; 161e02045aaSWang Xiaoyin regulator-min-microvolt = <1750000>; 162e02045aaSWang Xiaoyin regulator-max-microvolt = <3000000>; 163e02045aaSWang Xiaoyin regulator-boot-on; 164e02045aaSWang Xiaoyin regulator-always-on; 165e02045aaSWang Xiaoyin regulator-enable-ramp-delay = <120>; 166e02045aaSWang Xiaoyin }; 167e02045aaSWang Xiaoyin 168e02045aaSWang Xiaoyin ldo16: LDO16 { /* SD VDD */ 169e02045aaSWang Xiaoyin regulator-name = "VOUT16_2V95"; 170e02045aaSWang Xiaoyin regulator-min-microvolt = <1750000>; 171e02045aaSWang Xiaoyin regulator-max-microvolt = <3000000>; 172e02045aaSWang Xiaoyin regulator-enable-ramp-delay = <360>; 173e02045aaSWang Xiaoyin }; 174e02045aaSWang Xiaoyin }; 175e02045aaSWang Xiaoyin }; 1767d8c3667SGuodong Xu 1777d8c3667SGuodong Xu wlan_en: wlan-en-1-8v { 1787d8c3667SGuodong Xu compatible = "regulator-fixed"; 1797d8c3667SGuodong Xu regulator-name = "wlan-en-regulator"; 1807d8c3667SGuodong Xu regulator-min-microvolt = <1800000>; 1817d8c3667SGuodong Xu regulator-max-microvolt = <1800000>; 1827d8c3667SGuodong Xu 1837d8c3667SGuodong Xu /* GPIO_051_WIFI_EN */ 1847d8c3667SGuodong Xu gpio = <&gpio6 3 0>; 1857d8c3667SGuodong Xu 1867d8c3667SGuodong Xu /* WLAN card specific delay */ 1877d8c3667SGuodong Xu startup-delay-us = <70000>; 1887d8c3667SGuodong Xu enable-active-high; 1897d8c3667SGuodong Xu }; 190313aebdaSVictor Chong 191313aebdaSVictor Chong firmware { 192313aebdaSVictor Chong optee { 193313aebdaSVictor Chong compatible = "linaro,optee-tz"; 194313aebdaSVictor Chong method = "smc"; 195313aebdaSVictor Chong }; 196313aebdaSVictor Chong }; 19735ca8168SChen Feng}; 19835ca8168SChen Feng 199*63fc36cdSLinus Walleij/* 200*63fc36cdSLinus Walleij * Legend: proper name = the GPIO line is used as GPIO 201*63fc36cdSLinus Walleij * NC = not connected (pin out but not routed from the chip to 202*63fc36cdSLinus Walleij * anything the board) 203*63fc36cdSLinus Walleij * "[PER]" = pin is muxed for [peripheral] (not GPIO) 204*63fc36cdSLinus Walleij * "" = no idea, schematic doesn't say, could be 205*63fc36cdSLinus Walleij * unrouted (not connected to any external pin) 206*63fc36cdSLinus Walleij * LSEC = Low Speed External Connector 207*63fc36cdSLinus Walleij * HSEC = High Speed External Connector 208*63fc36cdSLinus Walleij * 209*63fc36cdSLinus Walleij * Line names are taken from "HiKey 960 Board ver A" schematics 210*63fc36cdSLinus Walleij * from Huawei. The 40 pin low speed expansion connector is named 211*63fc36cdSLinus Walleij * J2002 63453-140LF. 212*63fc36cdSLinus Walleij * 213*63fc36cdSLinus Walleij * For the lines routed to the external connectors the 214*63fc36cdSLinus Walleij * lines are named after the 96Boards CE Specification 1.0, 215*63fc36cdSLinus Walleij * Appendix "Expansion Connector Signal Description". 216*63fc36cdSLinus Walleij * 217*63fc36cdSLinus Walleij * When the 96Board naming of a line and the schematic name of 218*63fc36cdSLinus Walleij * the same line are in conflict, the 96Board specification 219*63fc36cdSLinus Walleij * takes precedence, which means that the external UART on the 220*63fc36cdSLinus Walleij * LSEC is named UART0 while the schematic and SoC names this 221*63fc36cdSLinus Walleij * UART3. This is only for the informational lines i.e. "[FOO]", 222*63fc36cdSLinus Walleij * the GPIO named lines "GPIO-A" thru "GPIO-L" are the only 223*63fc36cdSLinus Walleij * ones actually used for GPIO. 224*63fc36cdSLinus Walleij */ 225*63fc36cdSLinus Walleij&gpio0 { 226*63fc36cdSLinus Walleij /* GPIO_000-GPIO_007 */ 227*63fc36cdSLinus Walleij gpio-line-names = 228*63fc36cdSLinus Walleij "", 229*63fc36cdSLinus Walleij "TP901", /* TEST_MODE connected to TP901 */ 230*63fc36cdSLinus Walleij "[PMU0_SSI]", 231*63fc36cdSLinus Walleij "[PMU1_SSI]", 232*63fc36cdSLinus Walleij "[PMU2_SSI]", 233*63fc36cdSLinus Walleij "[PMU0_CLKOUT]", 234*63fc36cdSLinus Walleij "[JTAG_TCK]", 235*63fc36cdSLinus Walleij "[JTAG_TMS]"; 236*63fc36cdSLinus Walleij}; 237*63fc36cdSLinus Walleij 238*63fc36cdSLinus Walleij&gpio1 { 239*63fc36cdSLinus Walleij /* GPIO_008-GPIO_015 */ 240*63fc36cdSLinus Walleij gpio-line-names = 241*63fc36cdSLinus Walleij "[JTAG_TRST_N]", 242*63fc36cdSLinus Walleij "[JTAG_TDI]", 243*63fc36cdSLinus Walleij "[JTAG_TDO]", 244*63fc36cdSLinus Walleij "NC", "NC", 245*63fc36cdSLinus Walleij "[I2C3_SCL]", 246*63fc36cdSLinus Walleij "[I2C3_SDA]", 247*63fc36cdSLinus Walleij "NC"; 248*63fc36cdSLinus Walleij}; 249*63fc36cdSLinus Walleij 250*63fc36cdSLinus Walleij&gpio2 { 251*63fc36cdSLinus Walleij /* GPIO_016-GPIO_023 */ 252*63fc36cdSLinus Walleij gpio-line-names = 253*63fc36cdSLinus Walleij "NC", "NC", "NC", 254*63fc36cdSLinus Walleij "GPIO-J", /* LSEC pin 32: GPIO_019 */ 255*63fc36cdSLinus Walleij "GPIO_020_HDMI_SEL", 256*63fc36cdSLinus Walleij "GPIO-L", /* LSEC pin 34: GPIO_021 */ 257*63fc36cdSLinus Walleij "GPIO_022_UFSBUCK_INT_N", 258*63fc36cdSLinus Walleij "GPIO-G"; /* LSEC pin 29: LCD_TE0 */ 259*63fc36cdSLinus Walleij}; 260*63fc36cdSLinus Walleij 261*63fc36cdSLinus Walleij&gpio3 { 262*63fc36cdSLinus Walleij /* GPIO_024-GPIO_031 */ 263*63fc36cdSLinus Walleij /* The rail from pin BK36 is named LCD_TE0, we assume to be muxed as GPIO for GPIO-G */ 264*63fc36cdSLinus Walleij gpio-line-names = 265*63fc36cdSLinus Walleij "[CSI0_MCLK]", /* HSEC pin 15: ISP_CCLK0_MCAM */ 266*63fc36cdSLinus Walleij "[CSI1_MCLK]", /* HSEC pin 17: ISP_CCLK1_SCAM */ 267*63fc36cdSLinus Walleij "NC", 268*63fc36cdSLinus Walleij "[I2C2_SCL]", /* HSEC pin 32: ISP_SCL0 */ 269*63fc36cdSLinus Walleij "[I2C2_SDA]", /* HSEC pin 34: ISP_SDA0 */ 270*63fc36cdSLinus Walleij "[I2C3_SCL]", /* HSEC pin 36: ISP_SCL1 */ 271*63fc36cdSLinus Walleij "[I2C3_SDA]", /* HSEC pin 38: ISP_SDA1 */ 272*63fc36cdSLinus Walleij "NC"; 273*63fc36cdSLinus Walleij}; 274*63fc36cdSLinus Walleij 275*63fc36cdSLinus Walleij&gpio4 { 276*63fc36cdSLinus Walleij /* GPIO_032-GPIO_039 */ 277*63fc36cdSLinus Walleij gpio-line-names = 278*63fc36cdSLinus Walleij "NC", "NC", 279*63fc36cdSLinus Walleij "PWR_BTN_N", /* LSEC pin 4: GPIO_034_PWRON_DET */ 280*63fc36cdSLinus Walleij "GPIO_035_PMU2_EN", 281*63fc36cdSLinus Walleij "GPIO_036_USB_HUB_RESET", 282*63fc36cdSLinus Walleij "NC", "NC", "NC"; 283*63fc36cdSLinus Walleij}; 284*63fc36cdSLinus Walleij 285*63fc36cdSLinus Walleij&gpio5 { 286*63fc36cdSLinus Walleij /* GPIO_040-GPIO_047 */ 287*63fc36cdSLinus Walleij gpio-line-names = 288*63fc36cdSLinus Walleij "GPIO-H", /* LSEC pin 30: GPIO_040_LCD_RST_N */ 289*63fc36cdSLinus Walleij "GPIO_041_HDMI_PD", 290*63fc36cdSLinus Walleij "TP904", /* Test point */ 291*63fc36cdSLinus Walleij "TP905", /* Test point */ 292*63fc36cdSLinus Walleij "NC", "NC", 293*63fc36cdSLinus Walleij "GPIO_046_HUB_VDD33_EN", 294*63fc36cdSLinus Walleij "GPIO_047_PMU1_EN"; 295*63fc36cdSLinus Walleij}; 296*63fc36cdSLinus Walleij 297*63fc36cdSLinus Walleij&gpio6 { 298*63fc36cdSLinus Walleij /* GPIO_048-GPIO_055 */ 299*63fc36cdSLinus Walleij gpio-line-names = 300*63fc36cdSLinus Walleij "NC", "NC", "NC", 301*63fc36cdSLinus Walleij "GPIO_051_WIFI_EN", 302*63fc36cdSLinus Walleij "GPIO-I", /* LSEC pin 31: GPIO_052_CAM0_RST_N */ 303*63fc36cdSLinus Walleij /* 304*63fc36cdSLinus Walleij * These two pins should be used for SD(IO) data according to the 305*63fc36cdSLinus Walleij * 96boards specification but seems to be repurposed for a IRDA UART. 306*63fc36cdSLinus Walleij * They are however named according to the spec. 307*63fc36cdSLinus Walleij */ 308*63fc36cdSLinus Walleij "[SD_DAT1]", /* HSEC pin 3: UART0_IRDA_RXD */ 309*63fc36cdSLinus Walleij "[SD_DAT2]", /* HSEC pin 5: UART0_IRDA_TXD */ 310*63fc36cdSLinus Walleij "[UART1_RXD]"; /* LSEC pin 13: DEBUG_UART6_RXD */ 311*63fc36cdSLinus Walleij}; 312*63fc36cdSLinus Walleij 313*63fc36cdSLinus Walleij&gpio7 { 314*63fc36cdSLinus Walleij /* GPIO_056-GPIO_063 */ 315*63fc36cdSLinus Walleij gpio-line-names = 316*63fc36cdSLinus Walleij "[UART1_TXD]", /* LSEC pin 11: DEBUG_UART6_TXD */ 317*63fc36cdSLinus Walleij "[UART0_CTS]", /* LSEC pin 3: UART3_CTS_N */ 318*63fc36cdSLinus Walleij "[UART0_RTS]", /* LSEC pin 9: UART3_RTS_N */ 319*63fc36cdSLinus Walleij "[UART0_RXD]", /* LSEC pin 7: UART3_RXD */ 320*63fc36cdSLinus Walleij "[UART0_TXD]", /* LSEC pin 5: UART3_TXD */ 321*63fc36cdSLinus Walleij "[SOC_BT_UART4_CTS_N]", 322*63fc36cdSLinus Walleij "[SOC_BT_UART4_RTS_N]", 323*63fc36cdSLinus Walleij "[SOC_BT_UART4_RXD]"; 324*63fc36cdSLinus Walleij}; 325*63fc36cdSLinus Walleij 326*63fc36cdSLinus Walleij&gpio8 { 327*63fc36cdSLinus Walleij /* GPIO_064-GPIO_071 */ 328*63fc36cdSLinus Walleij gpio-line-names = 329*63fc36cdSLinus Walleij "[SOC_BT_UART4_TXD]", 330*63fc36cdSLinus Walleij "NC", 331*63fc36cdSLinus Walleij "[PMU_HKADC_SSI]", 332*63fc36cdSLinus Walleij "NC", 333*63fc36cdSLinus Walleij "GPIO_068_SEL", 334*63fc36cdSLinus Walleij "NC", "NC", "NC"; 335*63fc36cdSLinus Walleij 336*63fc36cdSLinus Walleij}; 337*63fc36cdSLinus Walleij 338*63fc36cdSLinus Walleij&gpio9 { 339*63fc36cdSLinus Walleij /* GPIO_072-GPIO_079 */ 340*63fc36cdSLinus Walleij gpio-line-names = 341*63fc36cdSLinus Walleij "NC", "NC", "NC", 342*63fc36cdSLinus Walleij "GPIO-K", /* LSEC pin 33: GPIO_075_CAM1_RST_N */ 343*63fc36cdSLinus Walleij "NC", "NC", "NC", "NC"; 344*63fc36cdSLinus Walleij}; 345*63fc36cdSLinus Walleij 346*63fc36cdSLinus Walleij&gpio10 { 347*63fc36cdSLinus Walleij /* GPIO_080-GPIO_087 */ 348*63fc36cdSLinus Walleij gpio-line-names = "NC", "NC", "NC", "NC", "NC", "NC", "NC", "NC"; 349*63fc36cdSLinus Walleij}; 350*63fc36cdSLinus Walleij 351*63fc36cdSLinus Walleij&gpio11 { 352*63fc36cdSLinus Walleij /* GPIO_088-GPIO_095 */ 353*63fc36cdSLinus Walleij gpio-line-names = 354*63fc36cdSLinus Walleij "NC", 355*63fc36cdSLinus Walleij "[PCIE_PERST_N]", 356*63fc36cdSLinus Walleij "NC", "NC", "NC", "NC", "NC", "NC"; 357*63fc36cdSLinus Walleij}; 358*63fc36cdSLinus Walleij 359*63fc36cdSLinus Walleij&gpio12 { 360*63fc36cdSLinus Walleij /* GPIO_096-GPIO_103 */ 361*63fc36cdSLinus Walleij gpio-line-names = "NC", "NC", "NC", "", "", "", "", "NC"; 362*63fc36cdSLinus Walleij}; 363*63fc36cdSLinus Walleij 364*63fc36cdSLinus Walleij&gpio13 { 365*63fc36cdSLinus Walleij /* GPIO_104-GPIO_111 */ 366*63fc36cdSLinus Walleij gpio-line-names = "NC", "NC", "NC", "NC", "NC", "NC", "NC", "NC"; 367*63fc36cdSLinus Walleij}; 368*63fc36cdSLinus Walleij 369*63fc36cdSLinus Walleij&gpio14 { 370*63fc36cdSLinus Walleij /* GPIO_112-GPIO_119 */ 371*63fc36cdSLinus Walleij gpio-line-names = "NC", "NC", "NC", "NC", "NC", "NC", "NC", "NC"; 372*63fc36cdSLinus Walleij}; 373*63fc36cdSLinus Walleij 374*63fc36cdSLinus Walleij&gpio15 { 375*63fc36cdSLinus Walleij /* GPIO_120-GPIO_127 */ 376*63fc36cdSLinus Walleij gpio-line-names = 377*63fc36cdSLinus Walleij "NC", "NC", "NC", "NC", "NC", "NC", 378*63fc36cdSLinus Walleij "GPIO_126_BT_EN", 379*63fc36cdSLinus Walleij "TP902"; /* GPIO_127_JTAG_SEL0 */ 380*63fc36cdSLinus Walleij}; 381*63fc36cdSLinus Walleij 382*63fc36cdSLinus Walleij&gpio16 { 383*63fc36cdSLinus Walleij /* GPIO_128-GPIO_135 */ 384*63fc36cdSLinus Walleij gpio-line-names = "", "", "", "", "", "", "", ""; 385*63fc36cdSLinus Walleij}; 386*63fc36cdSLinus Walleij 387*63fc36cdSLinus Walleij&gpio17 { 388*63fc36cdSLinus Walleij /* GPIO_136-GPIO_143 */ 389*63fc36cdSLinus Walleij gpio-line-names = "", "", "", "", "", "", "", ""; 390*63fc36cdSLinus Walleij}; 391*63fc36cdSLinus Walleij 392*63fc36cdSLinus Walleij&gpio18 { 393*63fc36cdSLinus Walleij /* GPIO_144-GPIO_151 */ 394*63fc36cdSLinus Walleij gpio-line-names = 395*63fc36cdSLinus Walleij "[UFS_REF_CLK]", 396*63fc36cdSLinus Walleij "[UFS_RST_N]", 397*63fc36cdSLinus Walleij "[SPI1_SCLK]", /* HSEC pin 9: GPIO_146_SPI3_CLK */ 398*63fc36cdSLinus Walleij "[SPI1_DIN]", /* HSEC pin 11: GPIO_147_SPI3_DI */ 399*63fc36cdSLinus Walleij "[SPI1_DOUT]", /* HSEC pin 1: GPIO_148_SPI3_DO */ 400*63fc36cdSLinus Walleij "[SPI1_CS]", /* HSEC pin 7: GPIO_149_SPI3_CS0_N */ 401*63fc36cdSLinus Walleij "GPIO_150_USER_LED1", 402*63fc36cdSLinus Walleij "GPIO_151_USER_LED2"; 403*63fc36cdSLinus Walleij}; 404*63fc36cdSLinus Walleij 405*63fc36cdSLinus Walleij&gpio19 { 406*63fc36cdSLinus Walleij /* GPIO_152-GPIO_159 */ 407*63fc36cdSLinus Walleij gpio-line-names = "NC", "NC", "NC", "NC", "", "", "", ""; 408*63fc36cdSLinus Walleij}; 409*63fc36cdSLinus Walleij 410*63fc36cdSLinus Walleij&gpio20 { 411*63fc36cdSLinus Walleij /* GPIO_160-GPIO_167 */ 412*63fc36cdSLinus Walleij gpio-line-names = 413*63fc36cdSLinus Walleij "[SD_CLK]", 414*63fc36cdSLinus Walleij "[SD_CMD]", 415*63fc36cdSLinus Walleij "[SD_DATA0]", 416*63fc36cdSLinus Walleij "[SD_DATA1]", 417*63fc36cdSLinus Walleij "[SD_DATA2]", 418*63fc36cdSLinus Walleij "[SD_DATA3]", 419*63fc36cdSLinus Walleij "", ""; 420*63fc36cdSLinus Walleij}; 421*63fc36cdSLinus Walleij 422*63fc36cdSLinus Walleij&gpio21 { 423*63fc36cdSLinus Walleij /* GPIO_168-GPIO_175 */ 424*63fc36cdSLinus Walleij gpio-line-names = 425*63fc36cdSLinus Walleij "[WL_SDIO_CLK]", 426*63fc36cdSLinus Walleij "[WL_SDIO_CMD]", 427*63fc36cdSLinus Walleij "[WL_SDIO_DATA0]", 428*63fc36cdSLinus Walleij "[WL_SDIO_DATA1]", 429*63fc36cdSLinus Walleij "[WL_SDIO_DATA2]", 430*63fc36cdSLinus Walleij "[WL_SDIO_DATA3]", 431*63fc36cdSLinus Walleij "", ""; 432*63fc36cdSLinus Walleij}; 433*63fc36cdSLinus Walleij 434*63fc36cdSLinus Walleij&gpio22 { 435*63fc36cdSLinus Walleij /* GPIO_176-GPIO_183 */ 436*63fc36cdSLinus Walleij gpio-line-names = 437*63fc36cdSLinus Walleij "[GPIO_176_PMU_PWR_HOLD]", 438*63fc36cdSLinus Walleij "NA", 439*63fc36cdSLinus Walleij "[SYSCLK_EN]", 440*63fc36cdSLinus Walleij "GPIO_179_WL_WAKEUP_AP", 441*63fc36cdSLinus Walleij "GPIO_180_HDMI_INT", 442*63fc36cdSLinus Walleij "NA", 443*63fc36cdSLinus Walleij "GPIO-F", /* LSEC pin 28: LCD_BL_PWM */ 444*63fc36cdSLinus Walleij "[I2C0_SCL]"; /* LSEC pin 15 */ 445*63fc36cdSLinus Walleij}; 446*63fc36cdSLinus Walleij 447*63fc36cdSLinus Walleij&gpio23 { 448*63fc36cdSLinus Walleij /* GPIO_184-GPIO_191 */ 449*63fc36cdSLinus Walleij gpio-line-names = 450*63fc36cdSLinus Walleij "[I2C0_SDA]", /* LSEC pin 17 */ 451*63fc36cdSLinus Walleij "[I2C1_SCL]", /* Actual SoC I2C1 */ 452*63fc36cdSLinus Walleij "[I2C1_SDA]", /* Actual SoC I2C1 */ 453*63fc36cdSLinus Walleij "[I2C1_SCL]", /* LSEC pin 19: I2C7_SCL */ 454*63fc36cdSLinus Walleij "[I2C1_SDA]", /* LSEC pin 21: I2C7_SDA */ 455*63fc36cdSLinus Walleij "GPIO_189_USER_LED3", 456*63fc36cdSLinus Walleij "GPIO_190_USER_LED4", 457*63fc36cdSLinus Walleij ""; 458*63fc36cdSLinus Walleij}; 459*63fc36cdSLinus Walleij 460*63fc36cdSLinus Walleij&gpio24 { 461*63fc36cdSLinus Walleij /* GPIO_192-GPIO_199 */ 462*63fc36cdSLinus Walleij gpio-line-names = 463*63fc36cdSLinus Walleij "[PCM_DI]", /* LSEC pin 22: GPIO_192_I2S0_DI */ 464*63fc36cdSLinus Walleij "[PCM_DO]", /* LSEC pin 20: GPIO_193_I2S0_DO */ 465*63fc36cdSLinus Walleij "[PCM_CLK]", /* LSEC pin 18: GPIO_194_I2S0_XCLK */ 466*63fc36cdSLinus Walleij "[PCM_FS]", /* LSEC pin 16: GPIO_195_I2S0_XFS */ 467*63fc36cdSLinus Walleij "[GPIO_196_I2S2_DI]", 468*63fc36cdSLinus Walleij "[GPIO_197_I2S2_DO]", 469*63fc36cdSLinus Walleij "[GPIO_198_I2S2_XCLK]", 470*63fc36cdSLinus Walleij "[GPIO_199_I2S2_XFS]"; 471*63fc36cdSLinus Walleij}; 472*63fc36cdSLinus Walleij 473*63fc36cdSLinus Walleij&gpio25 { 474*63fc36cdSLinus Walleij /* GPIO_200-GPIO_207 */ 475*63fc36cdSLinus Walleij gpio-line-names = 476*63fc36cdSLinus Walleij "NC", 477*63fc36cdSLinus Walleij "NC", 478*63fc36cdSLinus Walleij "GPIO_202_VBUS_TYPEC", 479*63fc36cdSLinus Walleij "GPIO_203_SD_DET", 480*63fc36cdSLinus Walleij "GPIO_204_PMU12_IRQ_N", 481*63fc36cdSLinus Walleij "GPIO_205_WIFI_ACTIVE", 482*63fc36cdSLinus Walleij "GPIO_206_USBSW_SEL", 483*63fc36cdSLinus Walleij "GPIO_207_BT_ACTIVE"; 484*63fc36cdSLinus Walleij}; 485*63fc36cdSLinus Walleij 486*63fc36cdSLinus Walleij&gpio26 { 487*63fc36cdSLinus Walleij /* GPIO_208-GPIO_215 */ 488*63fc36cdSLinus Walleij gpio-line-names = 489*63fc36cdSLinus Walleij "GPIO-A", /* LSEC pin 23: GPIO_208 */ 490*63fc36cdSLinus Walleij "GPIO-B", /* LSEC pin 24: GPIO_209 */ 491*63fc36cdSLinus Walleij "GPIO-C", /* LSEC pin 25: GPIO_210 */ 492*63fc36cdSLinus Walleij "GPIO-D", /* LSEC pin 26: GPIO_211 */ 493*63fc36cdSLinus Walleij "GPIO-E", /* LSEC pin 27: GPIO_212 */ 494*63fc36cdSLinus Walleij "[PCIE_CLKREQ_N]", 495*63fc36cdSLinus Walleij "[PCIE_WAKE_N]", 496*63fc36cdSLinus Walleij "[SPI0_CLK]"; /* LSEC pin 8: SPI2_CLK */ 497*63fc36cdSLinus Walleij}; 498*63fc36cdSLinus Walleij 499*63fc36cdSLinus Walleij&gpio27 { 500*63fc36cdSLinus Walleij /* GPIO_216-GPIO_223 */ 501*63fc36cdSLinus Walleij gpio-line-names = 502*63fc36cdSLinus Walleij "[SPI0_DIN]", /* LSEC pin 10: SPI2_DI */ 503*63fc36cdSLinus Walleij "[SPI0_DOUT]", /* LSEC pin 14: SPI2_DO */ 504*63fc36cdSLinus Walleij "[SPI0_CS]", /* LSEC pin 12: SPI2_CS0_N */ 505*63fc36cdSLinus Walleij "GPIO_219_CC_INT", 506*63fc36cdSLinus Walleij "NC", 507*63fc36cdSLinus Walleij "NC", 508*63fc36cdSLinus Walleij "[PMU_INT]", 509*63fc36cdSLinus Walleij ""; 510*63fc36cdSLinus Walleij}; 511*63fc36cdSLinus Walleij 512*63fc36cdSLinus Walleij&gpio28 { 513*63fc36cdSLinus Walleij /* GPIO_224-GPIO_231 */ 514*63fc36cdSLinus Walleij gpio-line-names = 515*63fc36cdSLinus Walleij "", "", "", "", "", "", "", ""; 516*63fc36cdSLinus Walleij}; 517*63fc36cdSLinus Walleij 5185f8a3b77SZhangfei Gao&i2c0 { 5195f8a3b77SZhangfei Gao /* On Low speed expansion */ 5205f8a3b77SZhangfei Gao label = "LS-I2C0"; 5215f8a3b77SZhangfei Gao status = "okay"; 5225f8a3b77SZhangfei Gao}; 5235f8a3b77SZhangfei Gao 5245f8a3b77SZhangfei Gao&i2c1 { 5255f8a3b77SZhangfei Gao status = "okay"; 5265f8a3b77SZhangfei Gao 5275f8a3b77SZhangfei Gao adv7533: adv7533@39 { 5285f8a3b77SZhangfei Gao status = "ok"; 5295f8a3b77SZhangfei Gao compatible = "adi,adv7533"; 5305f8a3b77SZhangfei Gao reg = <0x39>; 5315f8a3b77SZhangfei Gao }; 5325f8a3b77SZhangfei Gao}; 5335f8a3b77SZhangfei Gao 5345f8a3b77SZhangfei Gao&i2c7 { 5355f8a3b77SZhangfei Gao /* On Low speed expansion */ 5365f8a3b77SZhangfei Gao label = "LS-I2C1"; 5375f8a3b77SZhangfei Gao status = "okay"; 5385f8a3b77SZhangfei Gao}; 5395f8a3b77SZhangfei Gao 540254b07b2SChen Feng&uart3 { 541254b07b2SChen Feng /* On Low speed expansion */ 542254b07b2SChen Feng label = "LS-UART0"; 543254b07b2SChen Feng status = "okay"; 544254b07b2SChen Feng}; 545254b07b2SChen Feng 5462e9b4447SGuodong Xu&uart4 { 5472e9b4447SGuodong Xu status = "okay"; 5482e9b4447SGuodong Xu 5492e9b4447SGuodong Xu bluetooth { 5502e9b4447SGuodong Xu compatible = "ti,wl1837-st"; 5512e9b4447SGuodong Xu enable-gpios = <&gpio15 6 GPIO_ACTIVE_HIGH>; 552bf1ff532SGuodong Xu max-speed = <3000000>; 5532e9b4447SGuodong Xu }; 5542e9b4447SGuodong Xu}; 5552e9b4447SGuodong Xu 556254b07b2SChen Feng&uart6 { 557254b07b2SChen Feng /* On Low speed expansion */ 558254b07b2SChen Feng label = "LS-UART1"; 55935ca8168SChen Feng status = "okay"; 56035ca8168SChen Feng}; 56138810497SWang Xiaoyin 56238810497SWang Xiaoyin&spi2 { 56338810497SWang Xiaoyin /* On Low speed expansion */ 56438810497SWang Xiaoyin label = "LS-SPI0"; 56538810497SWang Xiaoyin status = "okay"; 56638810497SWang Xiaoyin}; 56738810497SWang Xiaoyin 56838810497SWang Xiaoyin&spi3 { 56938810497SWang Xiaoyin /* On High speed expansion */ 57038810497SWang Xiaoyin label = "HS-SPI1"; 57138810497SWang Xiaoyin status = "okay"; 57238810497SWang Xiaoyin}; 573804d7d7aSLi Wei 574804d7d7aSLi Wei&dwmmc1 { 575804d7d7aSLi Wei vmmc-supply = <&ldo16>; 576804d7d7aSLi Wei vqmmc-supply = <&ldo9>; 577804d7d7aSLi Wei status = "okay"; 578804d7d7aSLi Wei}; 5797d8c3667SGuodong Xu 5807d8c3667SGuodong Xu&dwmmc2 { /* WIFI */ 5817d8c3667SGuodong Xu broken-cd; 5827d8c3667SGuodong Xu /* WL_EN */ 5837d8c3667SGuodong Xu vmmc-supply = <&wlan_en>; 5847d8c3667SGuodong Xu ti,non-removable; 5857d8c3667SGuodong Xu non-removable; 5867d8c3667SGuodong Xu #address-cells = <0x1>; 5877d8c3667SGuodong Xu #size-cells = <0x0>; 5887d8c3667SGuodong Xu status = "ok"; 5897d8c3667SGuodong Xu 5907d8c3667SGuodong Xu wlcore: wlcore@2 { 5917d8c3667SGuodong Xu compatible = "ti,wl1837"; 5927d8c3667SGuodong Xu reg = <2>; /* sdio func num */ 5937d8c3667SGuodong Xu /* WL_IRQ, GPIO_179_WL_WAKEUP_AP */ 5947d8c3667SGuodong Xu interrupt-parent = <&gpio22>; 5957d8c3667SGuodong Xu interrupts = <3 IRQ_TYPE_EDGE_RISING>; 5967d8c3667SGuodong Xu }; 5977d8c3667SGuodong Xu}; 598