diff options
author | Marek Vasut <marek.vasut@gmail.com> | 2018-02-15 13:49:19 -0500 |
---|---|---|
committer | Simon Horman <horms+renesas@verge.net.au> | 2018-03-16 12:24:16 -0400 |
commit | 92bcfdb334ca7fc4c029927d25a89adcf34d0529 (patch) | |
tree | 749ab78347512923bcdbbbd90bf1652b01e7ede5 | |
parent | fe61513f1611def2535962954be4bb4fc2cb182c (diff) |
ARM: dts: stout: Initial r8a7790 Stout board support
Stout base board support making use of 1 GiB of memory,
the Renesas H2 r8a7790 SoC with the SCIFA0 serial port
and CA15 with ARM architected timer.
Furthermore, this device tree contains entries for:
- 4x LEDs
- SDHI SD/MMC controller
- Display unit with HDMI output
- SH fast ethernet controller
- QSPI controller with S25FL512S attached to it
- I2C controller with DA9210 and DA 9063 PMICs
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Acked-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
-rw-r--r-- | arch/arm/boot/dts/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/r8a7790-stout.dts | 363 |
2 files changed, 364 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index ade7a38543dc..2b6dfeea1dba 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -784,6 +784,7 @@ dtb-$(CONFIG_ARCH_RENESAS) += \ | |||
784 | r8a7778-bockw.dtb \ | 784 | r8a7778-bockw.dtb \ |
785 | r8a7779-marzen.dtb \ | 785 | r8a7779-marzen.dtb \ |
786 | r8a7790-lager.dtb \ | 786 | r8a7790-lager.dtb \ |
787 | r8a7790-stout.dtb \ | ||
787 | r8a7791-koelsch.dtb \ | 788 | r8a7791-koelsch.dtb \ |
788 | r8a7791-porter.dtb \ | 789 | r8a7791-porter.dtb \ |
789 | r8a7792-blanche.dtb \ | 790 | r8a7792-blanche.dtb \ |
diff --git a/arch/arm/boot/dts/r8a7790-stout.dts b/arch/arm/boot/dts/r8a7790-stout.dts new file mode 100644 index 000000000000..a13a92c26645 --- /dev/null +++ b/arch/arm/boot/dts/r8a7790-stout.dts | |||
@@ -0,0 +1,363 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0 | ||
2 | /* | ||
3 | * Device Tree Source for the Stout board | ||
4 | * | ||
5 | * Copyright (C) 2018 Marek Vasut <marek.vasut@gmail.com> | ||
6 | */ | ||
7 | |||
8 | /dts-v1/; | ||
9 | #include "r8a7790.dtsi" | ||
10 | #include <dt-bindings/gpio/gpio.h> | ||
11 | #include <dt-bindings/input/input.h> | ||
12 | |||
13 | / { | ||
14 | model = "Stout"; | ||
15 | compatible = "renesas,stout", "renesas,r8a7790"; | ||
16 | |||
17 | aliases { | ||
18 | serial0 = &scifa0; | ||
19 | }; | ||
20 | |||
21 | chosen { | ||
22 | bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp"; | ||
23 | stdout-path = "serial0:115200n8"; | ||
24 | }; | ||
25 | |||
26 | memory@40000000 { | ||
27 | device_type = "memory"; | ||
28 | reg = <0 0x40000000 0 0x40000000>; | ||
29 | }; | ||
30 | |||
31 | leds { | ||
32 | compatible = "gpio-leds"; | ||
33 | led1 { | ||
34 | gpios = <&gpio4 22 GPIO_ACTIVE_LOW>; | ||
35 | }; | ||
36 | led2 { | ||
37 | gpios = <&gpio4 23 GPIO_ACTIVE_LOW>; | ||
38 | }; | ||
39 | led3 { | ||
40 | gpios = <&gpio5 17 GPIO_ACTIVE_LOW>; | ||
41 | }; | ||
42 | led5 { | ||
43 | gpios = <&gpio4 24 GPIO_ACTIVE_LOW>; | ||
44 | }; | ||
45 | }; | ||
46 | |||
47 | fixedregulator3v3: regulator-3v3 { | ||
48 | compatible = "regulator-fixed"; | ||
49 | regulator-name = "fixed-3.3V"; | ||
50 | regulator-min-microvolt = <3300000>; | ||
51 | regulator-max-microvolt = <3300000>; | ||
52 | regulator-boot-on; | ||
53 | regulator-always-on; | ||
54 | }; | ||
55 | |||
56 | vcc_sdhi0: regulator-vcc-sdhi0 { | ||
57 | compatible = "regulator-fixed"; | ||
58 | |||
59 | regulator-name = "SDHI0 Vcc"; | ||
60 | regulator-min-microvolt = <3300000>; | ||
61 | regulator-max-microvolt = <3300000>; | ||
62 | |||
63 | gpio = <&gpio5 24 GPIO_ACTIVE_HIGH>; | ||
64 | enable-active-high; | ||
65 | }; | ||
66 | |||
67 | hdmi-out { | ||
68 | compatible = "hdmi-connector"; | ||
69 | type = "a"; | ||
70 | |||
71 | port { | ||
72 | hdmi_con_out: endpoint { | ||
73 | remote-endpoint = <&adv7511_out>; | ||
74 | }; | ||
75 | }; | ||
76 | }; | ||
77 | |||
78 | osc1_clk: osc1-clock { | ||
79 | compatible = "fixed-clock"; | ||
80 | #clock-cells = <0>; | ||
81 | clock-frequency = <148500000>; | ||
82 | }; | ||
83 | |||
84 | osc4_clk: osc4-clock { | ||
85 | compatible = "fixed-clock"; | ||
86 | #clock-cells = <0>; | ||
87 | clock-frequency = <12000000>; | ||
88 | }; | ||
89 | }; | ||
90 | |||
91 | &du { | ||
92 | pinctrl-0 = <&du_pins>; | ||
93 | pinctrl-names = "default"; | ||
94 | status = "okay"; | ||
95 | |||
96 | clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&cpg CPG_MOD 722>, | ||
97 | <&cpg CPG_MOD 726>, <&cpg CPG_MOD 725>, | ||
98 | <&osc1_clk>; | ||
99 | clock-names = "du.0", "du.1", "du.2", "lvds.0", "lvds.1", "dclkin.0"; | ||
100 | |||
101 | ports { | ||
102 | port@0 { | ||
103 | endpoint { | ||
104 | remote-endpoint = <&adv7511_in>; | ||
105 | }; | ||
106 | }; | ||
107 | port@1 { | ||
108 | lvds_connector0: endpoint { | ||
109 | }; | ||
110 | }; | ||
111 | port@2 { | ||
112 | lvds_connector1: endpoint { | ||
113 | }; | ||
114 | }; | ||
115 | }; | ||
116 | }; | ||
117 | |||
118 | &extal_clk { | ||
119 | clock-frequency = <20000000>; | ||
120 | }; | ||
121 | |||
122 | &pfc { | ||
123 | |||
124 | pinctrl-0 = <&scif_clk_pins>; | ||
125 | pinctrl-names = "default"; | ||
126 | |||
127 | du_pins: du { | ||
128 | groups = "du_rgb888", "du_sync_1", "du_clk_out_0"; | ||
129 | function = "du"; | ||
130 | }; | ||
131 | |||
132 | scifa0_pins: scifa0 { | ||
133 | groups = "scifa0_data_b"; | ||
134 | function = "scifa0"; | ||
135 | }; | ||
136 | |||
137 | scif_clk_pins: scif_clk { | ||
138 | groups = "scif_clk"; | ||
139 | function = "scif_clk"; | ||
140 | }; | ||
141 | |||
142 | ether_pins: ether { | ||
143 | groups = "eth_link", "eth_mdio", "eth_rmii"; | ||
144 | function = "eth"; | ||
145 | }; | ||
146 | |||
147 | phy1_pins: phy1 { | ||
148 | groups = "intc_irq1"; | ||
149 | function = "intc"; | ||
150 | }; | ||
151 | |||
152 | sdhi0_pins: sd0 { | ||
153 | groups = "sdhi0_data4", "sdhi0_ctrl"; | ||
154 | function = "sdhi0"; | ||
155 | power-source = <3300>; | ||
156 | }; | ||
157 | |||
158 | qspi_pins: qspi { | ||
159 | groups = "qspi_ctrl", "qspi_data4"; | ||
160 | function = "qspi"; | ||
161 | }; | ||
162 | |||
163 | iic2_pins: iic2 { | ||
164 | groups = "iic2_b"; | ||
165 | function = "iic2"; | ||
166 | }; | ||
167 | |||
168 | iic3_pins: iic3 { | ||
169 | groups = "iic3"; | ||
170 | function = "iic3"; | ||
171 | }; | ||
172 | |||
173 | usb0_pins: usb0 { | ||
174 | groups = "usb0"; | ||
175 | function = "usb0"; | ||
176 | }; | ||
177 | }; | ||
178 | |||
179 | ðer { | ||
180 | pinctrl-0 = <ðer_pins &phy1_pins>; | ||
181 | pinctrl-names = "default"; | ||
182 | |||
183 | phy-handle = <&phy1>; | ||
184 | renesas,ether-link-active-low; | ||
185 | status = "okay"; | ||
186 | |||
187 | phy1: ethernet-phy@1 { | ||
188 | reg = <1>; | ||
189 | interrupt-parent = <&irqc0>; | ||
190 | interrupts = <1 IRQ_TYPE_LEVEL_LOW>; | ||
191 | micrel,led-mode = <1>; | ||
192 | }; | ||
193 | }; | ||
194 | |||
195 | &cmt0 { | ||
196 | status = "okay"; | ||
197 | }; | ||
198 | |||
199 | &qspi { | ||
200 | pinctrl-0 = <&qspi_pins>; | ||
201 | pinctrl-names = "default"; | ||
202 | |||
203 | status = "okay"; | ||
204 | |||
205 | flash: flash@0 { | ||
206 | compatible = "spansion,s25fl512s", "jedec,spi-nor"; | ||
207 | reg = <0>; | ||
208 | spi-max-frequency = <30000000>; | ||
209 | spi-tx-bus-width = <4>; | ||
210 | spi-rx-bus-width = <4>; | ||
211 | spi-cpha; | ||
212 | spi-cpol; | ||
213 | m25p,fast-read; | ||
214 | |||
215 | partitions { | ||
216 | compatible = "fixed-partitions"; | ||
217 | #address-cells = <1>; | ||
218 | #size-cells = <1>; | ||
219 | |||
220 | partition@0 { | ||
221 | label = "loader"; | ||
222 | reg = <0x00000000 0x00080000>; | ||
223 | read-only; | ||
224 | }; | ||
225 | partition@80000 { | ||
226 | label = "uboot"; | ||
227 | reg = <0x00080000 0x00040000>; | ||
228 | read-only; | ||
229 | }; | ||
230 | partition@c0000 { | ||
231 | label = "uboot-env"; | ||
232 | reg = <0x000c0000 0x00040000>; | ||
233 | read-only; | ||
234 | }; | ||
235 | partition@100000 { | ||
236 | label = "flash"; | ||
237 | reg = <0x00100000 0x03f00000>; | ||
238 | }; | ||
239 | }; | ||
240 | }; | ||
241 | }; | ||
242 | |||
243 | &scifa0 { | ||
244 | pinctrl-0 = <&scifa0_pins>; | ||
245 | pinctrl-names = "default"; | ||
246 | |||
247 | status = "okay"; | ||
248 | }; | ||
249 | |||
250 | &scif_clk { | ||
251 | clock-frequency = <14745600>; | ||
252 | }; | ||
253 | |||
254 | &sdhi0 { | ||
255 | pinctrl-0 = <&sdhi0_pins>; | ||
256 | pinctrl-names = "default"; | ||
257 | |||
258 | vmmc-supply = <&vcc_sdhi0>; | ||
259 | cd-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>; | ||
260 | status = "okay"; | ||
261 | }; | ||
262 | |||
263 | &cpu0 { | ||
264 | cpu0-supply = <&vdd_dvfs>; | ||
265 | }; | ||
266 | |||
267 | &iic2 { | ||
268 | status = "okay"; | ||
269 | pinctrl-0 = <&iic2_pins>; | ||
270 | pinctrl-names = "default"; | ||
271 | |||
272 | clock-frequency = <100000>; | ||
273 | |||
274 | hdmi@39 { | ||
275 | compatible = "adi,adv7511w"; | ||
276 | reg = <0x39>; | ||
277 | interrupt-parent = <&gpio1>; | ||
278 | interrupts = <15 IRQ_TYPE_LEVEL_LOW>; | ||
279 | clocks = <&osc4_clk>; | ||
280 | clock-names = "cec"; | ||
281 | |||
282 | adi,input-depth = <8>; | ||
283 | adi,input-colorspace = "rgb"; | ||
284 | adi,input-clock = "1x"; | ||
285 | adi,input-style = <1>; | ||
286 | adi,input-justification = "evenly"; | ||
287 | |||
288 | ports { | ||
289 | #address-cells = <1>; | ||
290 | #size-cells = <0>; | ||
291 | |||
292 | port@0 { | ||
293 | reg = <0>; | ||
294 | adv7511_in: endpoint { | ||
295 | remote-endpoint = <&du_out_rgb>; | ||
296 | }; | ||
297 | }; | ||
298 | |||
299 | port@1 { | ||
300 | reg = <1>; | ||
301 | adv7511_out: endpoint { | ||
302 | remote-endpoint = <&hdmi_con_out>; | ||
303 | }; | ||
304 | }; | ||
305 | }; | ||
306 | }; | ||
307 | }; | ||
308 | |||
309 | &iic3 { | ||
310 | pinctrl-names = "default"; | ||
311 | pinctrl-0 = <&iic3_pins>; | ||
312 | status = "okay"; | ||
313 | |||
314 | pmic@58 { | ||
315 | compatible = "dlg,da9063"; | ||
316 | reg = <0x58>; | ||
317 | interrupt-parent = <&irqc0>; | ||
318 | interrupts = <2 IRQ_TYPE_LEVEL_LOW>; | ||
319 | interrupt-controller; | ||
320 | |||
321 | rtc { | ||
322 | compatible = "dlg,da9063-rtc"; | ||
323 | }; | ||
324 | |||
325 | wdt { | ||
326 | compatible = "dlg,da9063-watchdog"; | ||
327 | }; | ||
328 | }; | ||
329 | |||
330 | vdd_dvfs: regulator@68 { | ||
331 | compatible = "dlg,da9210"; | ||
332 | reg = <0x68>; | ||
333 | interrupt-parent = <&irqc0>; | ||
334 | interrupts = <2 IRQ_TYPE_LEVEL_LOW>; | ||
335 | |||
336 | regulator-min-microvolt = <1000000>; | ||
337 | regulator-max-microvolt = <1000000>; | ||
338 | regulator-boot-on; | ||
339 | regulator-always-on; | ||
340 | }; | ||
341 | |||
342 | vdd: regulator@70 { | ||
343 | compatible = "dlg,da9210"; | ||
344 | reg = <0x70>; | ||
345 | interrupt-parent = <&irqc0>; | ||
346 | interrupts = <2 IRQ_TYPE_LEVEL_LOW>; | ||
347 | |||
348 | regulator-min-microvolt = <1000000>; | ||
349 | regulator-max-microvolt = <1000000>; | ||
350 | regulator-boot-on; | ||
351 | regulator-always-on; | ||
352 | }; | ||
353 | }; | ||
354 | |||
355 | &pci0 { | ||
356 | status = "okay"; | ||
357 | pinctrl-0 = <&usb0_pins>; | ||
358 | pinctrl-names = "default"; | ||
359 | }; | ||
360 | |||
361 | &usbphy { | ||
362 | status = "okay"; | ||
363 | }; | ||