1/*
2 * dts file for Hisilicon HiKey960 Development Board
3 *
4 * Copyright (C) 2016, Hisilicon Ltd.
5 *
6 */
7
8/dts-v1/;
9
10#include "hi3660.dtsi"
11#include "hikey960-pinctrl.dtsi"
12#include <dt-bindings/gpio/gpio.h>
13#include <dt-bindings/input/input.h>
14#include <dt-bindings/interrupt-controller/irq.h>
15
16/ {
17	model = "HiKey960";
18	compatible = "hisilicon,hi3660-hikey960", "hisilicon,hi3660";
19
20	aliases {
21		serial0 = &uart0;
22		serial1 = &uart1;
23		serial2 = &uart2;
24		serial3 = &uart3;
25		serial4 = &uart4;
26		serial5 = &uart5;
27		serial6 = &uart6;
28	};
29
30	chosen {
31		stdout-path = "serial6:115200n8";
32	};
33
34	memory@0 {
35		device_type = "memory";
36		/* rewrite this at bootloader */
37		reg = <0x0 0x0 0x0 0x0>;
38	};
39
40	keys {
41		compatible = "gpio-keys";
42		pinctrl-names = "default";
43		pinctrl-0 = <&pwr_key_pmx_func &pwr_key_cfg_func>;
44
45		power {
46			wakeup-source;
47			gpios = <&gpio4 2 GPIO_ACTIVE_LOW>;
48			label = "GPIO Power";
49			linux,code = <KEY_POWER>;
50		};
51	};
52
53	leds {
54		compatible = "gpio-leds";
55
56		user_led1 {
57			label = "user_led1";
58			/* gpio_150_user_led1 */
59			gpios = <&gpio18 6 0>;
60			linux,default-trigger = "heartbeat";
61		};
62
63		user_led2 {
64			label = "user_led2";
65			/* gpio_151_user_led2 */
66			gpios = <&gpio18 7 0>;
67			linux,default-trigger = "mmc0";
68		};
69
70		user_led3 {
71			label = "user_led3";
72			/* gpio_189_user_led3 */
73			gpios = <&gpio23 5 0>;
74			default-state = "off";
75		};
76
77		user_led4 {
78			label = "user_led4";
79			/* gpio_190_user_led4 */
80			gpios = <&gpio23 6 0>;
81			linux,default-trigger = "cpu0";
82		};
83
84		wlan_active_led {
85			label = "wifi_active";
86			/* gpio_205_wifi_active */
87			gpios = <&gpio25 5 0>;
88			linux,default-trigger = "phy0tx";
89			default-state = "off";
90		};
91
92		bt_active_led {
93			label = "bt_active";
94			gpios = <&gpio25 7 0>;
95			/* gpio_207_user_led1 */
96			linux,default-trigger = "hci0-power";
97			default-state = "off";
98		};
99	};
100
101	pmic: pmic@fff34000 {
102		compatible = "hisilicon,hi6421v530-pmic";
103		reg = <0x0 0xfff34000 0x0 0x1000>;
104		interrupt-controller;
105		#interrupt-cells = <2>;
106
107		regulators {
108			ldo3: LDO3 { /* HDMI */
109				regulator-name = "VOUT3_1V85";
110				regulator-min-microvolt = <1800000>;
111				regulator-max-microvolt = <2200000>;
112				regulator-enable-ramp-delay = <120>;
113			};
114
115			ldo9: LDO9 { /* SDCARD I/O */
116				regulator-name = "VOUT9_1V8_2V95";
117				regulator-min-microvolt = <1750000>;
118				regulator-max-microvolt = <3300000>;
119				regulator-enable-ramp-delay = <240>;
120			};
121
122			ldo11: LDO11 { /* Low Speed Connector */
123				regulator-name = "VOUT11_1V8_2V95";
124				regulator-min-microvolt = <1750000>;
125				regulator-max-microvolt = <3300000>;
126				regulator-enable-ramp-delay = <240>;
127			};
128
129			ldo15: LDO15 { /* UFS VCC */
130				regulator-name = "VOUT15_3V0";
131				regulator-min-microvolt = <1750000>;
132				regulator-max-microvolt = <3000000>;
133				regulator-boot-on;
134				regulator-always-on;
135				regulator-enable-ramp-delay = <120>;
136			};
137
138			ldo16: LDO16 { /* SD VDD */
139				regulator-name = "VOUT16_2V95";
140				regulator-min-microvolt = <1750000>;
141				regulator-max-microvolt = <3000000>;
142				regulator-enable-ramp-delay = <360>;
143			};
144		};
145	};
146};
147
148&i2c0 {
149	/* On Low speed expansion */
150	label = "LS-I2C0";
151	status = "okay";
152};
153
154&i2c1 {
155	status = "okay";
156
157	adv7533: adv7533@39 {
158		status = "ok";
159		compatible = "adi,adv7533";
160		reg = <0x39>;
161	};
162};
163
164&i2c7 {
165	/* On Low speed expansion */
166	label = "LS-I2C1";
167	status = "okay";
168};
169
170&uart3 {
171	/* On Low speed expansion */
172	label = "LS-UART0";
173	status = "okay";
174};
175
176&uart4 {
177	status = "okay";
178
179	bluetooth {
180		compatible = "ti,wl1837-st";
181		enable-gpios = <&gpio15 6 GPIO_ACTIVE_HIGH>;
182		max-speed = <921600>;
183	};
184};
185
186&uart6 {
187	/* On Low speed expansion */
188	label = "LS-UART1";
189	status = "okay";
190};
191
192&spi2 {
193	/* On Low speed expansion */
194	label = "LS-SPI0";
195	status = "okay";
196};
197
198&spi3 {
199	/* On High speed expansion */
200	label = "HS-SPI1";
201	status = "okay";
202};
203