Commit | Line | Data |
---|---|---|
86e8f528 BW |
1 | /* |
2 | * dts file for Hisilicon HiKey Development Board | |
3 | * | |
4 | * Copyright (C) 2015, Hisilicon Ltd. | |
5 | * | |
6 | */ | |
7 | ||
8 | /dts-v1/; | |
86e8f528 | 9 | #include "hi6220.dtsi" |
379e9bf5 | 10 | #include "hikey-pinctrl.dtsi" |
a817137a | 11 | #include <dt-bindings/gpio/gpio.h> |
86e8f528 BW |
12 | |
13 | / { | |
14 | model = "HiKey Development Board"; | |
15 | compatible = "hisilicon,hi6220-hikey", "hisilicon,hi6220"; | |
16 | ||
17 | aliases { | |
a362ec8f TB |
18 | serial0 = &uart0; /* On board UART0 */ |
19 | serial1 = &uart1; /* BT UART */ | |
20 | serial2 = &uart2; /* LS Expansion UART0 */ | |
21 | serial3 = &uart3; /* LS Expansion UART1 */ | |
86e8f528 BW |
22 | }; |
23 | ||
24 | chosen { | |
a362ec8f | 25 | stdout-path = "serial3:115200n8"; |
86e8f528 BW |
26 | }; |
27 | ||
6da3aba6 LY |
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 | */ | |
86e8f528 BW |
36 | memory@0 { |
37 | device_type = "memory"; | |
6da3aba6 LY |
38 | reg = <0x00000000 0x00000000 0x00000000 0x05e00000>, |
39 | <0x00000000 0x05f00000 0x00000000 0x00eff000>, | |
40 | <0x00000000 0x06e00000 0x00000000 0x0060f000>, | |
41 | <0x00000000 0x07410000 0x00000000 0x36bf0000>; | |
86e8f528 | 42 | }; |
60dac1b1 ZK |
43 | |
44 | soc { | |
45 | spi0: spi@f7106000 { | |
46 | status = "ok"; | |
47 | }; | |
0c231751 GX |
48 | |
49 | i2c0: i2c@f7100000 { | |
50 | status = "ok"; | |
51 | }; | |
52 | ||
53 | i2c1: i2c@f7101000 { | |
54 | status = "ok"; | |
55 | }; | |
c2aad932 GX |
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 | }; | |
841478d4 | 68 | |
bbaf867e LW |
69 | /* |
70 | * Legend: proper name = the GPIO line is used as GPIO | |
71 | * NC = not connected (not routed from the SoC) | |
72 | * "[PER]" = pin is muxed for peripheral (not GPIO) | |
73 | * "" = no idea, schematic doesn't say, could be | |
74 | * unrouted (not connected to any external pin) | |
75 | * LSEC = Low Speed External Connector | |
76 | * HSEC = High Speed External Connector | |
77 | * | |
78 | * Pin assignments taken from LeMaker and CircuitCo Schematics | |
79 | * Rev A1. | |
80 | * | |
81 | * For the lines routed to the external connectors the | |
82 | * lines are named after the 96Boards CE Specification 1.0, | |
83 | * Appendix "Expansion Connector Signal Description". | |
84 | * | |
85 | * When the 96Board naming of a line and the schematic name of | |
86 | * the same line are in conflict, the 96Board specification | |
87 | * takes precedence, which means that the external UART on the | |
88 | * LSEC is named UART0 while the schematic and SoC names this | |
89 | * UART2. This is only for the informational lines i.e. "[FOO]", | |
90 | * the GPIO named lines "GPIO-A" thru "GPIO-L" are the only | |
91 | * ones actually used for GPIO. | |
92 | */ | |
93 | gpio0: gpio@f8011000 { | |
94 | gpio-line-names = "PWR_HOLD", "DSI_SEL", | |
95 | "USB_HUB_RESET_N", "USB_SEL", "HDMI_PD", "WL_REG_ON", | |
96 | "PWRON_DET", "5V_HUB_EN"; | |
97 | }; | |
98 | ||
99 | gpio1: gpio@f8012000 { | |
100 | gpio-line-names = "SD_DET", "HDMI_INT", "PMU_IRQ_N", | |
101 | "WL_HOST_WAKE", "NC", "NC", "NC", "BT_REG_ON"; | |
102 | }; | |
103 | ||
104 | gpio2: gpio@f8013000 { | |
105 | gpio-line-names = | |
106 | "GPIO-A", /* LSEC Pin 23: GPIO2_0 */ | |
107 | "GPIO-B", /* LSEC Pin 24: GPIO2_1 */ | |
108 | "GPIO-C", /* LSEC Pin 25: GPIO2_2 */ | |
109 | "GPIO-D", /* LSEC Pin 26: GPIO2_3 */ | |
110 | "GPIO-E", /* LSEC Pin 27: GPIO2_4 */ | |
111 | "USB_ID_DET", "USB_VBUS_DET", | |
112 | "GPIO-H"; /* LSEC Pin 30: GPIO2_7 */ | |
113 | }; | |
114 | ||
115 | gpio3: gpio@f8014000 { | |
116 | gpio-line-names = "GPIO3_0", "NC", "NC", "", "NC", "", | |
117 | "WLAN_ACTIVE", "NC", "NC"; | |
118 | }; | |
119 | ||
120 | gpio4: gpio@f7020000 { | |
121 | gpio-line-names = "USER_LED1", "USER_LED2", "USER_LED3", | |
122 | "USER_LED4", "SD_SEL", "NC", "NC", "BT_ACTIVE"; | |
123 | }; | |
124 | ||
125 | gpio5: gpio@f7021000 { | |
126 | gpio-line-names = "NC", "NC", | |
127 | "[UART1_RxD]", /* LSEC Pin 11: UART3_RX */ | |
128 | "[UART1_TxD]", /* LSEC Pin 13: UART3_TX */ | |
129 | "[AUX_SSI1]", "NC", | |
130 | "[PCM_CLK]", /* LSEC Pin 18: MODEM_PCM_XCLK */ | |
131 | "[PCM_FS]"; /* LSEC Pin 16: MODEM_PCM_XFS */ | |
132 | }; | |
133 | ||
134 | gpio6: gpio@f7022000 { | |
135 | gpio-line-names = | |
136 | "[SPI0_DIN]", /* Pin 10: SPI0_DI */ | |
137 | "[SPI0_DOUT]", /* Pin 14: SPI0_DO */ | |
138 | "[SPI0_CS]", /* Pin 12: SPI0_CS_N */ | |
139 | "[SPI0_SCLK]", /* Pin 8: SPI0_SCLK */ | |
140 | "NC", "NC", "NC", | |
141 | "GPIO-G"; /* Pin 29: GPIO6_7_DSI_TE0 */ | |
142 | }; | |
143 | ||
144 | gpio7: gpio@f7023000 { | |
145 | gpio-line-names = "NC", "NC", "NC", "NC", | |
146 | "[PCM_DI]", /* Pin 22: MODEM_PCM_DI */ | |
147 | "[PCM_DO]", /* Pin 20: MODEM_PCM_DO */ | |
148 | "NC", "NC"; | |
149 | }; | |
150 | ||
151 | gpio8: gpio@f7024000 { | |
152 | gpio-line-names = "NC", "[CEC_CLK_19_2MHZ]", "NC", | |
153 | "", "", "", "", "", ""; | |
154 | }; | |
155 | ||
156 | gpio9: gpio@f7025000 { | |
157 | gpio-line-names = "", | |
158 | "GPIO-J", /* LSEC Pin 32: ISP_PWDN0_GPIO9_1 */ | |
159 | "GPIO-L", /* LSEC Pin 34: ISP_PWDN1_GPIO9_2 */ | |
160 | "NC", "NC", "NC", "NC", "[ISP_CCLK0]"; | |
161 | }; | |
162 | ||
163 | gpio10: gpio@f7026000 { | |
164 | gpio-line-names = "BOOT_SEL", | |
165 | "[ISP_CCLK1]", | |
166 | "GPIO-I", /* LSEC Pin 31: ISP_RSTB0_GPIO10_2 */ | |
167 | "GPIO-K", /* LSEC Pin 33: ISP_RSTB1_GPIO10_3 */ | |
168 | "NC", "NC", | |
169 | "[I2C2_SDA]", /* HSEC Pin 34: ISP0_SDA */ | |
170 | "[I2C2_SCL]"; /* HSEC Pin 32: ISP0_SCL */ | |
171 | }; | |
172 | ||
173 | gpio11: gpio@f7027000 { | |
174 | gpio-line-names = | |
175 | "[I2C3_SDA]", /* HSEC Pin 38: ISP1_SDA */ | |
176 | "[I2C3_SCL]", /* HSEC Pin 36: ISP1_SCL */ | |
177 | "", "NC", "NC", "NC", "", ""; | |
178 | }; | |
179 | ||
180 | gpio12: gpio@f7028000 { | |
181 | gpio-line-names = "[BT_PCM_XFS]", "[BT_PCM_DI]", | |
182 | "[BT_PCM_DO]", | |
183 | "NC", "NC", "NC", "NC", | |
184 | "GPIO-F"; /* LSEC Pin 28: BL_PWM_GPIO12_7 */ | |
185 | }; | |
186 | ||
187 | gpio13: gpio@f7029000 { | |
188 | gpio-line-names = "[UART0_RX]", "[UART0_TX]", | |
189 | "[BT_UART1_CTS]", "[BT_UART1_RTS]", | |
190 | "[BT_UART1_RX]", "[BT_UART1_TX]", | |
191 | "[UART0_CTS]", /* LSEC Pin 3: UART2_CTS_N */ | |
192 | "[UART0_RTS]"; /* LSEC Pin 9: UART2_RTS_N */ | |
193 | }; | |
194 | ||
195 | gpio14: gpio@f702a000 { | |
196 | gpio-line-names = | |
197 | "[UART0_RxD]", /* LSEC Pin 7: UART2_RX */ | |
198 | "[UART0_TxD]", /* LSEC Pin 5: UART2_TX */ | |
199 | "[I2C0_SCL]", /* LSEC Pin 15: I2C0_SCL */ | |
200 | "[I2C0_SDA]", /* LSEC Pin 17: I2C0_SDA */ | |
201 | "[I2C1_SCL]", /* LSEC Pin 19: I2C1_SCL */ | |
202 | "[I2C1_SDA]", /* LSEC Pin 21: I2C1_SDA */ | |
203 | "[I2C2_SCL]", "[I2C2_SDA]"; | |
204 | }; | |
205 | ||
206 | gpio15: gpio@f702b000 { | |
207 | gpio-line-names = "", "", "", "", "", "", "NC", ""; | |
208 | }; | |
209 | ||
210 | /* GPIO blocks 16 thru 19 do not appear to be routed to pins */ | |
211 | ||
841478d4 GX |
212 | dwmmc_2: dwmmc2@f723f000 { |
213 | ti,non-removable; | |
214 | non-removable; | |
215 | /* WL_EN */ | |
216 | vmmc-supply = <&wlan_en_reg>; | |
217 | ||
218 | #address-cells = <0x1>; | |
219 | #size-cells = <0x0>; | |
220 | wlcore: wlcore@2 { | |
221 | compatible = "ti,wl1835"; | |
222 | reg = <2>; /* sdio func num */ | |
223 | /* WL_IRQ, WL_HOST_WAKE_GPIO1_3 */ | |
224 | interrupt-parent = <&gpio1>; | |
225 | interrupts = <3 IRQ_TYPE_EDGE_RISING>; | |
226 | }; | |
227 | }; | |
228 | ||
229 | wlan_en_reg: regulator@1 { | |
230 | compatible = "regulator-fixed"; | |
231 | regulator-name = "wlan-en-regulator"; | |
232 | regulator-min-microvolt = <1800000>; | |
233 | regulator-max-microvolt = <1800000>; | |
234 | /* WLAN_EN GPIO */ | |
235 | gpio = <&gpio0 5 0>; | |
236 | /* WLAN card specific delay */ | |
237 | startup-delay-us = <70000>; | |
238 | enable-active-high; | |
239 | }; | |
60dac1b1 | 240 | }; |
ad05f38b GX |
241 | |
242 | leds { | |
243 | compatible = "gpio-leds"; | |
244 | user_led4 { | |
245 | label = "user_led4"; | |
246 | gpios = <&gpio4 0 0>; /* <&gpio_user_led_1>; */ | |
247 | linux,default-trigger = "heartbeat"; | |
248 | }; | |
249 | ||
250 | user_led3 { | |
251 | label = "user_led3"; | |
252 | gpios = <&gpio4 1 0>; /* <&gpio_user_led_2>; */ | |
253 | linux,default-trigger = "mmc0"; | |
254 | }; | |
255 | ||
256 | user_led2 { | |
257 | label = "user_led2"; | |
258 | gpios = <&gpio4 2 0>; /* <&gpio_user_led_3>; */ | |
259 | linux,default-trigger = "mmc1"; | |
260 | }; | |
261 | ||
262 | user_led1 { | |
263 | label = "user_led1"; | |
264 | gpios = <&gpio4 3 0>; /* <&gpio_user_led_4>; */ | |
265 | linux,default-trigger = "cpu0"; | |
266 | }; | |
267 | ||
268 | wlan_active_led { | |
269 | label = "wifi_active"; | |
270 | gpios = <&gpio3 5 0>; /* <&gpio_wlan_active_led>; */ | |
271 | linux,default-trigger = "phy0tx"; | |
272 | default-state = "off"; | |
273 | }; | |
274 | ||
275 | bt_active_led { | |
276 | label = "bt_active"; | |
277 | gpios = <&gpio4 7 0>; /* <&gpio_bt_active_led>; */ | |
278 | linux,default-trigger = "hci0rx"; | |
279 | default-state = "off"; | |
280 | }; | |
281 | }; | |
a817137a CF |
282 | |
283 | pmic: pmic@f8000000 { | |
284 | compatible = "hisilicon,hi655x-pmic"; | |
285 | reg = <0x0 0xf8000000 0x0 0x1000>; | |
286 | interrupt-controller; | |
287 | #interrupt-cells = <2>; | |
288 | pmic-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>; | |
289 | ||
290 | regulators { | |
291 | ldo2: LDO2 { | |
292 | regulator-name = "LDO2_2V8"; | |
293 | regulator-min-microvolt = <2500000>; | |
294 | regulator-max-microvolt = <3200000>; | |
295 | regulator-enable-ramp-delay = <120>; | |
296 | }; | |
297 | ||
298 | ldo7: LDO7 { | |
299 | regulator-name = "LDO7_SDIO"; | |
300 | regulator-min-microvolt = <1800000>; | |
301 | regulator-max-microvolt = <3300000>; | |
302 | regulator-enable-ramp-delay = <120>; | |
303 | }; | |
304 | ||
305 | ldo10: LDO10 { | |
306 | regulator-name = "LDO10_2V85"; | |
307 | regulator-min-microvolt = <1800000>; | |
308 | regulator-max-microvolt = <3000000>; | |
309 | regulator-enable-ramp-delay = <360>; | |
310 | }; | |
311 | ||
312 | ldo13: LDO13 { | |
313 | regulator-name = "LDO13_1V8"; | |
314 | regulator-min-microvolt = <1600000>; | |
315 | regulator-max-microvolt = <1950000>; | |
316 | regulator-enable-ramp-delay = <120>; | |
317 | }; | |
318 | ||
319 | ldo14: LDO14 { | |
320 | regulator-name = "LDO14_2V8"; | |
321 | regulator-min-microvolt = <2500000>; | |
322 | regulator-max-microvolt = <3200000>; | |
323 | regulator-enable-ramp-delay = <120>; | |
324 | }; | |
325 | ||
326 | ldo15: LDO15 { | |
327 | regulator-name = "LDO15_1V8"; | |
328 | regulator-min-microvolt = <1600000>; | |
329 | regulator-max-microvolt = <1950000>; | |
330 | regulator-boot-on; | |
331 | regulator-always-on; | |
332 | regulator-enable-ramp-delay = <120>; | |
333 | }; | |
334 | ||
335 | ldo17: LDO17 { | |
336 | regulator-name = "LDO17_2V5"; | |
337 | regulator-min-microvolt = <2500000>; | |
338 | regulator-max-microvolt = <3200000>; | |
339 | regulator-enable-ramp-delay = <120>; | |
340 | }; | |
341 | ||
342 | ldo19: LDO19 { | |
343 | regulator-name = "LDO19_3V0"; | |
344 | regulator-min-microvolt = <1800000>; | |
345 | regulator-max-microvolt = <3000000>; | |
346 | regulator-enable-ramp-delay = <360>; | |
347 | }; | |
348 | ||
349 | ldo21: LDO21 { | |
350 | regulator-name = "LDO21_1V8"; | |
351 | regulator-min-microvolt = <1650000>; | |
352 | regulator-max-microvolt = <2000000>; | |
353 | regulator-always-on; | |
354 | regulator-enable-ramp-delay = <120>; | |
355 | }; | |
356 | ||
357 | ldo22: LDO22 { | |
358 | regulator-name = "LDO22_1V2"; | |
359 | regulator-min-microvolt = <900000>; | |
360 | regulator-max-microvolt = <1200000>; | |
361 | regulator-boot-on; | |
362 | regulator-always-on; | |
363 | regulator-enable-ramp-delay = <120>; | |
364 | }; | |
365 | }; | |
366 | }; | |
86e8f528 | 367 | }; |
dd90caac RH |
368 | |
369 | &uart2 { | |
370 | label = "LS-UART0"; | |
371 | }; | |
372 | &uart3 { | |
373 | label = "LS-UART1"; | |
374 | }; |