diff options
author | Olof Johansson <olof@lixom.net> | 2016-07-07 01:11:20 -0400 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2016-07-07 01:11:20 -0400 |
commit | 5fd70b1b17d47519b908ae6a4960dfdcf0a069ca (patch) | |
tree | de7a2cd101c3dfc29eea421c20e62ba639a4686d | |
parent | 46e6b3aa65c86bf204deb5ff590e186639009427 (diff) | |
parent | 8fd763c75c3ab8e72e5d7f0d4c53531e6ff76197 (diff) |
Merge tag 'renesas-dt2-for-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt
Second Round of Renesas ARM Based SoC DT Updates for v4.8
* Use APMU on R-Car Gen2 and provide SMP for r8a7793 SoC
* Update console parameters to uniformly use chosen/stdout-path,
serial0, not provide kernel unnecessary command line parameters
* Add DU pins to silk board
* Add support for blanche/r8a7792
* Name pfc subnodes after device name
* tag 'renesas-dt2-for-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (41 commits)
ARM: dts: r8a7792: add SMP support
ARM: dts: r8a7793: Add APMU node and second CPU core
ARM: dts: r8a7791: Add APMU node
ARM: dts: r8a7790: Add APMU nodes
devicetree: bindings: Renesas APMU and SMP Enable method
ARM: dts: kzm9g: Update console parameters
ARM: dts: kzm9d: Update console parameters
ARM: dts: marzen: Add serial port config to chosen/stdout-path
ARM: dts: genmai: Update console parameters
ARM: dts: armadillo800eva: Update console parameters
ARM: dts: r8a7792: add JPU support
ARM: dts: r8a7792: add JPU clocks
ARM: dts: silk: add DU pins
ARM: dts: blanche: add Ethernet support
ARM: dts: blanche: initial device tree
ARM: dts: blanche: document Blanche board
ARM: dts: r8a7792: add IRQC support
ARM: dts: r8a7792: add [H]SCIF support
ARM: dts: r8a7792: add SYS-DMAC support
ARM: dts: r8a7792: initial SoC device tree
...
Signed-off-by: Olof Johansson <olof@lixom.net>
24 files changed, 695 insertions, 36 deletions
diff --git a/Documentation/devicetree/bindings/arm/cpus.txt b/Documentation/devicetree/bindings/arm/cpus.txt index ff76088f3b84..e6782d50cbcd 100644 --- a/Documentation/devicetree/bindings/arm/cpus.txt +++ b/Documentation/devicetree/bindings/arm/cpus.txt | |||
@@ -206,6 +206,7 @@ nodes to be present and contain the properties described below. | |||
206 | "qcom,gcc-msm8660" | 206 | "qcom,gcc-msm8660" |
207 | "qcom,kpss-acc-v1" | 207 | "qcom,kpss-acc-v1" |
208 | "qcom,kpss-acc-v2" | 208 | "qcom,kpss-acc-v2" |
209 | "renesas,apmu" | ||
209 | "rockchip,rk3036-smp" | 210 | "rockchip,rk3036-smp" |
210 | "rockchip,rk3066-smp" | 211 | "rockchip,rk3066-smp" |
211 | "ste,dbx500-smp" | 212 | "ste,dbx500-smp" |
diff --git a/Documentation/devicetree/bindings/arm/shmobile.txt b/Documentation/devicetree/bindings/arm/shmobile.txt index 9cf67e48f222..6adb9d549fce 100644 --- a/Documentation/devicetree/bindings/arm/shmobile.txt +++ b/Documentation/devicetree/bindings/arm/shmobile.txt | |||
@@ -39,6 +39,8 @@ Boards: | |||
39 | compatible = "renesas,ape6evm", "renesas,r8a73a4" | 39 | compatible = "renesas,ape6evm", "renesas,r8a73a4" |
40 | - Atmark Techno Armadillo-800 EVA | 40 | - Atmark Techno Armadillo-800 EVA |
41 | compatible = "renesas,armadillo800eva" | 41 | compatible = "renesas,armadillo800eva" |
42 | - Blanche (RTP0RC7792SEB00010S) | ||
43 | compatible = "renesas,blanche", "renesas,r8a7792" | ||
42 | - BOCK-W | 44 | - BOCK-W |
43 | compatible = "renesas,bockw", "renesas,r8a7778" | 45 | compatible = "renesas,bockw", "renesas,r8a7778" |
44 | - Genmai (RTK772100BC00000BR) | 46 | - Genmai (RTK772100BC00000BR) |
diff --git a/Documentation/devicetree/bindings/power/renesas,apmu.txt b/Documentation/devicetree/bindings/power/renesas,apmu.txt new file mode 100644 index 000000000000..84404c9edff7 --- /dev/null +++ b/Documentation/devicetree/bindings/power/renesas,apmu.txt | |||
@@ -0,0 +1,31 @@ | |||
1 | DT bindings for the Renesas Advanced Power Management Unit | ||
2 | |||
3 | Renesas R-Car line of SoCs utilize one or more APMU hardware units | ||
4 | for CPU core power domain control including SMP boot and CPU Hotplug. | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible: Should be "renesas,<soctype>-apmu", "renesas,apmu" as fallback. | ||
9 | Examples with soctypes are: | ||
10 | - "renesas,r8a7790-apmu" (R-Car H2) | ||
11 | - "renesas,r8a7791-apmu" (R-Car M2-W) | ||
12 | - "renesas,r8a7792-apmu" (R-Car V2H) | ||
13 | - "renesas,r8a7793-apmu" (R-Car M2-N) | ||
14 | - "renesas,r8a7794-apmu" (R-Car E2) | ||
15 | |||
16 | - reg: Base address and length of the I/O registers used by the APMU. | ||
17 | |||
18 | - cpus: This node contains a list of CPU cores, which should match the order | ||
19 | of CPU cores used by the WUPCR and PSTR registers in the Advanced Power | ||
20 | Management Unit section of the device's datasheet. | ||
21 | |||
22 | |||
23 | Example: | ||
24 | |||
25 | This shows the r8a7791 APMU that can control CPU0 and CPU1. | ||
26 | |||
27 | apmu@e6152000 { | ||
28 | compatible = "renesas,r8a7791-apmu", "renesas,apmu"; | ||
29 | reg = <0 0xe6152000 0 0x188>; | ||
30 | cpus = <&cpu0 &cpu1>; | ||
31 | }; | ||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index e8ce0cb859ee..f65a24b861e5 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -653,6 +653,7 @@ dtb-$(CONFIG_ARCH_SHMOBILE_MULTI) += \ | |||
653 | r8a7790-lager.dtb \ | 653 | r8a7790-lager.dtb \ |
654 | r8a7791-koelsch.dtb \ | 654 | r8a7791-koelsch.dtb \ |
655 | r8a7791-porter.dtb \ | 655 | r8a7791-porter.dtb \ |
656 | r8a7792-blanche.dtb \ | ||
656 | r8a7793-gose.dtb \ | 657 | r8a7793-gose.dtb \ |
657 | r8a7794-alt.dtb \ | 658 | r8a7794-alt.dtb \ |
658 | r8a7794-silk.dtb \ | 659 | r8a7794-silk.dtb \ |
diff --git a/arch/arm/boot/dts/emev2-kzm9d.dts b/arch/arm/boot/dts/emev2-kzm9d.dts index 9eb86f8f32c5..60d0a732833a 100644 --- a/arch/arm/boot/dts/emev2-kzm9d.dts +++ b/arch/arm/boot/dts/emev2-kzm9d.dts | |||
@@ -23,9 +23,13 @@ | |||
23 | reg = <0x40000000 0x8000000>; | 23 | reg = <0x40000000 0x8000000>; |
24 | }; | 24 | }; |
25 | 25 | ||
26 | aliases { | ||
27 | serial1 = &uart1; | ||
28 | }; | ||
29 | |||
26 | chosen { | 30 | chosen { |
27 | bootargs = "console=ttyS1,115200n81 ignore_loglevel root=/dev/nfs ip=dhcp"; | 31 | bootargs = "ignore_loglevel root=/dev/nfs ip=dhcp"; |
28 | stdout-path = &uart1; | 32 | stdout-path = "serial1:115200n8"; |
29 | }; | 33 | }; |
30 | 34 | ||
31 | gpio_keys { | 35 | gpio_keys { |
diff --git a/arch/arm/boot/dts/r7s72100-genmai.dts b/arch/arm/boot/dts/r7s72100-genmai.dts index 05ba9953b4d8..118a8e2b86bd 100644 --- a/arch/arm/boot/dts/r7s72100-genmai.dts +++ b/arch/arm/boot/dts/r7s72100-genmai.dts | |||
@@ -17,12 +17,12 @@ | |||
17 | compatible = "renesas,genmai", "renesas,r7s72100"; | 17 | compatible = "renesas,genmai", "renesas,r7s72100"; |
18 | 18 | ||
19 | aliases { | 19 | aliases { |
20 | serial2 = &scif2; | 20 | serial0 = &scif2; |
21 | }; | 21 | }; |
22 | 22 | ||
23 | chosen { | 23 | chosen { |
24 | bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp"; | 24 | bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp"; |
25 | stdout-path = &scif2; | 25 | stdout-path = "serial0:115200n8"; |
26 | }; | 26 | }; |
27 | 27 | ||
28 | memory@8000000 { | 28 | memory@8000000 { |
diff --git a/arch/arm/boot/dts/r8a73a4-ape6evm.dts b/arch/arm/boot/dts/r8a73a4-ape6evm.dts index 740e5d23f7c7..ec7c86e06538 100644 --- a/arch/arm/boot/dts/r8a73a4-ape6evm.dts +++ b/arch/arm/boot/dts/r8a73a4-ape6evm.dts | |||
@@ -188,12 +188,12 @@ | |||
188 | }; | 188 | }; |
189 | 189 | ||
190 | &pfc { | 190 | &pfc { |
191 | scifa0_pins: serial0 { | 191 | scifa0_pins: scifa0 { |
192 | groups = "scifa0_data"; | 192 | groups = "scifa0_data"; |
193 | function = "scifa0"; | 193 | function = "scifa0"; |
194 | }; | 194 | }; |
195 | 195 | ||
196 | mmc0_pins: mmc { | 196 | mmc0_pins: mmc0 { |
197 | groups = "mmc0_data8", "mmc0_ctrl"; | 197 | groups = "mmc0_data8", "mmc0_ctrl"; |
198 | function = "mmc0"; | 198 | function = "mmc0"; |
199 | }; | 199 | }; |
diff --git a/arch/arm/boot/dts/r8a7740-armadillo800eva.dts b/arch/arm/boot/dts/r8a7740-armadillo800eva.dts index 162049516685..7885075428bb 100644 --- a/arch/arm/boot/dts/r8a7740-armadillo800eva.dts +++ b/arch/arm/boot/dts/r8a7740-armadillo800eva.dts | |||
@@ -20,12 +20,12 @@ | |||
20 | compatible = "renesas,armadillo800eva", "renesas,r8a7740"; | 20 | compatible = "renesas,armadillo800eva", "renesas,r8a7740"; |
21 | 21 | ||
22 | aliases { | 22 | aliases { |
23 | serial1 = &scifa1; | 23 | serial0 = &scifa1; |
24 | }; | 24 | }; |
25 | 25 | ||
26 | chosen { | 26 | chosen { |
27 | bootargs = "console=tty0 console=ttySC1,115200 earlyprintk=sh-sci.1,115200 ignore_loglevel root=/dev/nfs ip=dhcp rw"; | 27 | bootargs = "earlyprintk ignore_loglevel root=/dev/nfs ip=dhcp rw"; |
28 | stdout-path = &scifa1; | 28 | stdout-path = "serial0:115200n8"; |
29 | }; | 29 | }; |
30 | 30 | ||
31 | memory@40000000 { | 31 | memory@40000000 { |
@@ -232,7 +232,7 @@ | |||
232 | function = "gether"; | 232 | function = "gether"; |
233 | }; | 233 | }; |
234 | 234 | ||
235 | scifa1_pins: serial1 { | 235 | scifa1_pins: scifa1 { |
236 | groups = "scifa1_data"; | 236 | groups = "scifa1_data"; |
237 | function = "scifa1"; | 237 | function = "scifa1"; |
238 | }; | 238 | }; |
diff --git a/arch/arm/boot/dts/r8a7778-bockw.dts b/arch/arm/boot/dts/r8a7778-bockw.dts index 0a0bd3b6bb40..211d239d9041 100644 --- a/arch/arm/boot/dts/r8a7778-bockw.dts +++ b/arch/arm/boot/dts/r8a7778-bockw.dts | |||
@@ -129,7 +129,7 @@ | |||
129 | pinctrl-0 = <&scif_clk_pins>; | 129 | pinctrl-0 = <&scif_clk_pins>; |
130 | pinctrl-names = "default"; | 130 | pinctrl-names = "default"; |
131 | 131 | ||
132 | scif0_pins: serial0 { | 132 | scif0_pins: scif0 { |
133 | groups = "scif0_data_a", "scif0_ctrl"; | 133 | groups = "scif0_data_a", "scif0_ctrl"; |
134 | function = "scif0"; | 134 | function = "scif0"; |
135 | }; | 135 | }; |
diff --git a/arch/arm/boot/dts/r8a7779-marzen.dts b/arch/arm/boot/dts/r8a7779-marzen.dts index cec79a6347c0..541678df90a9 100644 --- a/arch/arm/boot/dts/r8a7779-marzen.dts +++ b/arch/arm/boot/dts/r8a7779-marzen.dts | |||
@@ -25,7 +25,7 @@ | |||
25 | 25 | ||
26 | chosen { | 26 | chosen { |
27 | bootargs = "ignore_loglevel root=/dev/nfs ip=on"; | 27 | bootargs = "ignore_loglevel root=/dev/nfs ip=on"; |
28 | stdout-path = &scif2; | 28 | stdout-path = "serial0:115200n8"; |
29 | }; | 29 | }; |
30 | 30 | ||
31 | memory@60000000 { | 31 | memory@60000000 { |
@@ -195,12 +195,12 @@ | |||
195 | }; | 195 | }; |
196 | }; | 196 | }; |
197 | 197 | ||
198 | scif2_pins: serial2 { | 198 | scif2_pins: scif2 { |
199 | groups = "scif2_data_c"; | 199 | groups = "scif2_data_c"; |
200 | function = "scif2"; | 200 | function = "scif2"; |
201 | }; | 201 | }; |
202 | 202 | ||
203 | scif4_pins: serial4 { | 203 | scif4_pins: scif4 { |
204 | groups = "scif4_data"; | 204 | groups = "scif4_data"; |
205 | function = "scif4"; | 205 | function = "scif4"; |
206 | }; | 206 | }; |
diff --git a/arch/arm/boot/dts/r8a7790-lager.dts b/arch/arm/boot/dts/r8a7790-lager.dts index 9d20ace33b01..52b56fcaddf2 100644 --- a/arch/arm/boot/dts/r8a7790-lager.dts +++ b/arch/arm/boot/dts/r8a7790-lager.dts | |||
@@ -317,7 +317,7 @@ | |||
317 | function = "du"; | 317 | function = "du"; |
318 | }; | 318 | }; |
319 | 319 | ||
320 | scif0_pins: serial0 { | 320 | scif0_pins: scif0 { |
321 | groups = "scif0_data"; | 321 | groups = "scif0_data"; |
322 | function = "scif0"; | 322 | function = "scif0"; |
323 | }; | 323 | }; |
@@ -337,7 +337,7 @@ | |||
337 | function = "intc"; | 337 | function = "intc"; |
338 | }; | 338 | }; |
339 | 339 | ||
340 | scifa1_pins: serial1 { | 340 | scifa1_pins: scifa1 { |
341 | groups = "scifa1_data"; | 341 | groups = "scifa1_data"; |
342 | function = "scifa1"; | 342 | function = "scifa1"; |
343 | }; | 343 | }; |
@@ -371,12 +371,12 @@ | |||
371 | function = "mmc1"; | 371 | function = "mmc1"; |
372 | }; | 372 | }; |
373 | 373 | ||
374 | qspi_pins: spi0 { | 374 | qspi_pins: qspi { |
375 | groups = "qspi_ctrl", "qspi_data4"; | 375 | groups = "qspi_ctrl", "qspi_data4"; |
376 | function = "qspi"; | 376 | function = "qspi"; |
377 | }; | 377 | }; |
378 | 378 | ||
379 | msiof1_pins: spi2 { | 379 | msiof1_pins: msiof1 { |
380 | groups = "msiof1_clk", "msiof1_sync", "msiof1_rx", | 380 | groups = "msiof1_clk", "msiof1_sync", "msiof1_rx", |
381 | "msiof1_tx"; | 381 | "msiof1_tx"; |
382 | function = "msiof1"; | 382 | function = "msiof1"; |
@@ -427,7 +427,7 @@ | |||
427 | function = "usb2"; | 427 | function = "usb2"; |
428 | }; | 428 | }; |
429 | 429 | ||
430 | vin1_pins: vin { | 430 | vin1_pins: vin1 { |
431 | groups = "vin1_data8", "vin1_clk"; | 431 | groups = "vin1_data8", "vin1_clk"; |
432 | function = "vin1"; | 432 | function = "vin1"; |
433 | }; | 433 | }; |
diff --git a/arch/arm/boot/dts/r8a7790.dtsi b/arch/arm/boot/dts/r8a7790.dtsi index 9997e7dfabe2..d18558f21102 100644 --- a/arch/arm/boot/dts/r8a7790.dtsi +++ b/arch/arm/boot/dts/r8a7790.dtsi | |||
@@ -44,6 +44,7 @@ | |||
44 | cpus { | 44 | cpus { |
45 | #address-cells = <1>; | 45 | #address-cells = <1>; |
46 | #size-cells = <0>; | 46 | #size-cells = <0>; |
47 | enable-method = "renesas,apmu"; | ||
47 | 48 | ||
48 | cpu0: cpu@0 { | 49 | cpu0: cpu@0 { |
49 | device_type = "cpu"; | 50 | device_type = "cpu"; |
@@ -164,6 +165,18 @@ | |||
164 | }; | 165 | }; |
165 | }; | 166 | }; |
166 | 167 | ||
168 | apmu@e6151000 { | ||
169 | compatible = "renesas,r8a7790-apmu", "renesas,apmu"; | ||
170 | reg = <0 0xe6151000 0 0x188>; | ||
171 | cpus = <&cpu4 &cpu5 &cpu6 &cpu7>; | ||
172 | }; | ||
173 | |||
174 | apmu@e6152000 { | ||
175 | compatible = "renesas,r8a7790-apmu", "renesas,apmu"; | ||
176 | reg = <0 0xe6152000 0 0x188>; | ||
177 | cpus = <&cpu0 &cpu1 &cpu2 &cpu3>; | ||
178 | }; | ||
179 | |||
167 | gic: interrupt-controller@f1001000 { | 180 | gic: interrupt-controller@f1001000 { |
168 | compatible = "arm,gic-400"; | 181 | compatible = "arm,gic-400"; |
169 | #interrupt-cells = <3>; | 182 | #interrupt-cells = <3>; |
diff --git a/arch/arm/boot/dts/r8a7791-koelsch.dts b/arch/arm/boot/dts/r8a7791-koelsch.dts index 20fbc8c36a78..f8a7d090fd01 100644 --- a/arch/arm/boot/dts/r8a7791-koelsch.dts +++ b/arch/arm/boot/dts/r8a7791-koelsch.dts | |||
@@ -332,12 +332,12 @@ | |||
332 | function = "du"; | 332 | function = "du"; |
333 | }; | 333 | }; |
334 | 334 | ||
335 | scif0_pins: serial0 { | 335 | scif0_pins: scif0 { |
336 | groups = "scif0_data_d"; | 336 | groups = "scif0_data_d"; |
337 | function = "scif0"; | 337 | function = "scif0"; |
338 | }; | 338 | }; |
339 | 339 | ||
340 | scif1_pins: serial1 { | 340 | scif1_pins: scif1 { |
341 | groups = "scif1_data_d"; | 341 | groups = "scif1_data_d"; |
342 | function = "scif1"; | 342 | function = "scif1"; |
343 | }; | 343 | }; |
@@ -372,12 +372,12 @@ | |||
372 | function = "sdhi2"; | 372 | function = "sdhi2"; |
373 | }; | 373 | }; |
374 | 374 | ||
375 | qspi_pins: spi0 { | 375 | qspi_pins: qspi { |
376 | groups = "qspi_ctrl", "qspi_data4"; | 376 | groups = "qspi_ctrl", "qspi_data4"; |
377 | function = "qspi"; | 377 | function = "qspi"; |
378 | }; | 378 | }; |
379 | 379 | ||
380 | msiof0_pins: spi1 { | 380 | msiof0_pins: msiof0 { |
381 | groups = "msiof0_clk", "msiof0_sync", "msiof0_rx", | 381 | groups = "msiof0_clk", "msiof0_sync", "msiof0_rx", |
382 | "msiof0_tx"; | 382 | "msiof0_tx"; |
383 | function = "msiof0"; | 383 | function = "msiof0"; |
diff --git a/arch/arm/boot/dts/r8a7791-porter.dts b/arch/arm/boot/dts/r8a7791-porter.dts index e9151e946da8..6761d11d3f9e 100644 --- a/arch/arm/boot/dts/r8a7791-porter.dts +++ b/arch/arm/boot/dts/r8a7791-porter.dts | |||
@@ -142,7 +142,7 @@ | |||
142 | }; | 142 | }; |
143 | 143 | ||
144 | &pfc { | 144 | &pfc { |
145 | scif0_pins: serial0 { | 145 | scif0_pins: scif0 { |
146 | groups = "scif0_data_d"; | 146 | groups = "scif0_data_d"; |
147 | function = "scif0"; | 147 | function = "scif0"; |
148 | }; | 148 | }; |
@@ -167,7 +167,7 @@ | |||
167 | function = "sdhi2"; | 167 | function = "sdhi2"; |
168 | }; | 168 | }; |
169 | 169 | ||
170 | qspi_pins: spi0 { | 170 | qspi_pins: qspi { |
171 | groups = "qspi_ctrl", "qspi_data4"; | 171 | groups = "qspi_ctrl", "qspi_data4"; |
172 | function = "qspi"; | 172 | function = "qspi"; |
173 | }; | 173 | }; |
diff --git a/arch/arm/boot/dts/r8a7791.dtsi b/arch/arm/boot/dts/r8a7791.dtsi index 1985bd0dc32c..8f0086bbd96b 100644 --- a/arch/arm/boot/dts/r8a7791.dtsi +++ b/arch/arm/boot/dts/r8a7791.dtsi | |||
@@ -43,6 +43,7 @@ | |||
43 | cpus { | 43 | cpus { |
44 | #address-cells = <1>; | 44 | #address-cells = <1>; |
45 | #size-cells = <0>; | 45 | #size-cells = <0>; |
46 | enable-method = "renesas,apmu"; | ||
46 | 47 | ||
47 | cpu0: cpu@0 { | 48 | cpu0: cpu@0 { |
48 | device_type = "cpu"; | 49 | device_type = "cpu"; |
@@ -101,6 +102,12 @@ | |||
101 | }; | 102 | }; |
102 | }; | 103 | }; |
103 | 104 | ||
105 | apmu@e6152000 { | ||
106 | compatible = "renesas,r8a7791-apmu", "renesas,apmu"; | ||
107 | reg = <0 0xe6152000 0 0x188>; | ||
108 | cpus = <&cpu0 &cpu1>; | ||
109 | }; | ||
110 | |||
104 | gic: interrupt-controller@f1001000 { | 111 | gic: interrupt-controller@f1001000 { |
105 | compatible = "arm,gic-400"; | 112 | compatible = "arm,gic-400"; |
106 | #interrupt-cells = <3>; | 113 | #interrupt-cells = <3>; |
diff --git a/arch/arm/boot/dts/r8a7792-blanche.dts b/arch/arm/boot/dts/r8a7792-blanche.dts new file mode 100644 index 000000000000..e7b40f0e7da6 --- /dev/null +++ b/arch/arm/boot/dts/r8a7792-blanche.dts | |||
@@ -0,0 +1,66 @@ | |||
1 | /* | ||
2 | * Device Tree Source for the Blanche board | ||
3 | * | ||
4 | * Copyright (C) 2014 Renesas Electronics Corporation | ||
5 | * Copyright (C) 2016 Cogent Embedded, Inc. | ||
6 | * | ||
7 | * This file is licensed under the terms of the GNU General Public License | ||
8 | * version 2. This program is licensed "as is" without any warranty of any | ||
9 | * kind, whether express or implied. | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | #include "r8a7792.dtsi" | ||
14 | |||
15 | / { | ||
16 | model = "Blanche"; | ||
17 | compatible = "renesas,blanche", "renesas,r8a7792"; | ||
18 | |||
19 | aliases { | ||
20 | serial0 = &scif0; | ||
21 | serial1 = &scif3; | ||
22 | }; | ||
23 | |||
24 | chosen { | ||
25 | bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp"; | ||
26 | stdout-path = "serial0:115200n8"; | ||
27 | }; | ||
28 | |||
29 | memory@40000000 { | ||
30 | device_type = "memory"; | ||
31 | reg = <0 0x40000000 0 0x40000000>; | ||
32 | }; | ||
33 | |||
34 | d3_3v: regulator-3v3 { | ||
35 | compatible = "regulator-fixed"; | ||
36 | regulator-name = "D3.3V"; | ||
37 | regulator-min-microvolt = <3300000>; | ||
38 | regulator-max-microvolt = <3300000>; | ||
39 | regulator-boot-on; | ||
40 | regulator-always-on; | ||
41 | }; | ||
42 | |||
43 | ethernet@18000000 { | ||
44 | compatible = "smsc,lan89218", "smsc,lan9115"; | ||
45 | reg = <0 0x18000000 0 0x100>; | ||
46 | phy-mode = "mii"; | ||
47 | interrupt-parent = <&irqc>; | ||
48 | interrupts = <0 IRQ_TYPE_EDGE_FALLING>; | ||
49 | smsc,irq-push-pull; | ||
50 | reg-io-width = <4>; | ||
51 | vddvario-supply = <&d3_3v>; | ||
52 | vdd33a-supply = <&d3_3v>; | ||
53 | }; | ||
54 | }; | ||
55 | |||
56 | &extal_clk { | ||
57 | clock-frequency = <20000000>; | ||
58 | }; | ||
59 | |||
60 | &scif0 { | ||
61 | status = "okay"; | ||
62 | }; | ||
63 | |||
64 | &scif3 { | ||
65 | status = "okay"; | ||
66 | }; | ||
diff --git a/arch/arm/boot/dts/r8a7792.dtsi b/arch/arm/boot/dts/r8a7792.dtsi new file mode 100644 index 000000000000..75256ef4a04d --- /dev/null +++ b/arch/arm/boot/dts/r8a7792.dtsi | |||
@@ -0,0 +1,378 @@ | |||
1 | /* | ||
2 | * Device Tree Source for the r8a7792 SoC | ||
3 | * | ||
4 | * Copyright (C) 2016 Cogent Embedded Inc. | ||
5 | * | ||
6 | * This file is licensed under the terms of the GNU General Public License | ||
7 | * version 2. This program is licensed "as is" without any warranty of any | ||
8 | * kind, whether express or implied. | ||
9 | */ | ||
10 | |||
11 | #include <dt-bindings/clock/r8a7792-clock.h> | ||
12 | #include <dt-bindings/interrupt-controller/irq.h> | ||
13 | #include <dt-bindings/interrupt-controller/arm-gic.h> | ||
14 | #include <dt-bindings/power/r8a7792-sysc.h> | ||
15 | |||
16 | / { | ||
17 | compatible = "renesas,r8a7792"; | ||
18 | #address-cells = <2>; | ||
19 | #size-cells = <2>; | ||
20 | |||
21 | cpus { | ||
22 | #address-cells = <1>; | ||
23 | #size-cells = <0>; | ||
24 | enable-method = "renesas,apmu"; | ||
25 | |||
26 | cpu0: cpu@0 { | ||
27 | device_type = "cpu"; | ||
28 | compatible = "arm,cortex-a15"; | ||
29 | reg = <0>; | ||
30 | clock-frequency = <1000000000>; | ||
31 | clocks = <&cpg_clocks R8A7792_CLK_Z>; | ||
32 | power-domains = <&sysc R8A7792_PD_CA15_CPU0>; | ||
33 | next-level-cache = <&L2_CA15>; | ||
34 | }; | ||
35 | |||
36 | cpu1: cpu@1 { | ||
37 | device_type = "cpu"; | ||
38 | compatible = "arm,cortex-a15"; | ||
39 | reg = <1>; | ||
40 | clock-frequency = <1000000000>; | ||
41 | power-domains = <&sysc R8A7792_PD_CA15_CPU1>; | ||
42 | next-level-cache = <&L2_CA15>; | ||
43 | }; | ||
44 | |||
45 | L2_CA15: cache-controller@0 { | ||
46 | compatible = "cache"; | ||
47 | reg = <0>; | ||
48 | cache-unified; | ||
49 | cache-level = <2>; | ||
50 | power-domains = <&sysc R8A7792_PD_CA15_SCU>; | ||
51 | }; | ||
52 | }; | ||
53 | |||
54 | soc { | ||
55 | compatible = "simple-bus"; | ||
56 | interrupt-parent = <&gic>; | ||
57 | |||
58 | #address-cells = <2>; | ||
59 | #size-cells = <2>; | ||
60 | ranges; | ||
61 | |||
62 | apmu@e6152000 { | ||
63 | compatible = "renesas,r8a7792-apmu", "renesas,apmu"; | ||
64 | reg = <0 0xe6152000 0 0x188>; | ||
65 | cpus = <&cpu0 &cpu1>; | ||
66 | }; | ||
67 | |||
68 | gic: interrupt-controller@f1001000 { | ||
69 | compatible = "arm,gic-400"; | ||
70 | #interrupt-cells = <3>; | ||
71 | interrupt-controller; | ||
72 | reg = <0 0xf1001000 0 0x1000>, | ||
73 | <0 0xf1002000 0 0x1000>, | ||
74 | <0 0xf1004000 0 0x2000>, | ||
75 | <0 0xf1006000 0 0x2000>; | ||
76 | interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | | ||
77 | IRQ_TYPE_LEVEL_HIGH)>; | ||
78 | }; | ||
79 | |||
80 | irqc: interrupt-controller@e61c0000 { | ||
81 | compatible = "renesas,irqc-r8a7792", "renesas,irqc"; | ||
82 | #interrupt-cells = <2>; | ||
83 | interrupt-controller; | ||
84 | reg = <0 0xe61c0000 0 0x200>; | ||
85 | interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, | ||
86 | <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, | ||
87 | <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, | ||
88 | <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; | ||
89 | clocks = <&mstp4_clks R8A7792_CLK_IRQC>; | ||
90 | power-domains = <&sysc R8A7792_PD_ALWAYS_ON>; | ||
91 | }; | ||
92 | |||
93 | timer { | ||
94 | compatible = "arm,armv7-timer"; | ||
95 | interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | | ||
96 | IRQ_TYPE_LEVEL_LOW)>, | ||
97 | <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | | ||
98 | IRQ_TYPE_LEVEL_LOW)>, | ||
99 | <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | | ||
100 | IRQ_TYPE_LEVEL_LOW)>, | ||
101 | <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | | ||
102 | IRQ_TYPE_LEVEL_LOW)>; | ||
103 | }; | ||
104 | |||
105 | sysc: system-controller@e6180000 { | ||
106 | compatible = "renesas,r8a7792-sysc"; | ||
107 | reg = <0 0xe6180000 0 0x0200>; | ||
108 | #power-domain-cells = <1>; | ||
109 | }; | ||
110 | |||
111 | dmac0: dma-controller@e6700000 { | ||
112 | compatible = "renesas,dmac-r8a7792", | ||
113 | "renesas,rcar-dmac"; | ||
114 | reg = <0 0xe6700000 0 0x20000>; | ||
115 | interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH | ||
116 | GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH | ||
117 | GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH | ||
118 | GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH | ||
119 | GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH | ||
120 | GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH | ||
121 | GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH | ||
122 | GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH | ||
123 | GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH | ||
124 | GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH | ||
125 | GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH | ||
126 | GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH | ||
127 | GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH | ||
128 | GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH | ||
129 | GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH | ||
130 | GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>; | ||
131 | interrupt-names = "error", | ||
132 | "ch0", "ch1", "ch2", "ch3", | ||
133 | "ch4", "ch5", "ch6", "ch7", | ||
134 | "ch8", "ch9", "ch10", "ch11", | ||
135 | "ch12", "ch13", "ch14"; | ||
136 | clocks = <&mstp2_clks R8A7792_CLK_SYS_DMAC0>; | ||
137 | clock-names = "fck"; | ||
138 | power-domains = <&sysc R8A7792_PD_ALWAYS_ON>; | ||
139 | #dma-cells = <1>; | ||
140 | dma-channels = <15>; | ||
141 | }; | ||
142 | |||
143 | dmac1: dma-controller@e6720000 { | ||
144 | compatible = "renesas,dmac-r8a7792", | ||
145 | "renesas,rcar-dmac"; | ||
146 | reg = <0 0xe6720000 0 0x20000>; | ||
147 | interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH | ||
148 | GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH | ||
149 | GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH | ||
150 | GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH | ||
151 | GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH | ||
152 | GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH | ||
153 | GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH | ||
154 | GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH | ||
155 | GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH | ||
156 | GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH | ||
157 | GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH | ||
158 | GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH | ||
159 | GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH | ||
160 | GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH | ||
161 | GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH | ||
162 | GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>; | ||
163 | interrupt-names = "error", | ||
164 | "ch0", "ch1", "ch2", "ch3", | ||
165 | "ch4", "ch5", "ch6", "ch7", | ||
166 | "ch8", "ch9", "ch10", "ch11", | ||
167 | "ch12", "ch13", "ch14"; | ||
168 | clocks = <&mstp2_clks R8A7792_CLK_SYS_DMAC1>; | ||
169 | clock-names = "fck"; | ||
170 | power-domains = <&sysc R8A7792_PD_ALWAYS_ON>; | ||
171 | #dma-cells = <1>; | ||
172 | dma-channels = <15>; | ||
173 | }; | ||
174 | |||
175 | scif0: serial@e6e60000 { | ||
176 | compatible = "renesas,scif-r8a7792", | ||
177 | "renesas,rcar-gen2-scif", "renesas,scif"; | ||
178 | reg = <0 0xe6e60000 0 64>; | ||
179 | interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>; | ||
180 | clocks = <&mstp7_clks R8A7792_CLK_SCIF0>, <&zs_clk>, | ||
181 | <&scif_clk>; | ||
182 | clock-names = "fck", "brg_int", "scif_clk"; | ||
183 | dmas = <&dmac0 0x29>, <&dmac0 0x2a>, | ||
184 | <&dmac1 0x29>, <&dmac1 0x2a>; | ||
185 | dma-names = "tx", "rx", "tx", "rx"; | ||
186 | power-domains = <&sysc R8A7792_PD_ALWAYS_ON>; | ||
187 | status = "disabled"; | ||
188 | }; | ||
189 | |||
190 | scif1: serial@e6e68000 { | ||
191 | compatible = "renesas,scif-r8a7792", | ||
192 | "renesas,rcar-gen2-scif", "renesas,scif"; | ||
193 | reg = <0 0xe6e68000 0 64>; | ||
194 | interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>; | ||
195 | clocks = <&mstp7_clks R8A7792_CLK_SCIF1>, <&zs_clk>, | ||
196 | <&scif_clk>; | ||
197 | clock-names = "fck", "brg_int", "scif_clk"; | ||
198 | dmas = <&dmac0 0x2d>, <&dmac0 0x2e>, | ||
199 | <&dmac1 0x2d>, <&dmac1 0x2e>; | ||
200 | dma-names = "tx", "rx", "tx", "rx"; | ||
201 | power-domains = <&sysc R8A7792_PD_ALWAYS_ON>; | ||
202 | status = "disabled"; | ||
203 | }; | ||
204 | |||
205 | scif2: serial@e6e58000 { | ||
206 | compatible = "renesas,scif-r8a7792", | ||
207 | "renesas,rcar-gen2-scif", "renesas,scif"; | ||
208 | reg = <0 0xe6e58000 0 64>; | ||
209 | interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; | ||
210 | clocks = <&mstp7_clks R8A7792_CLK_SCIF2>, <&zs_clk>, | ||
211 | <&scif_clk>; | ||
212 | clock-names = "fck", "brg_int", "scif_clk"; | ||
213 | dmas = <&dmac0 0x2b>, <&dmac0 0x2c>, | ||
214 | <&dmac1 0x2b>, <&dmac1 0x2c>; | ||
215 | dma-names = "tx", "rx", "tx", "rx"; | ||
216 | power-domains = <&sysc R8A7792_PD_ALWAYS_ON>; | ||
217 | status = "disabled"; | ||
218 | }; | ||
219 | |||
220 | scif3: serial@e6ea8000 { | ||
221 | compatible = "renesas,scif-r8a7792", | ||
222 | "renesas,rcar-gen2-scif", "renesas,scif"; | ||
223 | reg = <0 0xe6ea8000 0 64>; | ||
224 | interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; | ||
225 | clocks = <&mstp7_clks R8A7792_CLK_SCIF3>, <&zs_clk>, | ||
226 | <&scif_clk>; | ||
227 | clock-names = "fck", "brg_int", "scif_clk"; | ||
228 | dmas = <&dmac0 0x2f>, <&dmac0 0x30>, | ||
229 | <&dmac1 0x2f>, <&dmac1 0x30>; | ||
230 | dma-names = "tx", "rx", "tx", "rx"; | ||
231 | power-domains = <&sysc R8A7792_PD_ALWAYS_ON>; | ||
232 | status = "disabled"; | ||
233 | }; | ||
234 | |||
235 | hscif0: serial@e62c0000 { | ||
236 | compatible = "renesas,hscif-r8a7792", | ||
237 | "renesas,rcar-gen2-hscif", "renesas,hscif"; | ||
238 | reg = <0 0xe62c0000 0 96>; | ||
239 | interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>; | ||
240 | clocks = <&mstp7_clks R8A7792_CLK_HSCIF0>, <&zs_clk>, | ||
241 | <&scif_clk>; | ||
242 | clock-names = "fck", "brg_int", "scif_clk"; | ||
243 | dmas = <&dmac0 0x39>, <&dmac0 0x3a>, | ||
244 | <&dmac1 0x39>, <&dmac1 0x3a>; | ||
245 | dma-names = "tx", "rx", "tx", "rx"; | ||
246 | power-domains = <&sysc R8A7792_PD_ALWAYS_ON>; | ||
247 | status = "disabled"; | ||
248 | }; | ||
249 | |||
250 | hscif1: serial@e62c8000 { | ||
251 | compatible = "renesas,hscif-r8a7792", | ||
252 | "renesas,rcar-gen2-hscif", "renesas,hscif"; | ||
253 | reg = <0 0xe62c8000 0 96>; | ||
254 | interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>; | ||
255 | clocks = <&mstp7_clks R8A7792_CLK_HSCIF1>, <&zs_clk>, | ||
256 | <&scif_clk>; | ||
257 | clock-names = "fck", "brg_int", "scif_clk"; | ||
258 | dmas = <&dmac0 0x4d>, <&dmac0 0x4e>, | ||
259 | <&dmac1 0x4d>, <&dmac1 0x4e>; | ||
260 | dma-names = "tx", "rx", "tx", "rx"; | ||
261 | power-domains = <&sysc R8A7792_PD_ALWAYS_ON>; | ||
262 | status = "disabled"; | ||
263 | }; | ||
264 | |||
265 | jpu: jpeg-codec@fe980000 { | ||
266 | compatible = "renesas,jpu-r8a7792", | ||
267 | "renesas,rcar-gen2-jpu"; | ||
268 | reg = <0 0xfe980000 0 0x10300>; | ||
269 | interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>; | ||
270 | clocks = <&mstp1_clks R8A7792_CLK_JPU>; | ||
271 | power-domains = <&sysc R8A7792_PD_ALWAYS_ON>; | ||
272 | }; | ||
273 | |||
274 | /* Special CPG clocks */ | ||
275 | cpg_clocks: cpg_clocks@e6150000 { | ||
276 | compatible = "renesas,r8a7792-cpg-clocks", | ||
277 | "renesas,rcar-gen2-cpg-clocks"; | ||
278 | reg = <0 0xe6150000 0 0x1000>; | ||
279 | clocks = <&extal_clk>; | ||
280 | #clock-cells = <1>; | ||
281 | clock-output-names = "main", "pll0", "pll1", "pll3", | ||
282 | "lb", "qspi", "z", "adsp"; | ||
283 | #power-domain-cells = <0>; | ||
284 | }; | ||
285 | |||
286 | /* Fixed factor clocks */ | ||
287 | zs_clk: zs { | ||
288 | compatible = "fixed-factor-clock"; | ||
289 | clocks = <&cpg_clocks R8A7792_CLK_PLL1>; | ||
290 | #clock-cells = <0>; | ||
291 | clock-div = <6>; | ||
292 | clock-mult = <1>; | ||
293 | }; | ||
294 | p_clk: p { | ||
295 | compatible = "fixed-factor-clock"; | ||
296 | clocks = <&cpg_clocks R8A7792_CLK_PLL1>; | ||
297 | #clock-cells = <0>; | ||
298 | clock-div = <24>; | ||
299 | clock-mult = <1>; | ||
300 | }; | ||
301 | cp_clk: cp { | ||
302 | compatible = "fixed-factor-clock"; | ||
303 | clocks = <&cpg_clocks R8A7792_CLK_PLL1>; | ||
304 | #clock-cells = <0>; | ||
305 | clock-div = <48>; | ||
306 | clock-mult = <1>; | ||
307 | }; | ||
308 | m2_clk: m2 { | ||
309 | compatible = "fixed-factor-clock"; | ||
310 | clocks = <&cpg_clocks R8A7792_CLK_PLL1>; | ||
311 | #clock-cells = <0>; | ||
312 | clock-div = <8>; | ||
313 | clock-mult = <1>; | ||
314 | }; | ||
315 | |||
316 | /* Gate clocks */ | ||
317 | mstp1_clks: mstp1_clks@e6150134 { | ||
318 | compatible = "renesas,r8a7792-mstp-clocks", | ||
319 | "renesas,cpg-mstp-clocks"; | ||
320 | reg = <0 0xe6150134 0 4>, <0 0xe6150038 0 4>; | ||
321 | clocks = <&m2_clk>; | ||
322 | #clock-cells = <1>; | ||
323 | clock-indices = <R8A7792_CLK_JPU>; | ||
324 | clock-output-names = "jpu"; | ||
325 | }; | ||
326 | mstp2_clks: mstp2_clks@e6150138 { | ||
327 | compatible = "renesas,r8a7792-mstp-clocks", | ||
328 | "renesas,cpg-mstp-clocks"; | ||
329 | reg = <0 0xe6150138 0 4>, <0 0xe6150040 0 4>; | ||
330 | clocks = <&zs_clk>, <&zs_clk>; | ||
331 | #clock-cells = <1>; | ||
332 | clock-indices = < | ||
333 | R8A7792_CLK_SYS_DMAC1 R8A7792_CLK_SYS_DMAC0 | ||
334 | >; | ||
335 | clock-output-names = "sys-dmac1", "sys-dmac0"; | ||
336 | }; | ||
337 | mstp4_clks: mstp4_clks@e6150140 { | ||
338 | compatible = "renesas,r8a7792-mstp-clocks", | ||
339 | "renesas,cpg-mstp-clocks"; | ||
340 | reg = <0 0xe6150140 0 4>, <0 0xe615004c 0 4>; | ||
341 | clocks = <&cp_clk>; | ||
342 | #clock-cells = <1>; | ||
343 | clock-indices = <R8A7792_CLK_IRQC>; | ||
344 | clock-output-names = "irqc"; | ||
345 | }; | ||
346 | mstp7_clks: mstp7_clks@e615014c { | ||
347 | compatible = "renesas,r8a7792-mstp-clocks", | ||
348 | "renesas,cpg-mstp-clocks"; | ||
349 | reg = <0 0xe615014c 0 4>, <0 0xe61501c4 0 4>; | ||
350 | clocks = <&zs_clk>, <&zs_clk>, <&p_clk>, <&p_clk>, | ||
351 | <&p_clk>, <&p_clk>; | ||
352 | #clock-cells = <1>; | ||
353 | clock-indices = < | ||
354 | R8A7792_CLK_HSCIF1 R8A7792_CLK_HSCIF0 | ||
355 | R8A7792_CLK_SCIF3 R8A7792_CLK_SCIF2 | ||
356 | R8A7792_CLK_SCIF1 R8A7792_CLK_SCIF0 | ||
357 | >; | ||
358 | clock-output-names = "hscif1", "hscif0", "scif3", | ||
359 | "scif2", "scif1", "scif0"; | ||
360 | }; | ||
361 | }; | ||
362 | |||
363 | /* External root clock */ | ||
364 | extal_clk: extal { | ||
365 | compatible = "fixed-clock"; | ||
366 | #clock-cells = <0>; | ||
367 | /* This value must be overridden by the board. */ | ||
368 | clock-frequency = <0>; | ||
369 | }; | ||
370 | |||
371 | /* External SCIF clock */ | ||
372 | scif_clk: scif { | ||
373 | compatible = "fixed-clock"; | ||
374 | #clock-cells = <0>; | ||
375 | /* This value must be overridden by the board. */ | ||
376 | clock-frequency = <0>; | ||
377 | }; | ||
378 | }; | ||
diff --git a/arch/arm/boot/dts/r8a7793-gose.dts b/arch/arm/boot/dts/r8a7793-gose.dts index f748360ee857..90af18600124 100644 --- a/arch/arm/boot/dts/r8a7793-gose.dts +++ b/arch/arm/boot/dts/r8a7793-gose.dts | |||
@@ -320,12 +320,12 @@ | |||
320 | function = "du"; | 320 | function = "du"; |
321 | }; | 321 | }; |
322 | 322 | ||
323 | scif0_pins: serial0 { | 323 | scif0_pins: scif0 { |
324 | groups = "scif0_data_d"; | 324 | groups = "scif0_data_d"; |
325 | function = "scif0"; | 325 | function = "scif0"; |
326 | }; | 326 | }; |
327 | 327 | ||
328 | scif1_pins: serial1 { | 328 | scif1_pins: scif1 { |
329 | groups = "scif1_data_d"; | 329 | groups = "scif1_data_d"; |
330 | function = "scif1"; | 330 | function = "scif1"; |
331 | }; | 331 | }; |
@@ -360,7 +360,7 @@ | |||
360 | renesas,function = "sdhi2"; | 360 | renesas,function = "sdhi2"; |
361 | }; | 361 | }; |
362 | 362 | ||
363 | qspi_pins: spi0 { | 363 | qspi_pins: qspi { |
364 | groups = "qspi_ctrl", "qspi_data4"; | 364 | groups = "qspi_ctrl", "qspi_data4"; |
365 | function = "qspi"; | 365 | function = "qspi"; |
366 | }; | 366 | }; |
diff --git a/arch/arm/boot/dts/r8a7793.dtsi b/arch/arm/boot/dts/r8a7793.dtsi index 9b55c1c6ee31..8d02aacf2892 100644 --- a/arch/arm/boot/dts/r8a7793.dtsi +++ b/arch/arm/boot/dts/r8a7793.dtsi | |||
@@ -35,6 +35,7 @@ | |||
35 | cpus { | 35 | cpus { |
36 | #address-cells = <1>; | 36 | #address-cells = <1>; |
37 | #size-cells = <0>; | 37 | #size-cells = <0>; |
38 | enable-method = "renesas,apmu"; | ||
38 | 39 | ||
39 | cpu0: cpu@0 { | 40 | cpu0: cpu@0 { |
40 | device_type = "cpu"; | 41 | device_type = "cpu"; |
@@ -56,6 +57,14 @@ | |||
56 | next-level-cache = <&L2_CA15>; | 57 | next-level-cache = <&L2_CA15>; |
57 | }; | 58 | }; |
58 | 59 | ||
60 | cpu1: cpu@1 { | ||
61 | device_type = "cpu"; | ||
62 | compatible = "arm,cortex-a15"; | ||
63 | reg = <1>; | ||
64 | clock-frequency = <1500000000>; | ||
65 | power-domains = <&sysc R8A7793_PD_CA15_CPU1>; | ||
66 | }; | ||
67 | |||
59 | L2_CA15: cache-controller@0 { | 68 | L2_CA15: cache-controller@0 { |
60 | compatible = "cache"; | 69 | compatible = "cache"; |
61 | reg = <0>; | 70 | reg = <0>; |
@@ -65,6 +74,12 @@ | |||
65 | }; | 74 | }; |
66 | }; | 75 | }; |
67 | 76 | ||
77 | apmu@e6152000 { | ||
78 | compatible = "renesas,r8a7793-apmu", "renesas,apmu"; | ||
79 | reg = <0 0xe6152000 0 0x188>; | ||
80 | cpus = <&cpu0 &cpu1>; | ||
81 | }; | ||
82 | |||
68 | thermal-zones { | 83 | thermal-zones { |
69 | cpu_thermal: cpu-thermal { | 84 | cpu_thermal: cpu-thermal { |
70 | polling-delay-passive = <0>; | 85 | polling-delay-passive = <0>; |
diff --git a/arch/arm/boot/dts/r8a7794-alt.dts b/arch/arm/boot/dts/r8a7794-alt.dts index 383ad791f1db..1ad37d431a2a 100644 --- a/arch/arm/boot/dts/r8a7794-alt.dts +++ b/arch/arm/boot/dts/r8a7794-alt.dts | |||
@@ -111,7 +111,7 @@ | |||
111 | function = "du"; | 111 | function = "du"; |
112 | }; | 112 | }; |
113 | 113 | ||
114 | scif2_pins: serial2 { | 114 | scif2_pins: scif2 { |
115 | groups = "scif2_data"; | 115 | groups = "scif2_data"; |
116 | function = "scif2"; | 116 | function = "scif2"; |
117 | }; | 117 | }; |
@@ -147,7 +147,7 @@ | |||
147 | }; | 147 | }; |
148 | 148 | ||
149 | &pfc { | 149 | &pfc { |
150 | qspi_pins: spi0 { | 150 | qspi_pins: qspi { |
151 | groups = "qspi_ctrl", "qspi_data4"; | 151 | groups = "qspi_ctrl", "qspi_data4"; |
152 | function = "qspi"; | 152 | function = "qspi"; |
153 | }; | 153 | }; |
diff --git a/arch/arm/boot/dts/r8a7794-silk.dts b/arch/arm/boot/dts/r8a7794-silk.dts index b8c7a63c5ec4..cf24f45fff22 100644 --- a/arch/arm/boot/dts/r8a7794-silk.dts +++ b/arch/arm/boot/dts/r8a7794-silk.dts | |||
@@ -129,7 +129,7 @@ | |||
129 | pinctrl-0 = <&scif_clk_pins>; | 129 | pinctrl-0 = <&scif_clk_pins>; |
130 | pinctrl-names = "default"; | 130 | pinctrl-names = "default"; |
131 | 131 | ||
132 | scif2_pins: serial2 { | 132 | scif2_pins: scif2 { |
133 | groups = "scif2_data"; | 133 | groups = "scif2_data"; |
134 | function = "scif2"; | 134 | function = "scif2"; |
135 | }; | 135 | }; |
@@ -164,7 +164,7 @@ | |||
164 | function = "sdhi1"; | 164 | function = "sdhi1"; |
165 | }; | 165 | }; |
166 | 166 | ||
167 | qspi_pins: spi0 { | 167 | qspi_pins: qspi { |
168 | groups = "qspi_ctrl", "qspi_data4"; | 168 | groups = "qspi_ctrl", "qspi_data4"; |
169 | function = "qspi"; | 169 | function = "qspi"; |
170 | }; | 170 | }; |
@@ -183,6 +183,16 @@ | |||
183 | groups = "usb1"; | 183 | groups = "usb1"; |
184 | function = "usb1"; | 184 | function = "usb1"; |
185 | }; | 185 | }; |
186 | |||
187 | du0_pins: du0 { | ||
188 | groups = "du0_rgb888", "du0_sync", "du0_disp", "du0_clk0_out"; | ||
189 | function = "du0"; | ||
190 | }; | ||
191 | |||
192 | du1_pins: du1 { | ||
193 | groups = "du1_rgb666", "du1_sync", "du1_disp", "du1_clk0_out"; | ||
194 | function = "du1"; | ||
195 | }; | ||
186 | }; | 196 | }; |
187 | 197 | ||
188 | &scif2 { | 198 | &scif2 { |
@@ -360,6 +370,8 @@ | |||
360 | }; | 370 | }; |
361 | 371 | ||
362 | &du { | 372 | &du { |
373 | pinctrl-0 = <&du0_pins &du1_pins>; | ||
374 | pinctrl-names = "default"; | ||
363 | status = "okay"; | 375 | status = "okay"; |
364 | 376 | ||
365 | clocks = <&mstp7_clks R8A7794_CLK_DU0>, | 377 | clocks = <&mstp7_clks R8A7794_CLK_DU0>, |
diff --git a/arch/arm/boot/dts/sh73a0-kzm9g.dts b/arch/arm/boot/dts/sh73a0-kzm9g.dts index 36567cbf2e1c..3d65f1f6d78b 100644 --- a/arch/arm/boot/dts/sh73a0-kzm9g.dts +++ b/arch/arm/boot/dts/sh73a0-kzm9g.dts | |||
@@ -22,7 +22,7 @@ | |||
22 | compatible = "renesas,kzm9g", "renesas,sh73a0"; | 22 | compatible = "renesas,kzm9g", "renesas,sh73a0"; |
23 | 23 | ||
24 | aliases { | 24 | aliases { |
25 | serial4 = &scifa4; | 25 | serial0 = &scifa4; |
26 | }; | 26 | }; |
27 | 27 | ||
28 | cpus { | 28 | cpus { |
@@ -39,8 +39,8 @@ | |||
39 | }; | 39 | }; |
40 | 40 | ||
41 | chosen { | 41 | chosen { |
42 | bootargs = "console=tty0 console=ttySC4,115200 root=/dev/nfs ip=dhcp ignore_loglevel rw"; | 42 | bootargs = "root=/dev/nfs ip=dhcp ignore_loglevel rw"; |
43 | stdout-path = &scifa4; | 43 | stdout-path = "serial0:115200n8"; |
44 | }; | 44 | }; |
45 | 45 | ||
46 | memory@40000000 { | 46 | memory@40000000 { |
@@ -352,7 +352,7 @@ | |||
352 | }; | 352 | }; |
353 | }; | 353 | }; |
354 | 354 | ||
355 | scifa4_pins: serial4 { | 355 | scifa4_pins: scifa4 { |
356 | groups = "scifa4_data", "scifa4_ctrl"; | 356 | groups = "scifa4_data", "scifa4_ctrl"; |
357 | function = "scifa4"; | 357 | function = "scifa4"; |
358 | }; | 358 | }; |
diff --git a/include/dt-bindings/clock/r8a7792-clock.h b/include/dt-bindings/clock/r8a7792-clock.h new file mode 100644 index 000000000000..89a5155913f6 --- /dev/null +++ b/include/dt-bindings/clock/r8a7792-clock.h | |||
@@ -0,0 +1,103 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2016 Cogent Embedded, Inc. | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | */ | ||
9 | |||
10 | #ifndef __DT_BINDINGS_CLOCK_R8A7792_H__ | ||
11 | #define __DT_BINDINGS_CLOCK_R8A7792_H__ | ||
12 | |||
13 | /* CPG */ | ||
14 | #define R8A7792_CLK_MAIN 0 | ||
15 | #define R8A7792_CLK_PLL0 1 | ||
16 | #define R8A7792_CLK_PLL1 2 | ||
17 | #define R8A7792_CLK_PLL3 3 | ||
18 | #define R8A7792_CLK_LB 4 | ||
19 | #define R8A7792_CLK_QSPI 5 | ||
20 | #define R8A7792_CLK_Z 6 | ||
21 | #define R8A7792_CLK_ADSP 7 | ||
22 | |||
23 | /* MSTP0 */ | ||
24 | #define R8A7792_CLK_MSIOF0 0 | ||
25 | |||
26 | /* MSTP1 */ | ||
27 | #define R8A7792_CLK_JPU 6 | ||
28 | #define R8A7792_CLK_TMU1 11 | ||
29 | #define R8A7792_CLK_TMU3 21 | ||
30 | #define R8A7792_CLK_TMU2 22 | ||
31 | #define R8A7792_CLK_CMT0 24 | ||
32 | #define R8A7792_CLK_TMU0 25 | ||
33 | #define R8A7792_CLK_VSP1DU1 27 | ||
34 | #define R8A7792_CLK_VSP1DU0 28 | ||
35 | #define R8A7792_CLK_VSP1_SY 31 | ||
36 | |||
37 | /* MSTP2 */ | ||
38 | #define R8A7792_CLK_MSIOF1 8 | ||
39 | #define R8A7792_CLK_SYS_DMAC1 18 | ||
40 | #define R8A7792_CLK_SYS_DMAC0 19 | ||
41 | |||
42 | /* MSTP3 */ | ||
43 | #define R8A7792_CLK_TPU0 4 | ||
44 | #define R8A7792_CLK_SDHI0 14 | ||
45 | #define R8A7792_CLK_CMT1 29 | ||
46 | |||
47 | /* MSTP4 */ | ||
48 | #define R8A7792_CLK_IRQC 7 | ||
49 | |||
50 | /* MSTP5 */ | ||
51 | #define R8A7792_CLK_AUDIO_DMAC0 2 | ||
52 | #define R8A7792_CLK_THERMAL 22 | ||
53 | #define R8A7792_CLK_PWM 23 | ||
54 | |||
55 | /* MSTP7 */ | ||
56 | #define R8A7792_CLK_HSCIF1 16 | ||
57 | #define R8A7792_CLK_HSCIF0 17 | ||
58 | #define R8A7792_CLK_SCIF3 18 | ||
59 | #define R8A7792_CLK_SCIF2 19 | ||
60 | #define R8A7792_CLK_SCIF1 20 | ||
61 | #define R8A7792_CLK_SCIF0 21 | ||
62 | #define R8A7792_CLK_DU1 23 | ||
63 | #define R8A7792_CLK_DU0 24 | ||
64 | |||
65 | /* MSTP8 */ | ||
66 | #define R8A7792_CLK_VIN5 4 | ||
67 | #define R8A7792_CLK_VIN4 5 | ||
68 | #define R8A7792_CLK_VIN3 8 | ||
69 | #define R8A7792_CLK_VIN2 9 | ||
70 | #define R8A7792_CLK_VIN1 10 | ||
71 | #define R8A7792_CLK_VIN0 11 | ||
72 | #define R8A7792_CLK_ETHERAVB 12 | ||
73 | |||
74 | /* MSTP9 */ | ||
75 | #define R8A7792_CLK_GPIO7 4 | ||
76 | #define R8A7792_CLK_GPIO6 5 | ||
77 | #define R8A7792_CLK_GPIO5 7 | ||
78 | #define R8A7792_CLK_GPIO4 8 | ||
79 | #define R8A7792_CLK_GPIO3 9 | ||
80 | #define R8A7792_CLK_GPIO2 10 | ||
81 | #define R8A7792_CLK_GPIO1 11 | ||
82 | #define R8A7792_CLK_GPIO0 12 | ||
83 | #define R8A7792_CLK_GPIO11 13 | ||
84 | #define R8A7792_CLK_GPIO10 14 | ||
85 | #define R8A7792_CLK_CAN1 15 | ||
86 | #define R8A7792_CLK_CAN0 16 | ||
87 | #define R8A7792_CLK_QSPI_MOD 17 | ||
88 | #define R8A7792_CLK_GPIO9 19 | ||
89 | #define R8A7792_CLK_GPIO8 21 | ||
90 | #define R8A7792_CLK_I2C5 25 | ||
91 | #define R8A7792_CLK_IICDVFS 26 | ||
92 | #define R8A7792_CLK_I2C4 27 | ||
93 | #define R8A7792_CLK_I2C3 28 | ||
94 | #define R8A7792_CLK_I2C2 29 | ||
95 | #define R8A7792_CLK_I2C1 30 | ||
96 | #define R8A7792_CLK_I2C0 31 | ||
97 | |||
98 | /* MSTP10 */ | ||
99 | #define R8A7792_CLK_SSI_ALL 5 | ||
100 | #define R8A7792_CLK_SSI4 11 | ||
101 | #define R8A7792_CLK_SSI3 12 | ||
102 | |||
103 | #endif /* __DT_BINDINGS_CLOCK_R8A7792_H__ */ | ||
diff --git a/include/dt-bindings/power/r8a7792-sysc.h b/include/dt-bindings/power/r8a7792-sysc.h new file mode 100644 index 000000000000..74f4a78e29aa --- /dev/null +++ b/include/dt-bindings/power/r8a7792-sysc.h | |||
@@ -0,0 +1,26 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2016 Cogent Embedded Inc. | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; version 2 of the License. | ||
7 | */ | ||
8 | #ifndef __DT_BINDINGS_POWER_R8A7792_SYSC_H__ | ||
9 | #define __DT_BINDINGS_POWER_R8A7792_SYSC_H__ | ||
10 | |||
11 | /* | ||
12 | * These power domain indices match the numbers of the interrupt bits | ||
13 | * representing the power areas in the various Interrupt Registers | ||
14 | * (e.g. SYSCISR, Interrupt Status Register) | ||
15 | */ | ||
16 | |||
17 | #define R8A7792_PD_CA15_CPU0 0 | ||
18 | #define R8A7792_PD_CA15_CPU1 1 | ||
19 | #define R8A7792_PD_CA15_SCU 12 | ||
20 | #define R8A7792_PD_SGX 20 | ||
21 | #define R8A7792_PD_IMP 24 | ||
22 | |||
23 | /* Always-on power area */ | ||
24 | #define R8A7792_PD_ALWAYS_ON 32 | ||
25 | |||
26 | #endif /* __DT_BINDINGS_POWER_R8A7792_SYSC_H__ */ | ||