1/*
2 * dts file for Hisilicon HiKey Development Board
3 *
4 * Copyright (C) 2015, Hisilicon Ltd.
5 *
6 */
7
8/dts-v1/;
9#include "hi6220.dtsi"
10#include "hikey-pinctrl.dtsi"
11#include <dt-bindings/gpio/gpio.h>
12
13/ {
14	model = "HiKey Development Board";
15	compatible = "hisilicon,hi6220-hikey", "hisilicon,hi6220";
16
17	aliases {
18		serial0 = &uart0; /* On board UART0 */
19		serial1 = &uart1; /* BT UART */
20		serial2 = &uart2; /* LS Expansion UART0 */
21		serial3 = &uart3; /* LS Expansion UART1 */
22	};
23
24	chosen {
25		stdout-path = "serial3:115200n8";
26	};
27
28	/*
29	 * Reserve below regions from memory node:
30	 *
31	 *  0x05e0,0000 - 0x05ef,ffff: MCU firmware runtime using
32	 *  0x06df,f000 - 0x06df,ffff: Mailbox message data
33	 *  0x0740,f000 - 0x0740,ffff: MCU firmware section
34	 *  0x3e00,0000 - 0x3fff,ffff: OP-TEE
35	 */
36	memory@0 {
37		device_type = "memory";
38		reg = <0x00000000 0x00000000 0x00000000 0x05e00000>,
39		      <0x00000000 0x05f00000 0x00000000 0x00eff000>,
40		      <0x00000000 0x06e00000 0x00000000 0x0060f000>,
41		      <0x00000000 0x07410000 0x00000000 0x36bf0000>;
42	};
43
44	soc {
45		spi0: spi@f7106000 {
46			status = "ok";
47		};
48
49		i2c0: i2c@f7100000 {
50			status = "ok";
51		};
52
53		i2c1: i2c@f7101000 {
54			status = "ok";
55		};
56
57		uart1: uart@f7111000 {
58			status = "ok";
59		};
60
61		uart2: uart@f7112000 {
62			status = "ok";
63		};
64
65		uart3: uart@f7113000 {
66			status = "ok";
67		};
68
69		dwmmc_2: dwmmc2@f723f000 {
70			ti,non-removable;
71			non-removable;
72			/* WL_EN */
73			vmmc-supply = <&wlan_en_reg>;
74
75			#address-cells = <0x1>;
76			#size-cells = <0x0>;
77			wlcore: wlcore@2 {
78				compatible = "ti,wl1835";
79				reg = <2>;	/* sdio func num */
80				/* WL_IRQ, WL_HOST_WAKE_GPIO1_3 */
81				interrupt-parent = <&gpio1>;
82				interrupts = <3 IRQ_TYPE_EDGE_RISING>;
83			};
84		};
85
86		wlan_en_reg: regulator@1 {
87			compatible = "regulator-fixed";
88			regulator-name = "wlan-en-regulator";
89			regulator-min-microvolt = <1800000>;
90			regulator-max-microvolt = <1800000>;
91			/* WLAN_EN GPIO */
92			gpio = <&gpio0 5 0>;
93			/* WLAN card specific delay */
94			startup-delay-us = <70000>;
95			enable-active-high;
96		};
97	};
98
99	leds {
100		compatible = "gpio-leds";
101		user_led4 {
102			label = "user_led4";
103			gpios = <&gpio4 0 0>; /* <&gpio_user_led_1>; */
104			linux,default-trigger = "heartbeat";
105		};
106
107		user_led3 {
108			label = "user_led3";
109			gpios = <&gpio4 1 0>; /* <&gpio_user_led_2>; */
110			linux,default-trigger = "mmc0";
111		};
112
113		user_led2 {
114			label = "user_led2";
115			gpios = <&gpio4 2 0>; /* <&gpio_user_led_3>; */
116			linux,default-trigger = "mmc1";
117		};
118
119		user_led1 {
120			label = "user_led1";
121			gpios = <&gpio4 3 0>; /* <&gpio_user_led_4>; */
122			linux,default-trigger = "cpu0";
123		};
124
125		wlan_active_led {
126			label = "wifi_active";
127			gpios = <&gpio3 5 0>; /* <&gpio_wlan_active_led>; */
128			linux,default-trigger = "phy0tx";
129			default-state = "off";
130		};
131
132		bt_active_led {
133			label = "bt_active";
134			gpios = <&gpio4 7 0>; /* <&gpio_bt_active_led>; */
135			linux,default-trigger = "hci0rx";
136			default-state = "off";
137		};
138	};
139
140	pmic: pmic@f8000000 {
141		compatible = "hisilicon,hi655x-pmic";
142		reg = <0x0 0xf8000000 0x0 0x1000>;
143		interrupt-controller;
144		#interrupt-cells = <2>;
145		pmic-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
146
147		regulators {
148			ldo2: LDO2 {
149				regulator-name = "LDO2_2V8";
150				regulator-min-microvolt = <2500000>;
151				regulator-max-microvolt = <3200000>;
152				regulator-enable-ramp-delay = <120>;
153			};
154
155			ldo7: LDO7 {
156				regulator-name = "LDO7_SDIO";
157				regulator-min-microvolt = <1800000>;
158				regulator-max-microvolt = <3300000>;
159				regulator-enable-ramp-delay = <120>;
160			};
161
162			ldo10: LDO10 {
163				regulator-name = "LDO10_2V85";
164				regulator-min-microvolt = <1800000>;
165				regulator-max-microvolt = <3000000>;
166				regulator-enable-ramp-delay = <360>;
167			};
168
169			ldo13: LDO13 {
170				regulator-name = "LDO13_1V8";
171				regulator-min-microvolt = <1600000>;
172				regulator-max-microvolt = <1950000>;
173				regulator-enable-ramp-delay = <120>;
174			};
175
176			ldo14: LDO14 {
177				regulator-name = "LDO14_2V8";
178				regulator-min-microvolt = <2500000>;
179				regulator-max-microvolt = <3200000>;
180				regulator-enable-ramp-delay = <120>;
181			};
182
183			ldo15: LDO15 {
184				regulator-name = "LDO15_1V8";
185				regulator-min-microvolt = <1600000>;
186				regulator-max-microvolt = <1950000>;
187				regulator-boot-on;
188				regulator-always-on;
189				regulator-enable-ramp-delay = <120>;
190			};
191
192			ldo17: LDO17 {
193				regulator-name = "LDO17_2V5";
194				regulator-min-microvolt = <2500000>;
195				regulator-max-microvolt = <3200000>;
196				regulator-enable-ramp-delay = <120>;
197			};
198
199			ldo19: LDO19 {
200				regulator-name = "LDO19_3V0";
201				regulator-min-microvolt = <1800000>;
202				regulator-max-microvolt = <3000000>;
203				regulator-enable-ramp-delay = <360>;
204			};
205
206			ldo21: LDO21 {
207				regulator-name = "LDO21_1V8";
208				regulator-min-microvolt = <1650000>;
209				regulator-max-microvolt = <2000000>;
210				regulator-always-on;
211				regulator-enable-ramp-delay = <120>;
212			};
213
214			ldo22: LDO22 {
215				regulator-name = "LDO22_1V2";
216				regulator-min-microvolt = <900000>;
217				regulator-max-microvolt = <1200000>;
218				regulator-boot-on;
219				regulator-always-on;
220				regulator-enable-ramp-delay = <120>;
221			};
222		};
223	};
224};
225
226&uart2 {
227	label = "LS-UART0";
228};
229&uart3 {
230	label = "LS-UART1";
231};
232