186e8f528SBintian Wang/* 286e8f528SBintian Wang * dts file for Hisilicon HiKey Development Board 386e8f528SBintian Wang * 486e8f528SBintian Wang * Copyright (C) 2015, Hisilicon Ltd. 586e8f528SBintian Wang * 686e8f528SBintian Wang */ 786e8f528SBintian Wang 886e8f528SBintian Wang/dts-v1/; 986e8f528SBintian Wang#include "hi6220.dtsi" 10379e9bf5SZhong Kaihua#include "hikey-pinctrl.dtsi" 11a817137aSChen Feng#include <dt-bindings/gpio/gpio.h> 1286e8f528SBintian Wang 1386e8f528SBintian Wang/ { 1486e8f528SBintian Wang model = "HiKey Development Board"; 1586e8f528SBintian Wang compatible = "hisilicon,hi6220-hikey", "hisilicon,hi6220"; 1686e8f528SBintian Wang 1786e8f528SBintian Wang aliases { 18a362ec8fSTyler Baker serial0 = &uart0; /* On board UART0 */ 19a362ec8fSTyler Baker serial1 = &uart1; /* BT UART */ 20a362ec8fSTyler Baker serial2 = &uart2; /* LS Expansion UART0 */ 21a362ec8fSTyler Baker serial3 = &uart3; /* LS Expansion UART1 */ 2286e8f528SBintian Wang }; 2386e8f528SBintian Wang 2486e8f528SBintian Wang chosen { 25a362ec8fSTyler Baker stdout-path = "serial3:115200n8"; 2686e8f528SBintian Wang }; 2786e8f528SBintian Wang 286da3aba6SLeo Yan /* 296da3aba6SLeo Yan * Reserve below regions from memory node: 306da3aba6SLeo Yan * 316da3aba6SLeo Yan * 0x05e0,0000 - 0x05ef,ffff: MCU firmware runtime using 326da3aba6SLeo Yan * 0x06df,f000 - 0x06df,ffff: Mailbox message data 336da3aba6SLeo Yan * 0x0740,f000 - 0x0740,ffff: MCU firmware section 346da3aba6SLeo Yan * 0x3e00,0000 - 0x3fff,ffff: OP-TEE 356da3aba6SLeo Yan */ 3686e8f528SBintian Wang memory@0 { 3786e8f528SBintian Wang device_type = "memory"; 386da3aba6SLeo Yan reg = <0x00000000 0x00000000 0x00000000 0x05e00000>, 396da3aba6SLeo Yan <0x00000000 0x05f00000 0x00000000 0x00eff000>, 406da3aba6SLeo Yan <0x00000000 0x06e00000 0x00000000 0x0060f000>, 416da3aba6SLeo Yan <0x00000000 0x07410000 0x00000000 0x36bf0000>; 4286e8f528SBintian Wang }; 4360dac1b1SZhong Kaihua 4460dac1b1SZhong Kaihua soc { 4560dac1b1SZhong Kaihua spi0: spi@f7106000 { 4660dac1b1SZhong Kaihua status = "ok"; 4760dac1b1SZhong Kaihua }; 480c231751SGuodong Xu 490c231751SGuodong Xu i2c0: i2c@f7100000 { 500c231751SGuodong Xu status = "ok"; 510c231751SGuodong Xu }; 520c231751SGuodong Xu 530c231751SGuodong Xu i2c1: i2c@f7101000 { 540c231751SGuodong Xu status = "ok"; 550c231751SGuodong Xu }; 56c2aad932SGuodong Xu 57c2aad932SGuodong Xu uart1: uart@f7111000 { 58c2aad932SGuodong Xu status = "ok"; 59c2aad932SGuodong Xu }; 60c2aad932SGuodong Xu 61c2aad932SGuodong Xu uart2: uart@f7112000 { 62c2aad932SGuodong Xu status = "ok"; 63c2aad932SGuodong Xu }; 64c2aad932SGuodong Xu 65c2aad932SGuodong Xu uart3: uart@f7113000 { 66c2aad932SGuodong Xu status = "ok"; 67c2aad932SGuodong Xu }; 68841478d4SGuodong Xu 69841478d4SGuodong Xu dwmmc_2: dwmmc2@f723f000 { 70841478d4SGuodong Xu ti,non-removable; 71841478d4SGuodong Xu non-removable; 72841478d4SGuodong Xu /* WL_EN */ 73841478d4SGuodong Xu vmmc-supply = <&wlan_en_reg>; 74841478d4SGuodong Xu 75841478d4SGuodong Xu #address-cells = <0x1>; 76841478d4SGuodong Xu #size-cells = <0x0>; 77841478d4SGuodong Xu wlcore: wlcore@2 { 78841478d4SGuodong Xu compatible = "ti,wl1835"; 79841478d4SGuodong Xu reg = <2>; /* sdio func num */ 80841478d4SGuodong Xu /* WL_IRQ, WL_HOST_WAKE_GPIO1_3 */ 81841478d4SGuodong Xu interrupt-parent = <&gpio1>; 82841478d4SGuodong Xu interrupts = <3 IRQ_TYPE_EDGE_RISING>; 83841478d4SGuodong Xu }; 84841478d4SGuodong Xu }; 85841478d4SGuodong Xu 86841478d4SGuodong Xu wlan_en_reg: regulator@1 { 87841478d4SGuodong Xu compatible = "regulator-fixed"; 88841478d4SGuodong Xu regulator-name = "wlan-en-regulator"; 89841478d4SGuodong Xu regulator-min-microvolt = <1800000>; 90841478d4SGuodong Xu regulator-max-microvolt = <1800000>; 91841478d4SGuodong Xu /* WLAN_EN GPIO */ 92841478d4SGuodong Xu gpio = <&gpio0 5 0>; 93841478d4SGuodong Xu /* WLAN card specific delay */ 94841478d4SGuodong Xu startup-delay-us = <70000>; 95841478d4SGuodong Xu enable-active-high; 96841478d4SGuodong Xu }; 9760dac1b1SZhong Kaihua }; 98ad05f38bSGuodong Xu 99ad05f38bSGuodong Xu leds { 100ad05f38bSGuodong Xu compatible = "gpio-leds"; 101ad05f38bSGuodong Xu user_led4 { 102ad05f38bSGuodong Xu label = "user_led4"; 103ad05f38bSGuodong Xu gpios = <&gpio4 0 0>; /* <&gpio_user_led_1>; */ 104ad05f38bSGuodong Xu linux,default-trigger = "heartbeat"; 105ad05f38bSGuodong Xu }; 106ad05f38bSGuodong Xu 107ad05f38bSGuodong Xu user_led3 { 108ad05f38bSGuodong Xu label = "user_led3"; 109ad05f38bSGuodong Xu gpios = <&gpio4 1 0>; /* <&gpio_user_led_2>; */ 110ad05f38bSGuodong Xu linux,default-trigger = "mmc0"; 111ad05f38bSGuodong Xu }; 112ad05f38bSGuodong Xu 113ad05f38bSGuodong Xu user_led2 { 114ad05f38bSGuodong Xu label = "user_led2"; 115ad05f38bSGuodong Xu gpios = <&gpio4 2 0>; /* <&gpio_user_led_3>; */ 116ad05f38bSGuodong Xu linux,default-trigger = "mmc1"; 117ad05f38bSGuodong Xu }; 118ad05f38bSGuodong Xu 119ad05f38bSGuodong Xu user_led1 { 120ad05f38bSGuodong Xu label = "user_led1"; 121ad05f38bSGuodong Xu gpios = <&gpio4 3 0>; /* <&gpio_user_led_4>; */ 122ad05f38bSGuodong Xu linux,default-trigger = "cpu0"; 123ad05f38bSGuodong Xu }; 124ad05f38bSGuodong Xu 125ad05f38bSGuodong Xu wlan_active_led { 126ad05f38bSGuodong Xu label = "wifi_active"; 127ad05f38bSGuodong Xu gpios = <&gpio3 5 0>; /* <&gpio_wlan_active_led>; */ 128ad05f38bSGuodong Xu linux,default-trigger = "phy0tx"; 129ad05f38bSGuodong Xu default-state = "off"; 130ad05f38bSGuodong Xu }; 131ad05f38bSGuodong Xu 132ad05f38bSGuodong Xu bt_active_led { 133ad05f38bSGuodong Xu label = "bt_active"; 134ad05f38bSGuodong Xu gpios = <&gpio4 7 0>; /* <&gpio_bt_active_led>; */ 135ad05f38bSGuodong Xu linux,default-trigger = "hci0rx"; 136ad05f38bSGuodong Xu default-state = "off"; 137ad05f38bSGuodong Xu }; 138ad05f38bSGuodong Xu }; 139a817137aSChen Feng 140a817137aSChen Feng pmic: pmic@f8000000 { 141a817137aSChen Feng compatible = "hisilicon,hi655x-pmic"; 142a817137aSChen Feng reg = <0x0 0xf8000000 0x0 0x1000>; 143a817137aSChen Feng interrupt-controller; 144a817137aSChen Feng #interrupt-cells = <2>; 145a817137aSChen Feng pmic-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>; 146a817137aSChen Feng 147a817137aSChen Feng regulators { 148a817137aSChen Feng ldo2: LDO2 { 149a817137aSChen Feng regulator-name = "LDO2_2V8"; 150a817137aSChen Feng regulator-min-microvolt = <2500000>; 151a817137aSChen Feng regulator-max-microvolt = <3200000>; 152a817137aSChen Feng regulator-enable-ramp-delay = <120>; 153a817137aSChen Feng }; 154a817137aSChen Feng 155a817137aSChen Feng ldo7: LDO7 { 156a817137aSChen Feng regulator-name = "LDO7_SDIO"; 157a817137aSChen Feng regulator-min-microvolt = <1800000>; 158a817137aSChen Feng regulator-max-microvolt = <3300000>; 159a817137aSChen Feng regulator-enable-ramp-delay = <120>; 160a817137aSChen Feng }; 161a817137aSChen Feng 162a817137aSChen Feng ldo10: LDO10 { 163a817137aSChen Feng regulator-name = "LDO10_2V85"; 164a817137aSChen Feng regulator-min-microvolt = <1800000>; 165a817137aSChen Feng regulator-max-microvolt = <3000000>; 166a817137aSChen Feng regulator-enable-ramp-delay = <360>; 167a817137aSChen Feng }; 168a817137aSChen Feng 169a817137aSChen Feng ldo13: LDO13 { 170a817137aSChen Feng regulator-name = "LDO13_1V8"; 171a817137aSChen Feng regulator-min-microvolt = <1600000>; 172a817137aSChen Feng regulator-max-microvolt = <1950000>; 173a817137aSChen Feng regulator-enable-ramp-delay = <120>; 174a817137aSChen Feng }; 175a817137aSChen Feng 176a817137aSChen Feng ldo14: LDO14 { 177a817137aSChen Feng regulator-name = "LDO14_2V8"; 178a817137aSChen Feng regulator-min-microvolt = <2500000>; 179a817137aSChen Feng regulator-max-microvolt = <3200000>; 180a817137aSChen Feng regulator-enable-ramp-delay = <120>; 181a817137aSChen Feng }; 182a817137aSChen Feng 183a817137aSChen Feng ldo15: LDO15 { 184a817137aSChen Feng regulator-name = "LDO15_1V8"; 185a817137aSChen Feng regulator-min-microvolt = <1600000>; 186a817137aSChen Feng regulator-max-microvolt = <1950000>; 187a817137aSChen Feng regulator-boot-on; 188a817137aSChen Feng regulator-always-on; 189a817137aSChen Feng regulator-enable-ramp-delay = <120>; 190a817137aSChen Feng }; 191a817137aSChen Feng 192a817137aSChen Feng ldo17: LDO17 { 193a817137aSChen Feng regulator-name = "LDO17_2V5"; 194a817137aSChen Feng regulator-min-microvolt = <2500000>; 195a817137aSChen Feng regulator-max-microvolt = <3200000>; 196a817137aSChen Feng regulator-enable-ramp-delay = <120>; 197a817137aSChen Feng }; 198a817137aSChen Feng 199a817137aSChen Feng ldo19: LDO19 { 200a817137aSChen Feng regulator-name = "LDO19_3V0"; 201a817137aSChen Feng regulator-min-microvolt = <1800000>; 202a817137aSChen Feng regulator-max-microvolt = <3000000>; 203a817137aSChen Feng regulator-enable-ramp-delay = <360>; 204a817137aSChen Feng }; 205a817137aSChen Feng 206a817137aSChen Feng ldo21: LDO21 { 207a817137aSChen Feng regulator-name = "LDO21_1V8"; 208a817137aSChen Feng regulator-min-microvolt = <1650000>; 209a817137aSChen Feng regulator-max-microvolt = <2000000>; 210a817137aSChen Feng regulator-always-on; 211a817137aSChen Feng regulator-enable-ramp-delay = <120>; 212a817137aSChen Feng }; 213a817137aSChen Feng 214a817137aSChen Feng ldo22: LDO22 { 215a817137aSChen Feng regulator-name = "LDO22_1V2"; 216a817137aSChen Feng regulator-min-microvolt = <900000>; 217a817137aSChen Feng regulator-max-microvolt = <1200000>; 218a817137aSChen Feng regulator-boot-on; 219a817137aSChen Feng regulator-always-on; 220a817137aSChen Feng regulator-enable-ramp-delay = <120>; 221a817137aSChen Feng }; 222a817137aSChen Feng }; 223a817137aSChen Feng }; 22486e8f528SBintian Wang}; 225dd90caacSRob Herring 226dd90caacSRob Herring&uart2 { 227dd90caacSRob Herring label = "LS-UART0"; 228dd90caacSRob Herring}; 229dd90caacSRob Herring&uart3 { 230dd90caacSRob Herring label = "LS-UART1"; 231dd90caacSRob Herring}; 232