xref: /linux/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts (revision e02045aa201d35c6892630dec11e6a6fe658c229)
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 {
21254b07b2SChen Feng		serial0 = &uart0;
22254b07b2SChen Feng		serial1 = &uart1;
23254b07b2SChen Feng		serial2 = &uart2;
24254b07b2SChen Feng		serial3 = &uart3;
25254b07b2SChen Feng		serial4 = &uart4;
26254b07b2SChen Feng		serial5 = &uart5;
27254b07b2SChen Feng		serial6 = &uart6;
2835ca8168SChen Feng	};
2935ca8168SChen Feng
3035ca8168SChen Feng	chosen {
31254b07b2SChen Feng		stdout-path = "serial6:115200n8";
3235ca8168SChen Feng	};
3335ca8168SChen Feng
3435ca8168SChen Feng	memory@0 {
3535ca8168SChen Feng		device_type = "memory";
3635ca8168SChen Feng		/* rewrite this at bootloader */
3735ca8168SChen Feng		reg = <0x0 0x0 0x0 0x0>;
3835ca8168SChen Feng	};
398cb53a8dSChen Jun
408cb53a8dSChen Jun	keys {
418cb53a8dSChen Jun		compatible = "gpio-keys";
428cb53a8dSChen Jun		pinctrl-names = "default";
438cb53a8dSChen Jun		pinctrl-0 = <&pwr_key_pmx_func &pwr_key_cfg_func>;
448cb53a8dSChen Jun
458cb53a8dSChen Jun		power {
468cb53a8dSChen Jun			wakeup-source;
478cb53a8dSChen Jun			gpios = <&gpio4 2 GPIO_ACTIVE_LOW>;
488cb53a8dSChen Jun			label = "GPIO Power";
498cb53a8dSChen Jun			linux,code = <KEY_POWER>;
508cb53a8dSChen Jun		};
518cb53a8dSChen Jun	};
52fc5f2ed6SGuodong Xu
53fc5f2ed6SGuodong Xu	leds {
54fc5f2ed6SGuodong Xu		compatible = "gpio-leds";
55fc5f2ed6SGuodong Xu
56fc5f2ed6SGuodong Xu		user_led1 {
57fc5f2ed6SGuodong Xu			label = "user_led1";
58fc5f2ed6SGuodong Xu			/* gpio_150_user_led1 */
59fc5f2ed6SGuodong Xu			gpios = <&gpio18 6 0>;
60fc5f2ed6SGuodong Xu			linux,default-trigger = "heartbeat";
61fc5f2ed6SGuodong Xu		};
62fc5f2ed6SGuodong Xu
63fc5f2ed6SGuodong Xu		user_led2 {
64fc5f2ed6SGuodong Xu			label = "user_led2";
65fc5f2ed6SGuodong Xu			/* gpio_151_user_led2 */
66fc5f2ed6SGuodong Xu			gpios = <&gpio18 7 0>;
67fc5f2ed6SGuodong Xu			linux,default-trigger = "mmc0";
68fc5f2ed6SGuodong Xu		};
69fc5f2ed6SGuodong Xu
70fc5f2ed6SGuodong Xu		user_led3 {
71fc5f2ed6SGuodong Xu			label = "user_led3";
72fc5f2ed6SGuodong Xu			/* gpio_189_user_led3 */
73fc5f2ed6SGuodong Xu			gpios = <&gpio23 5 0>;
74fc5f2ed6SGuodong Xu			default-state = "off";
75fc5f2ed6SGuodong Xu		};
76fc5f2ed6SGuodong Xu
77fc5f2ed6SGuodong Xu		user_led4 {
78fc5f2ed6SGuodong Xu			label = "user_led4";
79fc5f2ed6SGuodong Xu			/* gpio_190_user_led4 */
80fc5f2ed6SGuodong Xu			gpios = <&gpio23 6 0>;
81fc5f2ed6SGuodong Xu			linux,default-trigger = "cpu0";
82fc5f2ed6SGuodong Xu		};
83fc5f2ed6SGuodong Xu
84fc5f2ed6SGuodong Xu		wlan_active_led {
85fc5f2ed6SGuodong Xu			label = "wifi_active";
86fc5f2ed6SGuodong Xu			/* gpio_205_wifi_active */
87fc5f2ed6SGuodong Xu			gpios = <&gpio25 5 0>;
88fc5f2ed6SGuodong Xu			linux,default-trigger = "phy0tx";
89fc5f2ed6SGuodong Xu			default-state = "off";
90fc5f2ed6SGuodong Xu		};
91fc5f2ed6SGuodong Xu
92fc5f2ed6SGuodong Xu		bt_active_led {
93fc5f2ed6SGuodong Xu			label = "bt_active";
94fc5f2ed6SGuodong Xu			gpios = <&gpio25 7 0>;
95fc5f2ed6SGuodong Xu			/* gpio_207_user_led1 */
96fc5f2ed6SGuodong Xu			linux,default-trigger = "hci0-power";
97fc5f2ed6SGuodong Xu			default-state = "off";
98fc5f2ed6SGuodong Xu		};
99fc5f2ed6SGuodong Xu	};
100*e02045aaSWang Xiaoyin
101*e02045aaSWang Xiaoyin	pmic: pmic@fff34000 {
102*e02045aaSWang Xiaoyin		compatible = "hisilicon,hi6421v530-pmic";
103*e02045aaSWang Xiaoyin		reg = <0x0 0xfff34000 0x0 0x1000>;
104*e02045aaSWang Xiaoyin		interrupt-controller;
105*e02045aaSWang Xiaoyin		#interrupt-cells = <2>;
106*e02045aaSWang Xiaoyin
107*e02045aaSWang Xiaoyin		regulators {
108*e02045aaSWang Xiaoyin			ldo3: LDO3 { /* HDMI */
109*e02045aaSWang Xiaoyin				regulator-name = "VOUT3_1V85";
110*e02045aaSWang Xiaoyin				regulator-min-microvolt = <1800000>;
111*e02045aaSWang Xiaoyin				regulator-max-microvolt = <2200000>;
112*e02045aaSWang Xiaoyin				regulator-enable-ramp-delay = <120>;
113*e02045aaSWang Xiaoyin			};
114*e02045aaSWang Xiaoyin
115*e02045aaSWang Xiaoyin			ldo9: LDO9 { /* SDCARD I/O */
116*e02045aaSWang Xiaoyin				regulator-name = "VOUT9_1V8_2V95";
117*e02045aaSWang Xiaoyin				regulator-min-microvolt = <1750000>;
118*e02045aaSWang Xiaoyin				regulator-max-microvolt = <3300000>;
119*e02045aaSWang Xiaoyin				regulator-enable-ramp-delay = <240>;
120*e02045aaSWang Xiaoyin			};
121*e02045aaSWang Xiaoyin
122*e02045aaSWang Xiaoyin			ldo11: LDO11 { /* Low Speed Connector */
123*e02045aaSWang Xiaoyin				regulator-name = "VOUT11_1V8_2V95";
124*e02045aaSWang Xiaoyin				regulator-min-microvolt = <1750000>;
125*e02045aaSWang Xiaoyin				regulator-max-microvolt = <3300000>;
126*e02045aaSWang Xiaoyin				regulator-enable-ramp-delay = <240>;
127*e02045aaSWang Xiaoyin			};
128*e02045aaSWang Xiaoyin
129*e02045aaSWang Xiaoyin			ldo15: LDO15 { /* UFS VCC */
130*e02045aaSWang Xiaoyin				regulator-name = "VOUT15_3V0";
131*e02045aaSWang Xiaoyin				regulator-min-microvolt = <1750000>;
132*e02045aaSWang Xiaoyin				regulator-max-microvolt = <3000000>;
133*e02045aaSWang Xiaoyin				regulator-boot-on;
134*e02045aaSWang Xiaoyin				regulator-always-on;
135*e02045aaSWang Xiaoyin				regulator-enable-ramp-delay = <120>;
136*e02045aaSWang Xiaoyin			};
137*e02045aaSWang Xiaoyin
138*e02045aaSWang Xiaoyin			ldo16: LDO16 { /* SD VDD */
139*e02045aaSWang Xiaoyin				regulator-name = "VOUT16_2V95";
140*e02045aaSWang Xiaoyin				regulator-min-microvolt = <1750000>;
141*e02045aaSWang Xiaoyin				regulator-max-microvolt = <3000000>;
142*e02045aaSWang Xiaoyin				regulator-enable-ramp-delay = <360>;
143*e02045aaSWang Xiaoyin			};
144*e02045aaSWang Xiaoyin		};
145*e02045aaSWang Xiaoyin	};
14635ca8168SChen Feng};
14735ca8168SChen Feng
1485f8a3b77SZhangfei Gao&i2c0 {
1495f8a3b77SZhangfei Gao	/* On Low speed expansion */
1505f8a3b77SZhangfei Gao	label = "LS-I2C0";
1515f8a3b77SZhangfei Gao	status = "okay";
1525f8a3b77SZhangfei Gao};
1535f8a3b77SZhangfei Gao
1545f8a3b77SZhangfei Gao&i2c1 {
1555f8a3b77SZhangfei Gao	status = "okay";
1565f8a3b77SZhangfei Gao
1575f8a3b77SZhangfei Gao	adv7533: adv7533@39 {
1585f8a3b77SZhangfei Gao		status = "ok";
1595f8a3b77SZhangfei Gao		compatible = "adi,adv7533";
1605f8a3b77SZhangfei Gao		reg = <0x39>;
1615f8a3b77SZhangfei Gao	};
1625f8a3b77SZhangfei Gao};
1635f8a3b77SZhangfei Gao
1645f8a3b77SZhangfei Gao&i2c7 {
1655f8a3b77SZhangfei Gao	/* On Low speed expansion */
1665f8a3b77SZhangfei Gao	label = "LS-I2C1";
1675f8a3b77SZhangfei Gao	status = "okay";
1685f8a3b77SZhangfei Gao};
1695f8a3b77SZhangfei Gao
170254b07b2SChen Feng&uart3 {
171254b07b2SChen Feng	/* On Low speed expansion */
172254b07b2SChen Feng	label = "LS-UART0";
173254b07b2SChen Feng	status = "okay";
174254b07b2SChen Feng};
175254b07b2SChen Feng
1762e9b4447SGuodong Xu&uart4 {
1772e9b4447SGuodong Xu	status = "okay";
1782e9b4447SGuodong Xu
1792e9b4447SGuodong Xu	bluetooth {
1802e9b4447SGuodong Xu		compatible = "ti,wl1837-st";
1812e9b4447SGuodong Xu		enable-gpios = <&gpio15 6 GPIO_ACTIVE_HIGH>;
1822e9b4447SGuodong Xu		max-speed = <921600>;
1832e9b4447SGuodong Xu	};
1842e9b4447SGuodong Xu};
1852e9b4447SGuodong Xu
186254b07b2SChen Feng&uart6 {
187254b07b2SChen Feng	/* On Low speed expansion */
188254b07b2SChen Feng	label = "LS-UART1";
18935ca8168SChen Feng	status = "okay";
19035ca8168SChen Feng};
19138810497SWang Xiaoyin
19238810497SWang Xiaoyin&spi2 {
19338810497SWang Xiaoyin	/* On Low speed expansion */
19438810497SWang Xiaoyin	label = "LS-SPI0";
19538810497SWang Xiaoyin	status = "okay";
19638810497SWang Xiaoyin};
19738810497SWang Xiaoyin
19838810497SWang Xiaoyin&spi3 {
19938810497SWang Xiaoyin	/* On High speed expansion */
20038810497SWang Xiaoyin	label = "HS-SPI1";
20138810497SWang Xiaoyin	status = "okay";
20238810497SWang Xiaoyin};
203