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 <dt-bindings/gpio/gpio.h> 14#include <dt-bindings/input/input.h> 15#include <dt-bindings/interrupt-controller/irq.h> 16 17/ { 18 model = "HiKey960"; 19 compatible = "hisilicon,hi3660-hikey960", "hisilicon,hi3660"; 20 21 aliases { 22 mshc1 = &dwmmc1; 23 mshc2 = &dwmmc2; 24 serial0 = &uart0; 25 serial1 = &uart1; 26 serial2 = &uart2; 27 serial3 = &uart3; 28 serial4 = &uart4; 29 serial5 = &uart5; 30 serial6 = &uart6; 31 }; 32 33 chosen { 34 stdout-path = "serial6:115200n8"; 35 }; 36 37 memory@0 { 38 device_type = "memory"; 39 /* rewrite this at bootloader */ 40 reg = <0x0 0x0 0x0 0x0>; 41 }; 42 43 reserved-memory { 44 #address-cells = <2>; 45 #size-cells = <2>; 46 ranges; 47 48 ramoops@32000000 { 49 compatible = "ramoops"; 50 reg = <0x0 0x32000000 0x0 0x00100000>; 51 record-size = <0x00020000>; 52 console-size = <0x00020000>; 53 ftrace-size = <0x00020000>; 54 }; 55 }; 56 57 reboot-mode-syscon@32100000 { 58 compatible = "syscon", "simple-mfd"; 59 reg = <0x0 0x32100000 0x0 0x00001000>; 60 61 reboot-mode { 62 compatible = "syscon-reboot-mode"; 63 offset = <0x0>; 64 65 mode-normal = <0x77665501>; 66 mode-bootloader = <0x77665500>; 67 mode-recovery = <0x77665502>; 68 }; 69 }; 70 71 keys { 72 compatible = "gpio-keys"; 73 pinctrl-names = "default"; 74 pinctrl-0 = <&pwr_key_pmx_func &pwr_key_cfg_func>; 75 76 power { 77 wakeup-source; 78 gpios = <&gpio4 2 GPIO_ACTIVE_LOW>; 79 label = "GPIO Power"; 80 linux,code = <KEY_POWER>; 81 }; 82 }; 83 84 leds { 85 compatible = "gpio-leds"; 86 87 user_led1 { 88 label = "user_led1"; 89 /* gpio_150_user_led1 */ 90 gpios = <&gpio18 6 0>; 91 linux,default-trigger = "heartbeat"; 92 }; 93 94 user_led2 { 95 label = "user_led2"; 96 /* gpio_151_user_led2 */ 97 gpios = <&gpio18 7 0>; 98 linux,default-trigger = "mmc0"; 99 }; 100 101 user_led3 { 102 label = "user_led3"; 103 /* gpio_189_user_led3 */ 104 gpios = <&gpio23 5 0>; 105 default-state = "off"; 106 }; 107 108 user_led4 { 109 label = "user_led4"; 110 /* gpio_190_user_led4 */ 111 gpios = <&gpio23 6 0>; 112 linux,default-trigger = "cpu0"; 113 }; 114 115 wlan_active_led { 116 label = "wifi_active"; 117 /* gpio_205_wifi_active */ 118 gpios = <&gpio25 5 0>; 119 linux,default-trigger = "phy0tx"; 120 default-state = "off"; 121 }; 122 123 bt_active_led { 124 label = "bt_active"; 125 gpios = <&gpio25 7 0>; 126 /* gpio_207_user_led1 */ 127 linux,default-trigger = "hci0-power"; 128 default-state = "off"; 129 }; 130 }; 131 132 pmic: pmic@fff34000 { 133 compatible = "hisilicon,hi6421v530-pmic"; 134 reg = <0x0 0xfff34000 0x0 0x1000>; 135 interrupt-controller; 136 #interrupt-cells = <2>; 137 138 regulators { 139 ldo3: LDO3 { /* HDMI */ 140 regulator-name = "VOUT3_1V85"; 141 regulator-min-microvolt = <1800000>; 142 regulator-max-microvolt = <2200000>; 143 regulator-enable-ramp-delay = <120>; 144 }; 145 146 ldo9: LDO9 { /* SDCARD I/O */ 147 regulator-name = "VOUT9_1V8_2V95"; 148 regulator-min-microvolt = <1750000>; 149 regulator-max-microvolt = <3300000>; 150 regulator-enable-ramp-delay = <240>; 151 }; 152 153 ldo11: LDO11 { /* Low Speed Connector */ 154 regulator-name = "VOUT11_1V8_2V95"; 155 regulator-min-microvolt = <1750000>; 156 regulator-max-microvolt = <3300000>; 157 regulator-enable-ramp-delay = <240>; 158 }; 159 160 ldo15: LDO15 { /* UFS VCC */ 161 regulator-name = "VOUT15_3V0"; 162 regulator-min-microvolt = <1750000>; 163 regulator-max-microvolt = <3000000>; 164 regulator-boot-on; 165 regulator-always-on; 166 regulator-enable-ramp-delay = <120>; 167 }; 168 169 ldo16: LDO16 { /* SD VDD */ 170 regulator-name = "VOUT16_2V95"; 171 regulator-min-microvolt = <1750000>; 172 regulator-max-microvolt = <3000000>; 173 regulator-enable-ramp-delay = <360>; 174 }; 175 }; 176 }; 177 178 wlan_en: wlan-en-1-8v { 179 compatible = "regulator-fixed"; 180 regulator-name = "wlan-en-regulator"; 181 regulator-min-microvolt = <1800000>; 182 regulator-max-microvolt = <1800000>; 183 184 /* GPIO_051_WIFI_EN */ 185 gpio = <&gpio6 3 0>; 186 187 /* WLAN card specific delay */ 188 startup-delay-us = <70000>; 189 enable-active-high; 190 }; 191 192 firmware { 193 optee { 194 compatible = "linaro,optee-tz"; 195 method = "smc"; 196 }; 197 }; 198}; 199 200&i2c0 { 201 /* On Low speed expansion */ 202 label = "LS-I2C0"; 203 status = "okay"; 204}; 205 206&i2c1 { 207 status = "okay"; 208 209 adv7533: adv7533@39 { 210 status = "ok"; 211 compatible = "adi,adv7533"; 212 reg = <0x39>; 213 }; 214}; 215 216&i2c7 { 217 /* On Low speed expansion */ 218 label = "LS-I2C1"; 219 status = "okay"; 220}; 221 222&uart3 { 223 /* On Low speed expansion */ 224 label = "LS-UART0"; 225 status = "okay"; 226}; 227 228&uart4 { 229 status = "okay"; 230 231 bluetooth { 232 compatible = "ti,wl1837-st"; 233 enable-gpios = <&gpio15 6 GPIO_ACTIVE_HIGH>; 234 max-speed = <3000000>; 235 }; 236}; 237 238&uart6 { 239 /* On Low speed expansion */ 240 label = "LS-UART1"; 241 status = "okay"; 242}; 243 244&spi2 { 245 /* On Low speed expansion */ 246 label = "LS-SPI0"; 247 status = "okay"; 248}; 249 250&spi3 { 251 /* On High speed expansion */ 252 label = "HS-SPI1"; 253 status = "okay"; 254}; 255 256&dwmmc1 { 257 vmmc-supply = <&ldo16>; 258 vqmmc-supply = <&ldo9>; 259 status = "okay"; 260}; 261 262&dwmmc2 { /* WIFI */ 263 broken-cd; 264 /* WL_EN */ 265 vmmc-supply = <&wlan_en>; 266 ti,non-removable; 267 non-removable; 268 #address-cells = <0x1>; 269 #size-cells = <0x0>; 270 status = "ok"; 271 272 wlcore: wlcore@2 { 273 compatible = "ti,wl1837"; 274 reg = <2>; /* sdio func num */ 275 /* WL_IRQ, GPIO_179_WL_WAKEUP_AP */ 276 interrupt-parent = <&gpio22>; 277 interrupts = <3 IRQ_TYPE_EDGE_RISING>; 278 }; 279}; 280