diff options
author | Kevin Hilman <khilman@linaro.org> | 2013-12-20 15:16:49 -0500 |
---|---|---|
committer | Kevin Hilman <khilman@linaro.org> | 2013-12-20 15:17:18 -0500 |
commit | 1c928d10fdaaed3c1159af28d5856079c20a04fb (patch) | |
tree | 9e19aa04bfb37c2dd1532eda749ae4111b413a11 | |
parent | 84dac16a3b7428e21583d631f82270abb274ffcc (diff) | |
parent | 1fd219561a4afc51b5f257692f3581546434db5b (diff) |
Merge tag 'renesas-dt-for-v3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt
From Simon Horman:
Renesas ARM based SoC DT updates for v3.14
* Global
- Use interrupt macros
- Use #include in device tree sources
- Tidyup DT node naming
* emev2 (Emma Mobile EV2) SoC
- Setup internal peripheral interrupts as level high
- Use interrupt macros in DT files
- Add clock tree description in DT
* r8a7791 (R-Car M2) SoC
- Correct GPIO resources
* r8a7791 (R-Car M2) based Koelsch board
- Configure PFC and GPO
- Use r8a7791 suffix for IRQC compat string
- Add DT reference
* r8a7790 (R-Car H2) based Lager board
- Include all 4 GiB of memory
- Use r8a7790 suffix for IRQC and MMCIF compat strings
- Enable MMCIF
- Add default PFC settings
* r8a7778 (R-Car M1) SoC
- Suffix for INTC compat string
- Add HSPI, MMCIF, SDHI and I2C suppport on DTSI
- Correct pin control device addresses
* r8a7778 (R-Car M1) based Bock-W board
- Use falling edge IRQ for LAN9221 in DT reference
- Enable I2C, HSPI0, MMCIF and SDHI
- Correct MMC pin conflict
- Remove manual PFC settings from DT reference
- Add default PFC settings
* r8a7779 (R-Car H1) SoC
- Add HSPI and SDHI support
- Suffix for INTC compat string
* r8a7779 (R-Car H1) based Marzen board
- Enable HSPI0 and SDHI in DTS
- Remove SDHI0 WP pin setting
- Use falling edge IRQ for LAN9221 in DT reference
- Add SDHI support
* r8a7740 (R-Mobile A1) SoC
- Suffix for INTC compat string
- Add FSI support via DTSI
- Use interrupt macros
* r8a7740 based Armadillo board
- Add FSI support for DTS
- Use low level IRQ for ST1231 in DT reference
* r8a73a4 (SH-Mobile APE6) SoC
- Use interrupt macros in DT files
* r8a73a4 (R-Mobile APE6) based ape6evm board
- Include all 2 GiB of memory
* r8a73a0 (SH-Mobile AG5) SoC
- Correct SDHI compat string
* r8a73a0 (SH-Mobile AG5) based kzm9d board
- Add GPIO keys and Add PCF8575 GPIO extender to DT
- Enable DSW2 with gpio-keys
- Use falling edge IRQ for LAN9221 in DT reference
* tag 'renesas-dt-for-v3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (102 commits)
ARM: shmobile: marzen: enable HSPI0 in DTS
ARM: shmobile: r8a7779: add HSPI support to DTSI
ARM: shmobile: Use r8a7779 suffix for INTC compat string
ARM: shmobile: Use r8a7778 suffix for INTC compat string
ARM: shmobile: Use r8a7740 suffix for INTC compat string
ARM: shmobile: Use sh73a0 suffix for INTC compat string
ARM: shmobile: armadillo: add FSI support for DTS
ARM: shmobile: r8a7740: add FSI support via DTSI
ARM: shmobile: emev2: Setup internal peripheral interrupts as level high
ARM: shmobile: emev2: Use interrupt macros in DT files
ARM: shmobile: Use interrupt macros in r8a73a4 and r8a7778 DT files
ARM: shmobile: Fix r8a7791 GPIO resources in DTS
ARM: shmobile: Include all 4 GiB of memory on Lager DT Ref
ARM: shmobile: Include all 4 GiB of memory on Lager
ARM: shmobile: Include all 2 GiB of memory on APE6EVM
ARM: shmobile: Include all 2 GiB of memory on APE6EVM DT Ref
ARM: shmobile: kzm9g-reference: Add GPIO keys to DT
ARM: shmobile: kzm9g-reference: Add PCF8575 GPIO extender to DT
ARM: shmobile: Koelsch DT reference GPIO LED support
ARM: shmobile: Enable DSW2 with gpio-keys on KZM9D
...
Signed-off-by: Kevin Hilman <khilman@linaro.org>
61 files changed, 1463 insertions, 645 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index c1f1a7eee953..483d316543ad 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -644,8 +644,9 @@ config ARCH_MSM | |||
644 | stack and controls some vital subsystems | 644 | stack and controls some vital subsystems |
645 | (clock and power control, etc). | 645 | (clock and power control, etc). |
646 | 646 | ||
647 | config ARCH_SHMOBILE | 647 | config ARCH_SHMOBILE_LEGACY |
648 | bool "Renesas SH-Mobile / R-Mobile" | 648 | bool "Renesas SH-Mobile / R-Mobile (non-multiplatform)" |
649 | select ARCH_SHMOBILE | ||
649 | select ARM_PATCH_PHYS_VIRT | 650 | select ARM_PATCH_PHYS_VIRT |
650 | select CLKDEV_LOOKUP | 651 | select CLKDEV_LOOKUP |
651 | select GENERIC_CLOCKEVENTS | 652 | select GENERIC_CLOCKEVENTS |
@@ -660,7 +661,8 @@ config ARCH_SHMOBILE | |||
660 | select PM_GENERIC_DOMAINS if PM | 661 | select PM_GENERIC_DOMAINS if PM |
661 | select SPARSE_IRQ | 662 | select SPARSE_IRQ |
662 | help | 663 | help |
663 | Support for Renesas's SH-Mobile and R-Mobile ARM platforms. | 664 | Support for Renesas's SH-Mobile and R-Mobile ARM platforms using |
665 | a non-multiplatform kernel. | ||
664 | 666 | ||
665 | config ARCH_RPC | 667 | config ARCH_RPC |
666 | bool "RiscPC" | 668 | bool "RiscPC" |
@@ -1611,7 +1613,7 @@ config HZ_FIXED | |||
1611 | default 200 if ARCH_EBSA110 || ARCH_S3C24XX || ARCH_S5P64X0 || \ | 1613 | default 200 if ARCH_EBSA110 || ARCH_S3C24XX || ARCH_S5P64X0 || \ |
1612 | ARCH_S5PV210 || ARCH_EXYNOS4 | 1614 | ARCH_S5PV210 || ARCH_EXYNOS4 |
1613 | default AT91_TIMER_HZ if ARCH_AT91 | 1615 | default AT91_TIMER_HZ if ARCH_AT91 |
1614 | default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE | 1616 | default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE_LEGACY |
1615 | default 0 | 1617 | default 0 |
1616 | 1618 | ||
1617 | choice | 1619 | choice |
@@ -1796,8 +1798,8 @@ config ARCH_WANT_GENERAL_HUGETLB | |||
1796 | source "mm/Kconfig" | 1798 | source "mm/Kconfig" |
1797 | 1799 | ||
1798 | config FORCE_MAX_ZONEORDER | 1800 | config FORCE_MAX_ZONEORDER |
1799 | int "Maximum zone order" if ARCH_SHMOBILE | 1801 | int "Maximum zone order" if ARCH_SHMOBILE_LEGACY |
1800 | range 11 64 if ARCH_SHMOBILE | 1802 | range 11 64 if ARCH_SHMOBILE_LEGACY |
1801 | default "12" if SOC_AM33XX | 1803 | default "12" if SOC_AM33XX |
1802 | default "9" if SA1111 | 1804 | default "9" if SA1111 |
1803 | default "11" | 1805 | default "11" |
diff --git a/arch/arm/Makefile b/arch/arm/Makefile index c99b1086d83d..1edf8ebd8494 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile | |||
@@ -190,7 +190,6 @@ machine-$(CONFIG_ARCH_S5PC100) += s5pc100 | |||
190 | machine-$(CONFIG_ARCH_S5PV210) += s5pv210 | 190 | machine-$(CONFIG_ARCH_S5PV210) += s5pv210 |
191 | machine-$(CONFIG_ARCH_SA1100) += sa1100 | 191 | machine-$(CONFIG_ARCH_SA1100) += sa1100 |
192 | machine-$(CONFIG_ARCH_SHMOBILE) += shmobile | 192 | machine-$(CONFIG_ARCH_SHMOBILE) += shmobile |
193 | machine-$(CONFIG_ARCH_SHMOBILE_MULTI) += shmobile | ||
194 | machine-$(CONFIG_ARCH_SIRF) += prima2 | 193 | machine-$(CONFIG_ARCH_SIRF) += prima2 |
195 | machine-$(CONFIG_ARCH_SOCFPGA) += socfpga | 194 | machine-$(CONFIG_ARCH_SOCFPGA) += socfpga |
196 | machine-$(CONFIG_ARCH_STI) += sti | 195 | machine-$(CONFIG_ARCH_STI) += sti |
diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile index e7190bb5998e..f54d5a25c7ee 100644 --- a/arch/arm/boot/compressed/Makefile +++ b/arch/arm/boot/compressed/Makefile | |||
@@ -64,7 +64,7 @@ else | |||
64 | endif | 64 | endif |
65 | endif | 65 | endif |
66 | 66 | ||
67 | ifeq ($(CONFIG_ARCH_SHMOBILE),y) | 67 | ifeq ($(CONFIG_ARCH_SHMOBILE_LEGACY),y) |
68 | OBJS += head-shmobile.o | 68 | OBJS += head-shmobile.o |
69 | endif | 69 | endif |
70 | 70 | ||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 5fb27d31811d..38e04b617730 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -221,7 +221,7 @@ dtb-$(CONFIG_ARCH_U8500) += ste-snowball.dtb \ | |||
221 | dtb-$(CONFIG_ARCH_S3C24XX) += s3c2416-smdk2416.dtb | 221 | dtb-$(CONFIG_ARCH_S3C24XX) += s3c2416-smdk2416.dtb |
222 | dtb-$(CONFIG_ARCH_S3C64XX) += s3c6410-mini6410.dtb \ | 222 | dtb-$(CONFIG_ARCH_S3C64XX) += s3c6410-mini6410.dtb \ |
223 | s3c6410-smdk6410.dtb | 223 | s3c6410-smdk6410.dtb |
224 | dtb-$(CONFIG_ARCH_SHMOBILE) += emev2-kzm9d.dtb \ | 224 | dtb-$(CONFIG_ARCH_SHMOBILE_LEGACY) += emev2-kzm9d.dtb \ |
225 | r7s72100-genmai.dtb \ | 225 | r7s72100-genmai.dtb \ |
226 | r8a7740-armadillo800eva.dtb \ | 226 | r8a7740-armadillo800eva.dtb \ |
227 | r8a7778-bockw.dtb \ | 227 | r8a7778-bockw.dtb \ |
@@ -230,6 +230,7 @@ dtb-$(CONFIG_ARCH_SHMOBILE) += emev2-kzm9d.dtb \ | |||
230 | r8a7779-marzen.dtb \ | 230 | r8a7779-marzen.dtb \ |
231 | r8a7779-marzen-reference.dtb \ | 231 | r8a7779-marzen-reference.dtb \ |
232 | r8a7791-koelsch.dtb \ | 232 | r8a7791-koelsch.dtb \ |
233 | r8a7791-koelsch-reference.dtb \ | ||
233 | r8a7790-lager.dtb \ | 234 | r8a7790-lager.dtb \ |
234 | r8a7790-lager-reference.dtb \ | 235 | r8a7790-lager-reference.dtb \ |
235 | sh73a0-kzm9g.dtb \ | 236 | sh73a0-kzm9g.dtb \ |
diff --git a/arch/arm/boot/dts/emev2-kzm9d.dts b/arch/arm/boot/dts/emev2-kzm9d.dts index 861aa7d6fc7d..50ccd151091e 100644 --- a/arch/arm/boot/dts/emev2-kzm9d.dts +++ b/arch/arm/boot/dts/emev2-kzm9d.dts | |||
@@ -9,7 +9,10 @@ | |||
9 | */ | 9 | */ |
10 | /dts-v1/; | 10 | /dts-v1/; |
11 | 11 | ||
12 | /include/ "emev2.dtsi" | 12 | #include "emev2.dtsi" |
13 | #include <dt-bindings/gpio/gpio.h> | ||
14 | #include <dt-bindings/input/input.h> | ||
15 | #include <dt-bindings/interrupt-controller/irq.h> | ||
13 | 16 | ||
14 | / { | 17 | / { |
15 | model = "EMEV2 KZM9D Board"; | 18 | model = "EMEV2 KZM9D Board"; |
@@ -47,11 +50,46 @@ | |||
47 | reg = <0x20000000 0x10000>; | 50 | reg = <0x20000000 0x10000>; |
48 | phy-mode = "mii"; | 51 | phy-mode = "mii"; |
49 | interrupt-parent = <&gpio0>; | 52 | interrupt-parent = <&gpio0>; |
50 | interrupts = <1 1>; /* active high */ | 53 | interrupts = <1 IRQ_TYPE_EDGE_RISING>; |
51 | reg-io-width = <4>; | 54 | reg-io-width = <4>; |
52 | smsc,irq-active-high; | 55 | smsc,irq-active-high; |
53 | smsc,irq-push-pull; | 56 | smsc,irq-push-pull; |
54 | vddvario-supply = <®_1p8v>; | 57 | vddvario-supply = <®_1p8v>; |
55 | vdd33a-supply = <®_3p3v>; | 58 | vdd33a-supply = <®_3p3v>; |
56 | }; | 59 | }; |
60 | |||
61 | gpio_keys { | ||
62 | compatible = "gpio-keys"; | ||
63 | #address-cells = <1>; | ||
64 | #size-cells = <0>; | ||
65 | |||
66 | button@1 { | ||
67 | debounce_interval = <50>; | ||
68 | wakeup = <1>; | ||
69 | label = "DSW2-1"; | ||
70 | linux,code = <KEY_1>; | ||
71 | gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>; | ||
72 | }; | ||
73 | button@2 { | ||
74 | debounce_interval = <50>; | ||
75 | wakeup = <1>; | ||
76 | label = "DSW2-2"; | ||
77 | linux,code = <KEY_2>; | ||
78 | gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>; | ||
79 | }; | ||
80 | button@3 { | ||
81 | debounce_interval = <50>; | ||
82 | wakeup = <1>; | ||
83 | label = "DSW2-3"; | ||
84 | linux,code = <KEY_3>; | ||
85 | gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>; | ||
86 | }; | ||
87 | button@4 { | ||
88 | debounce_interval = <50>; | ||
89 | wakeup = <1>; | ||
90 | label = "DSW2-4"; | ||
91 | linux,code = <KEY_4>; | ||
92 | gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>; | ||
93 | }; | ||
94 | }; | ||
57 | }; | 95 | }; |
diff --git a/arch/arm/boot/dts/emev2.dtsi b/arch/arm/boot/dts/emev2.dtsi index 9063a4434d6a..e37985fa10e2 100644 --- a/arch/arm/boot/dts/emev2.dtsi +++ b/arch/arm/boot/dts/emev2.dtsi | |||
@@ -8,7 +8,8 @@ | |||
8 | * kind, whether express or implied. | 8 | * kind, whether express or implied. |
9 | */ | 9 | */ |
10 | 10 | ||
11 | /include/ "skeleton.dtsi" | 11 | #include "skeleton.dtsi" |
12 | #include <dt-bindings/interrupt-controller/irq.h> | ||
12 | 13 | ||
13 | / { | 14 | / { |
14 | compatible = "renesas,emev2"; | 15 | compatible = "renesas,emev2"; |
@@ -48,44 +49,129 @@ | |||
48 | 49 | ||
49 | pmu { | 50 | pmu { |
50 | compatible = "arm,cortex-a9-pmu"; | 51 | compatible = "arm,cortex-a9-pmu"; |
51 | interrupts = <0 120 4>, | 52 | interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>, |
52 | <0 121 4>; | 53 | <0 121 IRQ_TYPE_LEVEL_HIGH>; |
54 | }; | ||
55 | |||
56 | smu@e0110000 { | ||
57 | compatible = "renesas,emev2-smu"; | ||
58 | reg = <0xe0110000 0x10000>; | ||
59 | #address-cells = <2>; | ||
60 | #size-cells = <0>; | ||
61 | |||
62 | c32ki: c32ki { | ||
63 | compatible = "fixed-clock"; | ||
64 | clock-frequency = <32768>; | ||
65 | #clock-cells = <0>; | ||
66 | }; | ||
67 | pll3_fo: pll3_fo { | ||
68 | compatible = "fixed-factor-clock"; | ||
69 | clocks = <&c32ki>; | ||
70 | clock-div = <1>; | ||
71 | clock-mult = <7000>; | ||
72 | #clock-cells = <0>; | ||
73 | }; | ||
74 | usia_u0_sclkdiv: usia_u0_sclkdiv { | ||
75 | compatible = "renesas,emev2-smu-clkdiv"; | ||
76 | reg = <0x610 0>; | ||
77 | clocks = <&pll3_fo>; | ||
78 | #clock-cells = <0>; | ||
79 | }; | ||
80 | usib_u1_sclkdiv: usib_u1_sclkdiv { | ||
81 | compatible = "renesas,emev2-smu-clkdiv"; | ||
82 | reg = <0x65c 0>; | ||
83 | clocks = <&pll3_fo>; | ||
84 | #clock-cells = <0>; | ||
85 | }; | ||
86 | usib_u2_sclkdiv: usib_u2_sclkdiv { | ||
87 | compatible = "renesas,emev2-smu-clkdiv"; | ||
88 | reg = <0x65c 16>; | ||
89 | clocks = <&pll3_fo>; | ||
90 | #clock-cells = <0>; | ||
91 | }; | ||
92 | usib_u3_sclkdiv: usib_u3_sclkdiv { | ||
93 | compatible = "renesas,emev2-smu-clkdiv"; | ||
94 | reg = <0x660 0>; | ||
95 | clocks = <&pll3_fo>; | ||
96 | #clock-cells = <0>; | ||
97 | }; | ||
98 | usia_u0_sclk: usia_u0_sclk { | ||
99 | compatible = "renesas,emev2-smu-gclk"; | ||
100 | reg = <0x4a0 1>; | ||
101 | clocks = <&usia_u0_sclkdiv>; | ||
102 | #clock-cells = <0>; | ||
103 | }; | ||
104 | usib_u1_sclk: usib_u1_sclk { | ||
105 | compatible = "renesas,emev2-smu-gclk"; | ||
106 | reg = <0x4b8 1>; | ||
107 | clocks = <&usib_u1_sclkdiv>; | ||
108 | #clock-cells = <0>; | ||
109 | }; | ||
110 | usib_u2_sclk: usib_u2_sclk { | ||
111 | compatible = "renesas,emev2-smu-gclk"; | ||
112 | reg = <0x4bc 1>; | ||
113 | clocks = <&usib_u2_sclkdiv>; | ||
114 | #clock-cells = <0>; | ||
115 | }; | ||
116 | usib_u3_sclk: usib_u3_sclk { | ||
117 | compatible = "renesas,emev2-smu-gclk"; | ||
118 | reg = <0x4c0 1>; | ||
119 | clocks = <&usib_u3_sclkdiv>; | ||
120 | #clock-cells = <0>; | ||
121 | }; | ||
122 | sti_sclk: sti_sclk { | ||
123 | compatible = "renesas,emev2-smu-gclk"; | ||
124 | reg = <0x528 1>; | ||
125 | clocks = <&c32ki>; | ||
126 | #clock-cells = <0>; | ||
127 | }; | ||
53 | }; | 128 | }; |
54 | 129 | ||
55 | sti@e0180000 { | 130 | sti@e0180000 { |
56 | compatible = "renesas,em-sti"; | 131 | compatible = "renesas,em-sti"; |
57 | reg = <0xe0180000 0x54>; | 132 | reg = <0xe0180000 0x54>; |
58 | interrupts = <0 125 0>; | 133 | interrupts = <0 125 IRQ_TYPE_LEVEL_HIGH>; |
134 | clocks = <&sti_sclk>; | ||
135 | clock-names = "sclk"; | ||
59 | }; | 136 | }; |
60 | 137 | ||
61 | uart@e1020000 { | 138 | uart@e1020000 { |
62 | compatible = "renesas,em-uart"; | 139 | compatible = "renesas,em-uart"; |
63 | reg = <0xe1020000 0x38>; | 140 | reg = <0xe1020000 0x38>; |
64 | interrupts = <0 8 0>; | 141 | interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>; |
142 | clocks = <&usia_u0_sclk>; | ||
143 | clock-names = "sclk"; | ||
65 | }; | 144 | }; |
66 | 145 | ||
67 | uart@e1030000 { | 146 | uart@e1030000 { |
68 | compatible = "renesas,em-uart"; | 147 | compatible = "renesas,em-uart"; |
69 | reg = <0xe1030000 0x38>; | 148 | reg = <0xe1030000 0x38>; |
70 | interrupts = <0 9 0>; | 149 | interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH>; |
150 | clocks = <&usib_u1_sclk>; | ||
151 | clock-names = "sclk"; | ||
71 | }; | 152 | }; |
72 | 153 | ||
73 | uart@e1040000 { | 154 | uart@e1040000 { |
74 | compatible = "renesas,em-uart"; | 155 | compatible = "renesas,em-uart"; |
75 | reg = <0xe1040000 0x38>; | 156 | reg = <0xe1040000 0x38>; |
76 | interrupts = <0 10 0>; | 157 | interrupts = <0 10 IRQ_TYPE_LEVEL_HIGH>; |
158 | clocks = <&usib_u2_sclk>; | ||
159 | clock-names = "sclk"; | ||
77 | }; | 160 | }; |
78 | 161 | ||
79 | uart@e1050000 { | 162 | uart@e1050000 { |
80 | compatible = "renesas,em-uart"; | 163 | compatible = "renesas,em-uart"; |
81 | reg = <0xe1050000 0x38>; | 164 | reg = <0xe1050000 0x38>; |
82 | interrupts = <0 11 0>; | 165 | interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>; |
166 | clocks = <&usib_u3_sclk>; | ||
167 | clock-names = "sclk"; | ||
83 | }; | 168 | }; |
84 | 169 | ||
85 | gpio0: gpio@e0050000 { | 170 | gpio0: gpio@e0050000 { |
86 | compatible = "renesas,em-gio"; | 171 | compatible = "renesas,em-gio"; |
87 | reg = <0xe0050000 0x2c>, <0xe0050040 0x20>; | 172 | reg = <0xe0050000 0x2c>, <0xe0050040 0x20>; |
88 | interrupts = <0 67 0>, <0 68 0>; | 173 | interrupts = <0 67 IRQ_TYPE_LEVEL_HIGH>, |
174 | <0 68 IRQ_TYPE_LEVEL_HIGH>; | ||
89 | gpio-controller; | 175 | gpio-controller; |
90 | #gpio-cells = <2>; | 176 | #gpio-cells = <2>; |
91 | ngpios = <32>; | 177 | ngpios = <32>; |
@@ -95,7 +181,8 @@ | |||
95 | gpio1: gpio@e0050080 { | 181 | gpio1: gpio@e0050080 { |
96 | compatible = "renesas,em-gio"; | 182 | compatible = "renesas,em-gio"; |
97 | reg = <0xe0050080 0x2c>, <0xe00500c0 0x20>; | 183 | reg = <0xe0050080 0x2c>, <0xe00500c0 0x20>; |
98 | interrupts = <0 69 0>, <0 70 0>; | 184 | interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>, |
185 | <0 70 IRQ_TYPE_LEVEL_HIGH>; | ||
99 | gpio-controller; | 186 | gpio-controller; |
100 | #gpio-cells = <2>; | 187 | #gpio-cells = <2>; |
101 | ngpios = <32>; | 188 | ngpios = <32>; |
@@ -105,7 +192,8 @@ | |||
105 | gpio2: gpio@e0050100 { | 192 | gpio2: gpio@e0050100 { |
106 | compatible = "renesas,em-gio"; | 193 | compatible = "renesas,em-gio"; |
107 | reg = <0xe0050100 0x2c>, <0xe0050140 0x20>; | 194 | reg = <0xe0050100 0x2c>, <0xe0050140 0x20>; |
108 | interrupts = <0 71 0>, <0 72 0>; | 195 | interrupts = <0 71 IRQ_TYPE_LEVEL_HIGH>, |
196 | <0 72 IRQ_TYPE_LEVEL_HIGH>; | ||
109 | gpio-controller; | 197 | gpio-controller; |
110 | #gpio-cells = <2>; | 198 | #gpio-cells = <2>; |
111 | ngpios = <32>; | 199 | ngpios = <32>; |
@@ -115,7 +203,8 @@ | |||
115 | gpio3: gpio@e0050180 { | 203 | gpio3: gpio@e0050180 { |
116 | compatible = "renesas,em-gio"; | 204 | compatible = "renesas,em-gio"; |
117 | reg = <0xe0050180 0x2c>, <0xe00501c0 0x20>; | 205 | reg = <0xe0050180 0x2c>, <0xe00501c0 0x20>; |
118 | interrupts = <0 73 0>, <0 74 0>; | 206 | interrupts = <0 73 IRQ_TYPE_LEVEL_HIGH>, |
207 | <0 74 IRQ_TYPE_LEVEL_HIGH>; | ||
119 | gpio-controller; | 208 | gpio-controller; |
120 | #gpio-cells = <2>; | 209 | #gpio-cells = <2>; |
121 | ngpios = <32>; | 210 | ngpios = <32>; |
@@ -125,7 +214,8 @@ | |||
125 | gpio4: gpio@e0050200 { | 214 | gpio4: gpio@e0050200 { |
126 | compatible = "renesas,em-gio"; | 215 | compatible = "renesas,em-gio"; |
127 | reg = <0xe0050200 0x2c>, <0xe0050240 0x20>; | 216 | reg = <0xe0050200 0x2c>, <0xe0050240 0x20>; |
128 | interrupts = <0 75 0>, <0 76 0>; | 217 | interrupts = <0 75 IRQ_TYPE_LEVEL_HIGH>, |
218 | <0 76 IRQ_TYPE_LEVEL_HIGH>; | ||
129 | gpio-controller; | 219 | gpio-controller; |
130 | #gpio-cells = <2>; | 220 | #gpio-cells = <2>; |
131 | ngpios = <31>; | 221 | ngpios = <31>; |
diff --git a/arch/arm/boot/dts/r7s72100-genmai.dts b/arch/arm/boot/dts/r7s72100-genmai.dts index 1fb20f2333cc..b1deaf7e2e06 100644 --- a/arch/arm/boot/dts/r7s72100-genmai.dts +++ b/arch/arm/boot/dts/r7s72100-genmai.dts | |||
@@ -9,7 +9,7 @@ | |||
9 | */ | 9 | */ |
10 | 10 | ||
11 | /dts-v1/; | 11 | /dts-v1/; |
12 | /include/ "r7s72100.dtsi" | 12 | #include "r7s72100.dtsi" |
13 | 13 | ||
14 | / { | 14 | / { |
15 | model = "Genmai"; | 15 | model = "Genmai"; |
diff --git a/arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts b/arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts index 9443e93d3cac..70b1fff8f4a3 100644 --- a/arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts +++ b/arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts | |||
@@ -9,7 +9,7 @@ | |||
9 | */ | 9 | */ |
10 | 10 | ||
11 | /dts-v1/; | 11 | /dts-v1/; |
12 | /include/ "r8a73a4.dtsi" | 12 | #include "r8a73a4.dtsi" |
13 | #include <dt-bindings/gpio/gpio.h> | 13 | #include <dt-bindings/gpio/gpio.h> |
14 | 14 | ||
15 | / { | 15 | / { |
@@ -25,6 +25,11 @@ | |||
25 | reg = <0 0x40000000 0 0x40000000>; | 25 | reg = <0 0x40000000 0 0x40000000>; |
26 | }; | 26 | }; |
27 | 27 | ||
28 | memory@200000000 { | ||
29 | device_type = "memory"; | ||
30 | reg = <2 0x00000000 0 0x40000000>; | ||
31 | }; | ||
32 | |||
28 | vcc_mmc0: regulator@0 { | 33 | vcc_mmc0: regulator@0 { |
29 | compatible = "regulator-fixed"; | 34 | compatible = "regulator-fixed"; |
30 | regulator-name = "MMC0 Vcc"; | 35 | regulator-name = "MMC0 Vcc"; |
@@ -88,22 +93,22 @@ | |||
88 | pinctrl-0 = <&scifa0_pins>; | 93 | pinctrl-0 = <&scifa0_pins>; |
89 | pinctrl-names = "default"; | 94 | pinctrl-names = "default"; |
90 | 95 | ||
91 | scifa0_pins: scifa0 { | 96 | scifa0_pins: serial0 { |
92 | renesas,groups = "scifa0_data"; | 97 | renesas,groups = "scifa0_data"; |
93 | renesas,function = "scifa0"; | 98 | renesas,function = "scifa0"; |
94 | }; | 99 | }; |
95 | 100 | ||
96 | mmc0_pins: mmcif { | 101 | mmc0_pins: mmc { |
97 | renesas,groups = "mmc0_data8", "mmc0_ctrl"; | 102 | renesas,groups = "mmc0_data8", "mmc0_ctrl"; |
98 | renesas,function = "mmc0"; | 103 | renesas,function = "mmc0"; |
99 | }; | 104 | }; |
100 | 105 | ||
101 | sdhi0_pins: sdhi0 { | 106 | sdhi0_pins: sd0 { |
102 | renesas,groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_cd"; | 107 | renesas,groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_cd"; |
103 | renesas,function = "sdhi0"; | 108 | renesas,function = "sdhi0"; |
104 | }; | 109 | }; |
105 | 110 | ||
106 | sdhi1_pins: sdhi1 { | 111 | sdhi1_pins: sd1 { |
107 | renesas,groups = "sdhi1_data4", "sdhi1_ctrl"; | 112 | renesas,groups = "sdhi1_data4", "sdhi1_ctrl"; |
108 | renesas,function = "sdhi1"; | 113 | renesas,function = "sdhi1"; |
109 | }; | 114 | }; |
diff --git a/arch/arm/boot/dts/r8a73a4-ape6evm.dts b/arch/arm/boot/dts/r8a73a4-ape6evm.dts index 91436b58016f..ce085fa444a1 100644 --- a/arch/arm/boot/dts/r8a73a4-ape6evm.dts +++ b/arch/arm/boot/dts/r8a73a4-ape6evm.dts | |||
@@ -9,7 +9,8 @@ | |||
9 | */ | 9 | */ |
10 | 10 | ||
11 | /dts-v1/; | 11 | /dts-v1/; |
12 | /include/ "r8a73a4.dtsi" | 12 | #include "r8a73a4.dtsi" |
13 | #include <dt-bindings/interrupt-controller/irq.h> | ||
13 | 14 | ||
14 | / { | 15 | / { |
15 | model = "APE6EVM"; | 16 | model = "APE6EVM"; |
@@ -24,6 +25,11 @@ | |||
24 | reg = <0 0x40000000 0 0x40000000>; | 25 | reg = <0 0x40000000 0 0x40000000>; |
25 | }; | 26 | }; |
26 | 27 | ||
28 | memory@200000000 { | ||
29 | device_type = "memory"; | ||
30 | reg = <2 0x00000000 0 0x40000000>; | ||
31 | }; | ||
32 | |||
27 | ape6evm_fixed_3v3: fixedregulator@0 { | 33 | ape6evm_fixed_3v3: fixedregulator@0 { |
28 | compatible = "regulator-fixed"; | 34 | compatible = "regulator-fixed"; |
29 | regulator-name = "3V3"; | 35 | regulator-name = "3V3"; |
@@ -40,7 +46,7 @@ | |||
40 | compatible = "smsc,lan9118", "smsc,lan9115"; | 46 | compatible = "smsc,lan9118", "smsc,lan9115"; |
41 | reg = <0x08000000 0x1000>; | 47 | reg = <0x08000000 0x1000>; |
42 | interrupt-parent = <&irqc1>; | 48 | interrupt-parent = <&irqc1>; |
43 | interrupts = <8 0x4>; | 49 | interrupts = <8 IRQ_TYPE_LEVEL_HIGH>; |
44 | phy-mode = "mii"; | 50 | phy-mode = "mii"; |
45 | reg-io-width = <4>; | 51 | reg-io-width = <4>; |
46 | smsc,irq-active-high; | 52 | smsc,irq-active-high; |
diff --git a/arch/arm/boot/dts/r8a73a4.dtsi b/arch/arm/boot/dts/r8a73a4.dtsi index 287e047592a0..6b7ce89a68f7 100644 --- a/arch/arm/boot/dts/r8a73a4.dtsi +++ b/arch/arm/boot/dts/r8a73a4.dtsi | |||
@@ -9,6 +9,9 @@ | |||
9 | * kind, whether express or implied. | 9 | * kind, whether express or implied. |
10 | */ | 10 | */ |
11 | 11 | ||
12 | #include <dt-bindings/interrupt-controller/arm-gic.h> | ||
13 | #include <dt-bindings/interrupt-controller/irq.h> | ||
14 | |||
12 | / { | 15 | / { |
13 | compatible = "renesas,r8a73a4"; | 16 | compatible = "renesas,r8a73a4"; |
14 | interrupt-parent = <&gic>; | 17 | interrupt-parent = <&gic>; |
@@ -36,15 +39,15 @@ | |||
36 | <0 0xf1002000 0 0x1000>, | 39 | <0 0xf1002000 0 0x1000>, |
37 | <0 0xf1004000 0 0x2000>, | 40 | <0 0xf1004000 0 0x2000>, |
38 | <0 0xf1006000 0 0x2000>; | 41 | <0 0xf1006000 0 0x2000>; |
39 | interrupts = <1 9 0xf04>; | 42 | interrupts = <1 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; |
40 | }; | 43 | }; |
41 | 44 | ||
42 | timer { | 45 | timer { |
43 | compatible = "arm,armv7-timer"; | 46 | compatible = "arm,armv7-timer"; |
44 | interrupts = <1 13 0xf08>, | 47 | interrupts = <1 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, |
45 | <1 14 0xf08>, | 48 | <1 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, |
46 | <1 11 0xf08>, | 49 | <1 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, |
47 | <1 10 0xf08>; | 50 | <1 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; |
48 | }; | 51 | }; |
49 | 52 | ||
50 | irqc0: interrupt-controller@e61c0000 { | 53 | irqc0: interrupt-controller@e61c0000 { |
@@ -53,14 +56,38 @@ | |||
53 | interrupt-controller; | 56 | interrupt-controller; |
54 | reg = <0 0xe61c0000 0 0x200>; | 57 | reg = <0 0xe61c0000 0 0x200>; |
55 | interrupt-parent = <&gic>; | 58 | interrupt-parent = <&gic>; |
56 | interrupts = <0 0 4>, <0 1 4>, <0 2 4>, <0 3 4>, | 59 | interrupts = <0 0 IRQ_TYPE_LEVEL_HIGH>, |
57 | <0 4 4>, <0 5 4>, <0 6 4>, <0 7 4>, | 60 | <0 1 IRQ_TYPE_LEVEL_HIGH>, |
58 | <0 8 4>, <0 9 4>, <0 10 4>, <0 11 4>, | 61 | <0 2 IRQ_TYPE_LEVEL_HIGH>, |
59 | <0 12 4>, <0 13 4>, <0 14 4>, <0 15 4>, | 62 | <0 3 IRQ_TYPE_LEVEL_HIGH>, |
60 | <0 16 4>, <0 17 4>, <0 18 4>, <0 19 4>, | 63 | <0 4 IRQ_TYPE_LEVEL_HIGH>, |
61 | <0 20 4>, <0 21 4>, <0 22 4>, <0 23 4>, | 64 | <0 5 IRQ_TYPE_LEVEL_HIGH>, |
62 | <0 24 4>, <0 25 4>, <0 26 4>, <0 27 4>, | 65 | <0 6 IRQ_TYPE_LEVEL_HIGH>, |
63 | <0 28 4>, <0 29 4>, <0 30 4>, <0 31 4>; | 66 | <0 7 IRQ_TYPE_LEVEL_HIGH>, |
67 | <0 8 IRQ_TYPE_LEVEL_HIGH>, | ||
68 | <0 9 IRQ_TYPE_LEVEL_HIGH>, | ||
69 | <0 10 IRQ_TYPE_LEVEL_HIGH>, | ||
70 | <0 11 IRQ_TYPE_LEVEL_HIGH>, | ||
71 | <0 12 IRQ_TYPE_LEVEL_HIGH>, | ||
72 | <0 13 IRQ_TYPE_LEVEL_HIGH>, | ||
73 | <0 14 IRQ_TYPE_LEVEL_HIGH>, | ||
74 | <0 15 IRQ_TYPE_LEVEL_HIGH>, | ||
75 | <0 16 IRQ_TYPE_LEVEL_HIGH>, | ||
76 | <0 17 IRQ_TYPE_LEVEL_HIGH>, | ||
77 | <0 18 IRQ_TYPE_LEVEL_HIGH>, | ||
78 | <0 19 IRQ_TYPE_LEVEL_HIGH>, | ||
79 | <0 20 IRQ_TYPE_LEVEL_HIGH>, | ||
80 | <0 21 IRQ_TYPE_LEVEL_HIGH>, | ||
81 | <0 22 IRQ_TYPE_LEVEL_HIGH>, | ||
82 | <0 23 IRQ_TYPE_LEVEL_HIGH>, | ||
83 | <0 24 IRQ_TYPE_LEVEL_HIGH>, | ||
84 | <0 25 IRQ_TYPE_LEVEL_HIGH>, | ||
85 | <0 26 IRQ_TYPE_LEVEL_HIGH>, | ||
86 | <0 27 IRQ_TYPE_LEVEL_HIGH>, | ||
87 | <0 28 IRQ_TYPE_LEVEL_HIGH>, | ||
88 | <0 29 IRQ_TYPE_LEVEL_HIGH>, | ||
89 | <0 30 IRQ_TYPE_LEVEL_HIGH>, | ||
90 | <0 31 IRQ_TYPE_LEVEL_HIGH>; | ||
64 | }; | 91 | }; |
65 | 92 | ||
66 | irqc1: interrupt-controller@e61c0200 { | 93 | irqc1: interrupt-controller@e61c0200 { |
@@ -69,13 +96,32 @@ | |||
69 | interrupt-controller; | 96 | interrupt-controller; |
70 | reg = <0 0xe61c0200 0 0x200>; | 97 | reg = <0 0xe61c0200 0 0x200>; |
71 | interrupt-parent = <&gic>; | 98 | interrupt-parent = <&gic>; |
72 | interrupts = <0 32 4>, <0 33 4>, <0 34 4>, <0 35 4>, | 99 | interrupts = <0 32 IRQ_TYPE_LEVEL_HIGH>, |
73 | <0 36 4>, <0 37 4>, <0 38 4>, <0 39 4>, | 100 | <0 33 IRQ_TYPE_LEVEL_HIGH>, |
74 | <0 40 4>, <0 41 4>, <0 42 4>, <0 43 4>, | 101 | <0 34 IRQ_TYPE_LEVEL_HIGH>, |
75 | <0 44 4>, <0 45 4>, <0 46 4>, <0 47 4>, | 102 | <0 35 IRQ_TYPE_LEVEL_HIGH>, |
76 | <0 48 4>, <0 49 4>, <0 50 4>, <0 51 4>, | 103 | <0 36 IRQ_TYPE_LEVEL_HIGH>, |
77 | <0 52 4>, <0 53 4>, <0 54 4>, <0 55 4>, | 104 | <0 37 IRQ_TYPE_LEVEL_HIGH>, |
78 | <0 56 4>, <0 57 4>; | 105 | <0 38 IRQ_TYPE_LEVEL_HIGH>, |
106 | <0 39 IRQ_TYPE_LEVEL_HIGH>, | ||
107 | <0 40 IRQ_TYPE_LEVEL_HIGH>, | ||
108 | <0 41 IRQ_TYPE_LEVEL_HIGH>, | ||
109 | <0 42 IRQ_TYPE_LEVEL_HIGH>, | ||
110 | <0 43 IRQ_TYPE_LEVEL_HIGH>, | ||
111 | <0 44 IRQ_TYPE_LEVEL_HIGH>, | ||
112 | <0 45 IRQ_TYPE_LEVEL_HIGH>, | ||
113 | <0 46 IRQ_TYPE_LEVEL_HIGH>, | ||
114 | <0 47 IRQ_TYPE_LEVEL_HIGH>, | ||
115 | <0 48 IRQ_TYPE_LEVEL_HIGH>, | ||
116 | <0 49 IRQ_TYPE_LEVEL_HIGH>, | ||
117 | <0 50 IRQ_TYPE_LEVEL_HIGH>, | ||
118 | <0 51 IRQ_TYPE_LEVEL_HIGH>, | ||
119 | <0 52 IRQ_TYPE_LEVEL_HIGH>, | ||
120 | <0 53 IRQ_TYPE_LEVEL_HIGH>, | ||
121 | <0 54 IRQ_TYPE_LEVEL_HIGH>, | ||
122 | <0 55 IRQ_TYPE_LEVEL_HIGH>, | ||
123 | <0 56 IRQ_TYPE_LEVEL_HIGH>, | ||
124 | <0 57 IRQ_TYPE_LEVEL_HIGH>; | ||
79 | }; | 125 | }; |
80 | 126 | ||
81 | dmac: dma-multiplexer@0 { | 127 | dmac: dma-multiplexer@0 { |
@@ -91,27 +137,27 @@ | |||
91 | compatible = "renesas,shdma-r8a73a4"; | 137 | compatible = "renesas,shdma-r8a73a4"; |
92 | reg = <0 0xe6700020 0 0x89e0>; | 138 | reg = <0 0xe6700020 0 0x89e0>; |
93 | interrupt-parent = <&gic>; | 139 | interrupt-parent = <&gic>; |
94 | interrupts = <0 220 4 | 140 | interrupts = <0 220 IRQ_TYPE_LEVEL_HIGH |
95 | 0 200 4 | 141 | 0 200 IRQ_TYPE_LEVEL_HIGH |
96 | 0 201 4 | 142 | 0 201 IRQ_TYPE_LEVEL_HIGH |
97 | 0 202 4 | 143 | 0 202 IRQ_TYPE_LEVEL_HIGH |
98 | 0 203 4 | 144 | 0 203 IRQ_TYPE_LEVEL_HIGH |
99 | 0 204 4 | 145 | 0 204 IRQ_TYPE_LEVEL_HIGH |
100 | 0 205 4 | 146 | 0 205 IRQ_TYPE_LEVEL_HIGH |
101 | 0 206 4 | 147 | 0 206 IRQ_TYPE_LEVEL_HIGH |
102 | 0 207 4 | 148 | 0 207 IRQ_TYPE_LEVEL_HIGH |
103 | 0 208 4 | 149 | 0 208 IRQ_TYPE_LEVEL_HIGH |
104 | 0 209 4 | 150 | 0 209 IRQ_TYPE_LEVEL_HIGH |
105 | 0 210 4 | 151 | 0 210 IRQ_TYPE_LEVEL_HIGH |
106 | 0 211 4 | 152 | 0 211 IRQ_TYPE_LEVEL_HIGH |
107 | 0 212 4 | 153 | 0 212 IRQ_TYPE_LEVEL_HIGH |
108 | 0 213 4 | 154 | 0 213 IRQ_TYPE_LEVEL_HIGH |
109 | 0 214 4 | 155 | 0 214 IRQ_TYPE_LEVEL_HIGH |
110 | 0 215 4 | 156 | 0 215 IRQ_TYPE_LEVEL_HIGH |
111 | 0 216 4 | 157 | 0 216 IRQ_TYPE_LEVEL_HIGH |
112 | 0 217 4 | 158 | 0 217 IRQ_TYPE_LEVEL_HIGH |
113 | 0 218 4 | 159 | 0 218 IRQ_TYPE_LEVEL_HIGH |
114 | 0 219 4>; | 160 | 0 219 IRQ_TYPE_LEVEL_HIGH>; |
115 | interrupt-names = "error", | 161 | interrupt-names = "error", |
116 | "ch0", "ch1", "ch2", "ch3", | 162 | "ch0", "ch1", "ch2", "ch3", |
117 | "ch4", "ch5", "ch6", "ch7", | 163 | "ch4", "ch5", "ch6", "ch7", |
@@ -126,7 +172,7 @@ | |||
126 | reg = <0 0xe61f0000 0 0x14>, <0 0xe61f0100 0 0x38>, | 172 | reg = <0 0xe61f0000 0 0x14>, <0 0xe61f0100 0 0x38>, |
127 | <0 0xe61f0200 0 0x38>, <0 0xe61f0300 0 0x38>; | 173 | <0 0xe61f0200 0 0x38>, <0 0xe61f0300 0 0x38>; |
128 | interrupt-parent = <&gic>; | 174 | interrupt-parent = <&gic>; |
129 | interrupts = <0 69 4>; | 175 | interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>; |
130 | }; | 176 | }; |
131 | 177 | ||
132 | i2c0: i2c@e6500000 { | 178 | i2c0: i2c@e6500000 { |
@@ -135,7 +181,7 @@ | |||
135 | compatible = "renesas,rmobile-iic"; | 181 | compatible = "renesas,rmobile-iic"; |
136 | reg = <0 0xe6500000 0 0x428>; | 182 | reg = <0 0xe6500000 0 0x428>; |
137 | interrupt-parent = <&gic>; | 183 | interrupt-parent = <&gic>; |
138 | interrupts = <0 174 0x4>; | 184 | interrupts = <0 174 IRQ_TYPE_LEVEL_HIGH>; |
139 | status = "disabled"; | 185 | status = "disabled"; |
140 | }; | 186 | }; |
141 | 187 | ||
@@ -145,7 +191,7 @@ | |||
145 | compatible = "renesas,rmobile-iic"; | 191 | compatible = "renesas,rmobile-iic"; |
146 | reg = <0 0xe6510000 0 0x428>; | 192 | reg = <0 0xe6510000 0 0x428>; |
147 | interrupt-parent = <&gic>; | 193 | interrupt-parent = <&gic>; |
148 | interrupts = <0 175 0x4>; | 194 | interrupts = <0 175 IRQ_TYPE_LEVEL_HIGH>; |
149 | status = "disabled"; | 195 | status = "disabled"; |
150 | }; | 196 | }; |
151 | 197 | ||
@@ -155,7 +201,7 @@ | |||
155 | compatible = "renesas,rmobile-iic"; | 201 | compatible = "renesas,rmobile-iic"; |
156 | reg = <0 0xe6520000 0 0x428>; | 202 | reg = <0 0xe6520000 0 0x428>; |
157 | interrupt-parent = <&gic>; | 203 | interrupt-parent = <&gic>; |
158 | interrupts = <0 176 0x4>; | 204 | interrupts = <0 176 IRQ_TYPE_LEVEL_HIGH>; |
159 | status = "disabled"; | 205 | status = "disabled"; |
160 | }; | 206 | }; |
161 | 207 | ||
@@ -165,7 +211,7 @@ | |||
165 | compatible = "renesas,rmobile-iic"; | 211 | compatible = "renesas,rmobile-iic"; |
166 | reg = <0 0xe6530000 0 0x428>; | 212 | reg = <0 0xe6530000 0 0x428>; |
167 | interrupt-parent = <&gic>; | 213 | interrupt-parent = <&gic>; |
168 | interrupts = <0 177 0x4>; | 214 | interrupts = <0 177 IRQ_TYPE_LEVEL_HIGH>; |
169 | status = "disabled"; | 215 | status = "disabled"; |
170 | }; | 216 | }; |
171 | 217 | ||
@@ -175,7 +221,7 @@ | |||
175 | compatible = "renesas,rmobile-iic"; | 221 | compatible = "renesas,rmobile-iic"; |
176 | reg = <0 0xe6540000 0 0x428>; | 222 | reg = <0 0xe6540000 0 0x428>; |
177 | interrupt-parent = <&gic>; | 223 | interrupt-parent = <&gic>; |
178 | interrupts = <0 178 0x4>; | 224 | interrupts = <0 178 IRQ_TYPE_LEVEL_HIGH>; |
179 | status = "disabled"; | 225 | status = "disabled"; |
180 | }; | 226 | }; |
181 | 227 | ||
@@ -185,7 +231,7 @@ | |||
185 | compatible = "renesas,rmobile-iic"; | 231 | compatible = "renesas,rmobile-iic"; |
186 | reg = <0 0xe60b0000 0 0x428>; | 232 | reg = <0 0xe60b0000 0 0x428>; |
187 | interrupt-parent = <&gic>; | 233 | interrupt-parent = <&gic>; |
188 | interrupts = <0 179 0x4>; | 234 | interrupts = <0 179 IRQ_TYPE_LEVEL_HIGH>; |
189 | status = "disabled"; | 235 | status = "disabled"; |
190 | }; | 236 | }; |
191 | 237 | ||
@@ -195,7 +241,7 @@ | |||
195 | compatible = "renesas,rmobile-iic"; | 241 | compatible = "renesas,rmobile-iic"; |
196 | reg = <0 0xe6550000 0 0x428>; | 242 | reg = <0 0xe6550000 0 0x428>; |
197 | interrupt-parent = <&gic>; | 243 | interrupt-parent = <&gic>; |
198 | interrupts = <0 184 0x4>; | 244 | interrupts = <0 184 IRQ_TYPE_LEVEL_HIGH>; |
199 | status = "disabled"; | 245 | status = "disabled"; |
200 | }; | 246 | }; |
201 | 247 | ||
@@ -205,7 +251,7 @@ | |||
205 | compatible = "renesas,rmobile-iic"; | 251 | compatible = "renesas,rmobile-iic"; |
206 | reg = <0 0xe6560000 0 0x428>; | 252 | reg = <0 0xe6560000 0 0x428>; |
207 | interrupt-parent = <&gic>; | 253 | interrupt-parent = <&gic>; |
208 | interrupts = <0 185 0x4>; | 254 | interrupts = <0 185 IRQ_TYPE_LEVEL_HIGH>; |
209 | status = "disabled"; | 255 | status = "disabled"; |
210 | }; | 256 | }; |
211 | 257 | ||
@@ -215,24 +261,24 @@ | |||
215 | compatible = "renesas,rmobile-iic"; | 261 | compatible = "renesas,rmobile-iic"; |
216 | reg = <0 0xe6570000 0 0x428>; | 262 | reg = <0 0xe6570000 0 0x428>; |
217 | interrupt-parent = <&gic>; | 263 | interrupt-parent = <&gic>; |
218 | interrupts = <0 173 0x4>; | 264 | interrupts = <0 173 IRQ_TYPE_LEVEL_HIGH>; |
219 | status = "disabled"; | 265 | status = "disabled"; |
220 | }; | 266 | }; |
221 | 267 | ||
222 | mmcif0: mmcif@ee200000 { | 268 | mmcif0: mmc@ee200000 { |
223 | compatible = "renesas,sh-mmcif"; | 269 | compatible = "renesas,sh-mmcif"; |
224 | reg = <0 0xee200000 0 0x80>; | 270 | reg = <0 0xee200000 0 0x80>; |
225 | interrupt-parent = <&gic>; | 271 | interrupt-parent = <&gic>; |
226 | interrupts = <0 169 0x4>; | 272 | interrupts = <0 169 IRQ_TYPE_LEVEL_HIGH>; |
227 | reg-io-width = <4>; | 273 | reg-io-width = <4>; |
228 | status = "disabled"; | 274 | status = "disabled"; |
229 | }; | 275 | }; |
230 | 276 | ||
231 | mmcif1: mmcif@ee220000 { | 277 | mmcif1: mmc@ee220000 { |
232 | compatible = "renesas,sh-mmcif"; | 278 | compatible = "renesas,sh-mmcif"; |
233 | reg = <0 0xee220000 0 0x80>; | 279 | reg = <0 0xee220000 0 0x80>; |
234 | interrupt-parent = <&gic>; | 280 | interrupt-parent = <&gic>; |
235 | interrupts = <0 170 0x4>; | 281 | interrupts = <0 170 IRQ_TYPE_LEVEL_HIGH>; |
236 | reg-io-width = <4>; | 282 | reg-io-width = <4>; |
237 | status = "disabled"; | 283 | status = "disabled"; |
238 | }; | 284 | }; |
@@ -244,29 +290,29 @@ | |||
244 | #gpio-cells = <2>; | 290 | #gpio-cells = <2>; |
245 | }; | 291 | }; |
246 | 292 | ||
247 | sdhi0: sdhi@ee100000 { | 293 | sdhi0: sd@ee100000 { |
248 | compatible = "renesas,sdhi-r8a73a4"; | 294 | compatible = "renesas,sdhi-r8a73a4"; |
249 | reg = <0 0xee100000 0 0x100>; | 295 | reg = <0 0xee100000 0 0x100>; |
250 | interrupt-parent = <&gic>; | 296 | interrupt-parent = <&gic>; |
251 | interrupts = <0 165 4>; | 297 | interrupts = <0 165 IRQ_TYPE_LEVEL_HIGH>; |
252 | cap-sd-highspeed; | 298 | cap-sd-highspeed; |
253 | status = "disabled"; | 299 | status = "disabled"; |
254 | }; | 300 | }; |
255 | 301 | ||
256 | sdhi1: sdhi@ee120000 { | 302 | sdhi1: sd@ee120000 { |
257 | compatible = "renesas,sdhi-r8a73a4"; | 303 | compatible = "renesas,sdhi-r8a73a4"; |
258 | reg = <0 0xee120000 0 0x100>; | 304 | reg = <0 0xee120000 0 0x100>; |
259 | interrupt-parent = <&gic>; | 305 | interrupt-parent = <&gic>; |
260 | interrupts = <0 166 4>; | 306 | interrupts = <0 166 IRQ_TYPE_LEVEL_HIGH>; |
261 | cap-sd-highspeed; | 307 | cap-sd-highspeed; |
262 | status = "disabled"; | 308 | status = "disabled"; |
263 | }; | 309 | }; |
264 | 310 | ||
265 | sdhi2: sdhi@ee140000 { | 311 | sdhi2: sd@ee140000 { |
266 | compatible = "renesas,sdhi-r8a73a4"; | 312 | compatible = "renesas,sdhi-r8a73a4"; |
267 | reg = <0 0xee140000 0 0x100>; | 313 | reg = <0 0xee140000 0 0x100>; |
268 | interrupt-parent = <&gic>; | 314 | interrupt-parent = <&gic>; |
269 | interrupts = <0 167 4>; | 315 | interrupts = <0 167 IRQ_TYPE_LEVEL_HIGH>; |
270 | cap-sd-highspeed; | 316 | cap-sd-highspeed; |
271 | status = "disabled"; | 317 | status = "disabled"; |
272 | }; | 318 | }; |
diff --git a/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts b/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts index 1c56c5e56950..6d6fd3dff2d3 100644 --- a/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts +++ b/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts | |||
@@ -9,8 +9,9 @@ | |||
9 | */ | 9 | */ |
10 | 10 | ||
11 | /dts-v1/; | 11 | /dts-v1/; |
12 | /include/ "r8a7740.dtsi" | 12 | #include "r8a7740.dtsi" |
13 | #include <dt-bindings/gpio/gpio.h> | 13 | #include <dt-bindings/gpio/gpio.h> |
14 | #include <dt-bindings/interrupt-controller/irq.h> | ||
14 | #include <dt-bindings/pwm/pwm.h> | 15 | #include <dt-bindings/pwm/pwm.h> |
15 | 16 | ||
16 | / { | 17 | / { |
@@ -86,31 +87,55 @@ | |||
86 | pinctrl-0 = <&backlight_pins>; | 87 | pinctrl-0 = <&backlight_pins>; |
87 | pinctrl-names = "default"; | 88 | pinctrl-names = "default"; |
88 | }; | 89 | }; |
90 | |||
91 | sound { | ||
92 | compatible = "simple-audio-card"; | ||
93 | |||
94 | simple-audio-card,format = "i2s"; | ||
95 | |||
96 | simple-audio-card,cpu { | ||
97 | sound-dai = <&sh_fsi2 0>; | ||
98 | bitclock-inversion; | ||
99 | }; | ||
100 | |||
101 | simple-audio-card,codec { | ||
102 | sound-dai = <&wm8978>; | ||
103 | bitclock-master; | ||
104 | frame-master; | ||
105 | system-clock-frequency = <12288000>; | ||
106 | }; | ||
107 | }; | ||
89 | }; | 108 | }; |
90 | 109 | ||
91 | &i2c0 { | 110 | &i2c0 { |
92 | status = "okay"; | 111 | status = "okay"; |
93 | touchscreen: st1232@55 { | 112 | touchscreen@55 { |
94 | compatible = "sitronix,st1232"; | 113 | compatible = "sitronix,st1232"; |
95 | reg = <0x55>; | 114 | reg = <0x55>; |
96 | interrupt-parent = <&irqpin1>; | 115 | interrupt-parent = <&irqpin1>; |
97 | interrupts = <2 0>; /* IRQ10: hwirq 2 on irqpin1 */ | 116 | interrupts = <2 IRQ_TYPE_LEVEL_LOW>; |
98 | pinctrl-0 = <&st1232_pins>; | 117 | pinctrl-0 = <&st1232_pins>; |
99 | pinctrl-names = "default"; | 118 | pinctrl-names = "default"; |
100 | gpios = <&pfc 166 GPIO_ACTIVE_LOW>; | 119 | gpios = <&pfc 166 GPIO_ACTIVE_LOW>; |
101 | }; | 120 | }; |
121 | |||
122 | wm8978: wm8978@1a { | ||
123 | #sound-dai-cells = <0>; | ||
124 | compatible = "wlf,wm8978"; | ||
125 | reg = <0x1a>; | ||
126 | }; | ||
102 | }; | 127 | }; |
103 | 128 | ||
104 | &pfc { | 129 | &pfc { |
105 | pinctrl-0 = <&scifa1_pins>; | 130 | pinctrl-0 = <&scifa1_pins>; |
106 | pinctrl-names = "default"; | 131 | pinctrl-names = "default"; |
107 | 132 | ||
108 | scifa1_pins: scifa1 { | 133 | scifa1_pins: serial1 { |
109 | renesas,groups = "scifa1_data"; | 134 | renesas,groups = "scifa1_data"; |
110 | renesas,function = "scifa1"; | 135 | renesas,function = "scifa1"; |
111 | }; | 136 | }; |
112 | 137 | ||
113 | st1232_pins: st1232 { | 138 | st1232_pins: touchscreen { |
114 | renesas,groups = "intc_irq10"; | 139 | renesas,groups = "intc_irq10"; |
115 | renesas,function = "intc"; | 140 | renesas,function = "intc"; |
116 | }; | 141 | }; |
@@ -125,10 +150,16 @@ | |||
125 | renesas,function = "mmc0"; | 150 | renesas,function = "mmc0"; |
126 | }; | 151 | }; |
127 | 152 | ||
128 | sdhi0_pins: sdhi0 { | 153 | sdhi0_pins: sd0 { |
129 | renesas,groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_wp"; | 154 | renesas,groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_wp"; |
130 | renesas,function = "sdhi0"; | 155 | renesas,function = "sdhi0"; |
131 | }; | 156 | }; |
157 | |||
158 | fsia_pins: sounda { | ||
159 | renesas,groups = "fsia_sclk_in", "fsia_mclk_out", | ||
160 | "fsia_data_in_1", "fsia_data_out_0"; | ||
161 | renesas,function = "fsia"; | ||
162 | }; | ||
132 | }; | 163 | }; |
133 | 164 | ||
134 | &tpu { | 165 | &tpu { |
@@ -155,3 +186,10 @@ | |||
155 | cd-gpios = <&pfc 167 GPIO_ACTIVE_LOW>; | 186 | cd-gpios = <&pfc 167 GPIO_ACTIVE_LOW>; |
156 | status = "okay"; | 187 | status = "okay"; |
157 | }; | 188 | }; |
189 | |||
190 | &sh_fsi2 { | ||
191 | pinctrl-0 = <&fsia_pins>; | ||
192 | pinctrl-names = "default"; | ||
193 | |||
194 | status = "okay"; | ||
195 | }; | ||
diff --git a/arch/arm/boot/dts/r8a7740-armadillo800eva.dts b/arch/arm/boot/dts/r8a7740-armadillo800eva.dts index 426cd9c3e1c4..a06a11e1a840 100644 --- a/arch/arm/boot/dts/r8a7740-armadillo800eva.dts +++ b/arch/arm/boot/dts/r8a7740-armadillo800eva.dts | |||
@@ -9,7 +9,7 @@ | |||
9 | */ | 9 | */ |
10 | 10 | ||
11 | /dts-v1/; | 11 | /dts-v1/; |
12 | /include/ "r8a7740.dtsi" | 12 | #include "r8a7740.dtsi" |
13 | 13 | ||
14 | / { | 14 | / { |
15 | model = "armadillo 800 eva"; | 15 | model = "armadillo 800 eva"; |
diff --git a/arch/arm/boot/dts/r8a7740.dtsi b/arch/arm/boot/dts/r8a7740.dtsi index ae1e230f711d..2782f642acfc 100644 --- a/arch/arm/boot/dts/r8a7740.dtsi +++ b/arch/arm/boot/dts/r8a7740.dtsi | |||
@@ -10,6 +10,8 @@ | |||
10 | 10 | ||
11 | /include/ "skeleton.dtsi" | 11 | /include/ "skeleton.dtsi" |
12 | 12 | ||
13 | #include <dt-bindings/interrupt-controller/irq.h> | ||
14 | |||
13 | / { | 15 | / { |
14 | compatible = "renesas,r8a7740"; | 16 | compatible = "renesas,r8a7740"; |
15 | 17 | ||
@@ -34,12 +36,12 @@ | |||
34 | 36 | ||
35 | pmu { | 37 | pmu { |
36 | compatible = "arm,cortex-a9-pmu"; | 38 | compatible = "arm,cortex-a9-pmu"; |
37 | interrupts = <0 83 4>; | 39 | interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>; |
38 | }; | 40 | }; |
39 | 41 | ||
40 | /* irqpin0: IRQ0 - IRQ7 */ | 42 | /* irqpin0: IRQ0 - IRQ7 */ |
41 | irqpin0: irqpin@e6900000 { | 43 | irqpin0: irqpin@e6900000 { |
42 | compatible = "renesas,intc-irqpin"; | 44 | compatible = "renesas,intc-irqpin-r8a7740", "renesas,intc-irqpin"; |
43 | #interrupt-cells = <2>; | 45 | #interrupt-cells = <2>; |
44 | interrupt-controller; | 46 | interrupt-controller; |
45 | reg = <0xe6900000 4>, | 47 | reg = <0xe6900000 4>, |
@@ -48,19 +50,19 @@ | |||
48 | <0xe6900040 1>, | 50 | <0xe6900040 1>, |
49 | <0xe6900060 1>; | 51 | <0xe6900060 1>; |
50 | interrupt-parent = <&gic>; | 52 | interrupt-parent = <&gic>; |
51 | interrupts = <0 149 0x4 | 53 | interrupts = <0 149 IRQ_TYPE_LEVEL_HIGH |
52 | 0 149 0x4 | 54 | 0 149 IRQ_TYPE_LEVEL_HIGH |
53 | 0 149 0x4 | 55 | 0 149 IRQ_TYPE_LEVEL_HIGH |
54 | 0 149 0x4 | 56 | 0 149 IRQ_TYPE_LEVEL_HIGH |
55 | 0 149 0x4 | 57 | 0 149 IRQ_TYPE_LEVEL_HIGH |
56 | 0 149 0x4 | 58 | 0 149 IRQ_TYPE_LEVEL_HIGH |
57 | 0 149 0x4 | 59 | 0 149 IRQ_TYPE_LEVEL_HIGH |
58 | 0 149 0x4>; | 60 | 0 149 IRQ_TYPE_LEVEL_HIGH>; |
59 | }; | 61 | }; |
60 | 62 | ||
61 | /* irqpin1: IRQ8 - IRQ15 */ | 63 | /* irqpin1: IRQ8 - IRQ15 */ |
62 | irqpin1: irqpin@e6900004 { | 64 | irqpin1: irqpin@e6900004 { |
63 | compatible = "renesas,intc-irqpin"; | 65 | compatible = "renesas,intc-irqpin-r8a7740", "renesas,intc-irqpin"; |
64 | #interrupt-cells = <2>; | 66 | #interrupt-cells = <2>; |
65 | interrupt-controller; | 67 | interrupt-controller; |
66 | reg = <0xe6900004 4>, | 68 | reg = <0xe6900004 4>, |
@@ -69,19 +71,19 @@ | |||
69 | <0xe6900044 1>, | 71 | <0xe6900044 1>, |
70 | <0xe6900064 1>; | 72 | <0xe6900064 1>; |
71 | interrupt-parent = <&gic>; | 73 | interrupt-parent = <&gic>; |
72 | interrupts = <0 149 0x4 | 74 | interrupts = <0 149 IRQ_TYPE_LEVEL_HIGH |
73 | 0 149 0x4 | 75 | 0 149 IRQ_TYPE_LEVEL_HIGH |
74 | 0 149 0x4 | 76 | 0 149 IRQ_TYPE_LEVEL_HIGH |
75 | 0 149 0x4 | 77 | 0 149 IRQ_TYPE_LEVEL_HIGH |
76 | 0 149 0x4 | 78 | 0 149 IRQ_TYPE_LEVEL_HIGH |
77 | 0 149 0x4 | 79 | 0 149 IRQ_TYPE_LEVEL_HIGH |
78 | 0 149 0x4 | 80 | 0 149 IRQ_TYPE_LEVEL_HIGH |
79 | 0 149 0x4>; | 81 | 0 149 IRQ_TYPE_LEVEL_HIGH>; |
80 | }; | 82 | }; |
81 | 83 | ||
82 | /* irqpin2: IRQ16 - IRQ23 */ | 84 | /* irqpin2: IRQ16 - IRQ23 */ |
83 | irqpin2: irqpin@e6900008 { | 85 | irqpin2: irqpin@e6900008 { |
84 | compatible = "renesas,intc-irqpin"; | 86 | compatible = "renesas,intc-irqpin-r8a7740", "renesas,intc-irqpin"; |
85 | #interrupt-cells = <2>; | 87 | #interrupt-cells = <2>; |
86 | interrupt-controller; | 88 | interrupt-controller; |
87 | reg = <0xe6900008 4>, | 89 | reg = <0xe6900008 4>, |
@@ -90,19 +92,19 @@ | |||
90 | <0xe6900048 1>, | 92 | <0xe6900048 1>, |
91 | <0xe6900068 1>; | 93 | <0xe6900068 1>; |
92 | interrupt-parent = <&gic>; | 94 | interrupt-parent = <&gic>; |
93 | interrupts = <0 149 0x4 | 95 | interrupts = <0 149 IRQ_TYPE_LEVEL_HIGH |
94 | 0 149 0x4 | 96 | 0 149 IRQ_TYPE_LEVEL_HIGH |
95 | 0 149 0x4 | 97 | 0 149 IRQ_TYPE_LEVEL_HIGH |
96 | 0 149 0x4 | 98 | 0 149 IRQ_TYPE_LEVEL_HIGH |
97 | 0 149 0x4 | 99 | 0 149 IRQ_TYPE_LEVEL_HIGH |
98 | 0 149 0x4 | 100 | 0 149 IRQ_TYPE_LEVEL_HIGH |
99 | 0 149 0x4 | 101 | 0 149 IRQ_TYPE_LEVEL_HIGH |
100 | 0 149 0x4>; | 102 | 0 149 IRQ_TYPE_LEVEL_HIGH>; |
101 | }; | 103 | }; |
102 | 104 | ||
103 | /* irqpin3: IRQ24 - IRQ31 */ | 105 | /* irqpin3: IRQ24 - IRQ31 */ |
104 | irqpin3: irqpin@e690000c { | 106 | irqpin3: irqpin@e690000c { |
105 | compatible = "renesas,intc-irqpin"; | 107 | compatible = "renesas,intc-irqpin-r8a7740", "renesas,intc-irqpin"; |
106 | #interrupt-cells = <2>; | 108 | #interrupt-cells = <2>; |
107 | interrupt-controller; | 109 | interrupt-controller; |
108 | reg = <0xe690000c 4>, | 110 | reg = <0xe690000c 4>, |
@@ -111,14 +113,14 @@ | |||
111 | <0xe690004c 1>, | 113 | <0xe690004c 1>, |
112 | <0xe690006c 1>; | 114 | <0xe690006c 1>; |
113 | interrupt-parent = <&gic>; | 115 | interrupt-parent = <&gic>; |
114 | interrupts = <0 149 0x4 | 116 | interrupts = <0 149 IRQ_TYPE_LEVEL_HIGH |
115 | 0 149 0x4 | 117 | 0 149 IRQ_TYPE_LEVEL_HIGH |
116 | 0 149 0x4 | 118 | 0 149 IRQ_TYPE_LEVEL_HIGH |
117 | 0 149 0x4 | 119 | 0 149 IRQ_TYPE_LEVEL_HIGH |
118 | 0 149 0x4 | 120 | 0 149 IRQ_TYPE_LEVEL_HIGH |
119 | 0 149 0x4 | 121 | 0 149 IRQ_TYPE_LEVEL_HIGH |
120 | 0 149 0x4 | 122 | 0 149 IRQ_TYPE_LEVEL_HIGH |
121 | 0 149 0x4>; | 123 | 0 149 IRQ_TYPE_LEVEL_HIGH>; |
122 | }; | 124 | }; |
123 | 125 | ||
124 | i2c0: i2c@fff20000 { | 126 | i2c0: i2c@fff20000 { |
@@ -127,10 +129,10 @@ | |||
127 | compatible = "renesas,rmobile-iic"; | 129 | compatible = "renesas,rmobile-iic"; |
128 | reg = <0xfff20000 0x425>; | 130 | reg = <0xfff20000 0x425>; |
129 | interrupt-parent = <&gic>; | 131 | interrupt-parent = <&gic>; |
130 | interrupts = <0 201 0x4 | 132 | interrupts = <0 201 IRQ_TYPE_LEVEL_HIGH |
131 | 0 202 0x4 | 133 | 0 202 IRQ_TYPE_LEVEL_HIGH |
132 | 0 203 0x4 | 134 | 0 203 IRQ_TYPE_LEVEL_HIGH |
133 | 0 204 0x4>; | 135 | 0 204 IRQ_TYPE_LEVEL_HIGH>; |
134 | status = "disabled"; | 136 | status = "disabled"; |
135 | }; | 137 | }; |
136 | 138 | ||
@@ -140,10 +142,10 @@ | |||
140 | compatible = "renesas,rmobile-iic"; | 142 | compatible = "renesas,rmobile-iic"; |
141 | reg = <0xe6c20000 0x425>; | 143 | reg = <0xe6c20000 0x425>; |
142 | interrupt-parent = <&gic>; | 144 | interrupt-parent = <&gic>; |
143 | interrupts = <0 70 0x4 | 145 | interrupts = <0 70 IRQ_TYPE_LEVEL_HIGH |
144 | 0 71 0x4 | 146 | 0 71 IRQ_TYPE_LEVEL_HIGH |
145 | 0 72 0x4 | 147 | 0 72 IRQ_TYPE_LEVEL_HIGH |
146 | 0 73 0x4>; | 148 | 0 73 IRQ_TYPE_LEVEL_HIGH>; |
147 | status = "disabled"; | 149 | status = "disabled"; |
148 | }; | 150 | }; |
149 | 151 | ||
@@ -162,36 +164,57 @@ | |||
162 | #pwm-cells = <3>; | 164 | #pwm-cells = <3>; |
163 | }; | 165 | }; |
164 | 166 | ||
165 | mmcif0: mmcif@e6bd0000 { | 167 | mmcif0: mmc@e6bd0000 { |
166 | compatible = "renesas,sh-mmcif"; | 168 | compatible = "renesas,sh-mmcif"; |
167 | reg = <0xe6bd0000 0x100>; | 169 | reg = <0xe6bd0000 0x100>; |
168 | interrupt-parent = <&gic>; | 170 | interrupt-parent = <&gic>; |
169 | interrupts = <0 56 4 | 171 | interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH |
170 | 0 57 4>; | 172 | 0 57 IRQ_TYPE_LEVEL_HIGH>; |
171 | status = "disabled"; | 173 | status = "disabled"; |
172 | }; | 174 | }; |
173 | 175 | ||
174 | sdhi0: sdhi@e6850000 { | 176 | sdhi0: sd@e6850000 { |
175 | compatible = "renesas,sdhi-r8a7740"; | 177 | compatible = "renesas,sdhi-r8a7740"; |
176 | reg = <0xe6850000 0x100>; | 178 | reg = <0xe6850000 0x100>; |
177 | interrupt-parent = <&gic>; | 179 | interrupt-parent = <&gic>; |
178 | interrupts = <0 117 4 | 180 | interrupts = <0 117 IRQ_TYPE_LEVEL_HIGH |
179 | 0 118 4 | 181 | 0 118 IRQ_TYPE_LEVEL_HIGH |
180 | 0 119 4>; | 182 | 0 119 IRQ_TYPE_LEVEL_HIGH>; |
181 | cap-sd-highspeed; | 183 | cap-sd-highspeed; |
182 | cap-sdio-irq; | 184 | cap-sdio-irq; |
183 | status = "disabled"; | 185 | status = "disabled"; |
184 | }; | 186 | }; |
185 | 187 | ||
186 | sdhi1: sdhi@e6860000 { | 188 | sdhi1: sd@e6860000 { |
187 | compatible = "renesas,sdhi-r8a7740"; | 189 | compatible = "renesas,sdhi-r8a7740"; |
188 | reg = <0xe6860000 0x100>; | 190 | reg = <0xe6860000 0x100>; |
189 | interrupt-parent = <&gic>; | 191 | interrupt-parent = <&gic>; |
190 | interrupts = <0 121 4 | 192 | interrupts = <0 121 IRQ_TYPE_LEVEL_HIGH |
191 | 0 122 4 | 193 | 0 122 IRQ_TYPE_LEVEL_HIGH |
192 | 0 123 4>; | 194 | 0 123 IRQ_TYPE_LEVEL_HIGH>; |
195 | cap-sd-highspeed; | ||
196 | cap-sdio-irq; | ||
197 | status = "disabled"; | ||
198 | }; | ||
199 | |||
200 | sdhi2: sd@e6870000 { | ||
201 | compatible = "renesas,sdhi-r8a7740"; | ||
202 | reg = <0xe6870000 0x100>; | ||
203 | interrupt-parent = <&gic>; | ||
204 | interrupts = <0 125 IRQ_TYPE_LEVEL_HIGH | ||
205 | 0 126 IRQ_TYPE_LEVEL_HIGH | ||
206 | 0 127 IRQ_TYPE_LEVEL_HIGH>; | ||
193 | cap-sd-highspeed; | 207 | cap-sd-highspeed; |
194 | cap-sdio-irq; | 208 | cap-sdio-irq; |
195 | status = "disabled"; | 209 | status = "disabled"; |
196 | }; | 210 | }; |
211 | |||
212 | sh_fsi2: sound@fe1f0000 { | ||
213 | #sound-dai-cells = <1>; | ||
214 | compatible = "renesas,sh_fsi2"; | ||
215 | reg = <0xfe1f0000 0x400>; | ||
216 | interrupt-parent = <&gic>; | ||
217 | interrupts = <0 9 0x4>; | ||
218 | status = "disabled"; | ||
219 | }; | ||
197 | }; | 220 | }; |
diff --git a/arch/arm/boot/dts/r8a7778-bockw-reference.dts b/arch/arm/boot/dts/r8a7778-bockw-reference.dts index 969e386e852c..bb62c7a906f4 100644 --- a/arch/arm/boot/dts/r8a7778-bockw-reference.dts +++ b/arch/arm/boot/dts/r8a7778-bockw-reference.dts | |||
@@ -15,7 +15,8 @@ | |||
15 | */ | 15 | */ |
16 | 16 | ||
17 | /dts-v1/; | 17 | /dts-v1/; |
18 | /include/ "r8a7778.dtsi" | 18 | #include "r8a7778.dtsi" |
19 | #include <dt-bindings/interrupt-controller/irq.h> | ||
19 | 20 | ||
20 | / { | 21 | / { |
21 | model = "bockw"; | 22 | model = "bockw"; |
@@ -45,13 +46,65 @@ | |||
45 | 46 | ||
46 | phy-mode = "mii"; | 47 | phy-mode = "mii"; |
47 | interrupt-parent = <&irqpin>; | 48 | interrupt-parent = <&irqpin>; |
48 | interrupts = <0 0>; /* IRQ0: hwirq 0 on irqpin */ | 49 | interrupts = <0 IRQ_TYPE_EDGE_FALLING>; |
49 | reg-io-width = <4>; | 50 | reg-io-width = <4>; |
50 | vddvario-supply = <&fixedregulator3v3>; | 51 | vddvario-supply = <&fixedregulator3v3>; |
51 | vdd33a-supply = <&fixedregulator3v3>; | 52 | vdd33a-supply = <&fixedregulator3v3>; |
52 | }; | 53 | }; |
54 | |||
55 | }; | ||
56 | |||
57 | &mmcif { | ||
58 | pinctrl-0 = <&mmc_pins>; | ||
59 | pinctrl-names = "default"; | ||
60 | |||
61 | vmmc-supply = <&fixedregulator3v3>; | ||
62 | bus-width = <8>; | ||
63 | broken-cd; | ||
64 | status = "okay"; | ||
53 | }; | 65 | }; |
54 | 66 | ||
55 | &irqpin { | 67 | &irqpin { |
56 | status = "okay"; | 68 | status = "okay"; |
57 | }; | 69 | }; |
70 | |||
71 | &pfc { | ||
72 | pinctrl-0 = <&scif0_pins>; | ||
73 | pinctrl-names = "default"; | ||
74 | |||
75 | scif0_pins: serial0 { | ||
76 | renesas,groups = "scif0_data_a", "scif0_ctrl"; | ||
77 | renesas,function = "scif0"; | ||
78 | }; | ||
79 | |||
80 | mmc_pins: mmc { | ||
81 | renesas,groups = "mmc_data8", "mmc_ctrl"; | ||
82 | renesas,function = "mmc"; | ||
83 | }; | ||
84 | |||
85 | sdhi0_pins: sd0 { | ||
86 | renesas,groups = "sdhi0_data4", "sdhi0_ctrl", | ||
87 | "sdhi0_cd", "sdhi0_wp"; | ||
88 | renesas,function = "sdhi0"; | ||
89 | }; | ||
90 | |||
91 | hspi0_pins: hspi0 { | ||
92 | renesas,groups = "hspi0_a"; | ||
93 | renesas,function = "hspi0"; | ||
94 | }; | ||
95 | }; | ||
96 | |||
97 | &sdhi0 { | ||
98 | pinctrl-0 = <&sdhi0_pins>; | ||
99 | pinctrl-names = "default"; | ||
100 | |||
101 | vmmc-supply = <&fixedregulator3v3>; | ||
102 | bus-width = <4>; | ||
103 | status = "okay"; | ||
104 | }; | ||
105 | |||
106 | &hspi0 { | ||
107 | pinctrl-0 = <&hspi0_pins>; | ||
108 | pinctrl-names = "default"; | ||
109 | status = "okay"; | ||
110 | }; | ||
diff --git a/arch/arm/boot/dts/r8a7778-bockw.dts b/arch/arm/boot/dts/r8a7778-bockw.dts index 12bbebc9c955..46a884d45175 100644 --- a/arch/arm/boot/dts/r8a7778-bockw.dts +++ b/arch/arm/boot/dts/r8a7778-bockw.dts | |||
@@ -15,7 +15,7 @@ | |||
15 | */ | 15 | */ |
16 | 16 | ||
17 | /dts-v1/; | 17 | /dts-v1/; |
18 | /include/ "r8a7778.dtsi" | 18 | #include "r8a7778.dtsi" |
19 | 19 | ||
20 | / { | 20 | / { |
21 | model = "bockw"; | 21 | model = "bockw"; |
diff --git a/arch/arm/boot/dts/r8a7778.dtsi b/arch/arm/boot/dts/r8a7778.dtsi index a6308a399e2d..ddb3bd7a8838 100644 --- a/arch/arm/boot/dts/r8a7778.dtsi +++ b/arch/arm/boot/dts/r8a7778.dtsi | |||
@@ -16,6 +16,8 @@ | |||
16 | 16 | ||
17 | /include/ "skeleton.dtsi" | 17 | /include/ "skeleton.dtsi" |
18 | 18 | ||
19 | #include <dt-bindings/interrupt-controller/irq.h> | ||
20 | |||
19 | / { | 21 | / { |
20 | compatible = "renesas,r8a7778"; | 22 | compatible = "renesas,r8a7778"; |
21 | 23 | ||
@@ -25,6 +27,12 @@ | |||
25 | }; | 27 | }; |
26 | }; | 28 | }; |
27 | 29 | ||
30 | aliases { | ||
31 | spi0 = &hspi0; | ||
32 | spi1 = &hspi1; | ||
33 | spi2 = &hspi2; | ||
34 | }; | ||
35 | |||
28 | gic: interrupt-controller@fe438000 { | 36 | gic: interrupt-controller@fe438000 { |
29 | compatible = "arm,cortex-a9-gic"; | 37 | compatible = "arm,cortex-a9-gic"; |
30 | #interrupt-cells = <3>; | 38 | #interrupt-cells = <3>; |
@@ -35,7 +43,7 @@ | |||
35 | 43 | ||
36 | /* irqpin: IRQ0 - IRQ3 */ | 44 | /* irqpin: IRQ0 - IRQ3 */ |
37 | irqpin: irqpin@fe78001c { | 45 | irqpin: irqpin@fe78001c { |
38 | compatible = "renesas,intc-irqpin"; | 46 | compatible = "renesas,intc-irqpin-r8a7778", "renesas,intc-irqpin"; |
39 | #interrupt-cells = <2>; | 47 | #interrupt-cells = <2>; |
40 | interrupt-controller; | 48 | interrupt-controller; |
41 | status = "disabled"; /* default off */ | 49 | status = "disabled"; /* default off */ |
@@ -45,10 +53,10 @@ | |||
45 | <0xfe780044 4>, | 53 | <0xfe780044 4>, |
46 | <0xfe780064 4>; | 54 | <0xfe780064 4>; |
47 | interrupt-parent = <&gic>; | 55 | interrupt-parent = <&gic>; |
48 | interrupts = <0 27 0x4 | 56 | interrupts = <0 27 IRQ_TYPE_LEVEL_HIGH |
49 | 0 28 0x4 | 57 | 0 28 IRQ_TYPE_LEVEL_HIGH |
50 | 0 29 0x4 | 58 | 0 29 IRQ_TYPE_LEVEL_HIGH |
51 | 0 30 0x4>; | 59 | 0 30 IRQ_TYPE_LEVEL_HIGH>; |
52 | sense-bitfield-width = <2>; | 60 | sense-bitfield-width = <2>; |
53 | }; | 61 | }; |
54 | 62 | ||
@@ -56,7 +64,7 @@ | |||
56 | compatible = "renesas,gpio-r8a7778", "renesas,gpio-rcar"; | 64 | compatible = "renesas,gpio-r8a7778", "renesas,gpio-rcar"; |
57 | reg = <0xffc40000 0x2c>; | 65 | reg = <0xffc40000 0x2c>; |
58 | interrupt-parent = <&gic>; | 66 | interrupt-parent = <&gic>; |
59 | interrupts = <0 103 0x4>; | 67 | interrupts = <0 103 IRQ_TYPE_LEVEL_HIGH>; |
60 | #gpio-cells = <2>; | 68 | #gpio-cells = <2>; |
61 | gpio-controller; | 69 | gpio-controller; |
62 | gpio-ranges = <&pfc 0 0 32>; | 70 | gpio-ranges = <&pfc 0 0 32>; |
@@ -68,7 +76,7 @@ | |||
68 | compatible = "renesas,gpio-r8a7778", "renesas,gpio-rcar"; | 76 | compatible = "renesas,gpio-r8a7778", "renesas,gpio-rcar"; |
69 | reg = <0xffc41000 0x2c>; | 77 | reg = <0xffc41000 0x2c>; |
70 | interrupt-parent = <&gic>; | 78 | interrupt-parent = <&gic>; |
71 | interrupts = <0 103 0x4>; | 79 | interrupts = <0 103 IRQ_TYPE_LEVEL_HIGH>; |
72 | #gpio-cells = <2>; | 80 | #gpio-cells = <2>; |
73 | gpio-controller; | 81 | gpio-controller; |
74 | gpio-ranges = <&pfc 0 32 32>; | 82 | gpio-ranges = <&pfc 0 32 32>; |
@@ -80,7 +88,7 @@ | |||
80 | compatible = "renesas,gpio-r8a7778", "renesas,gpio-rcar"; | 88 | compatible = "renesas,gpio-r8a7778", "renesas,gpio-rcar"; |
81 | reg = <0xffc42000 0x2c>; | 89 | reg = <0xffc42000 0x2c>; |
82 | interrupt-parent = <&gic>; | 90 | interrupt-parent = <&gic>; |
83 | interrupts = <0 103 0x4>; | 91 | interrupts = <0 103 IRQ_TYPE_LEVEL_HIGH>; |
84 | #gpio-cells = <2>; | 92 | #gpio-cells = <2>; |
85 | gpio-controller; | 93 | gpio-controller; |
86 | gpio-ranges = <&pfc 0 64 32>; | 94 | gpio-ranges = <&pfc 0 64 32>; |
@@ -92,7 +100,7 @@ | |||
92 | compatible = "renesas,gpio-r8a7778", "renesas,gpio-rcar"; | 100 | compatible = "renesas,gpio-r8a7778", "renesas,gpio-rcar"; |
93 | reg = <0xffc43000 0x2c>; | 101 | reg = <0xffc43000 0x2c>; |
94 | interrupt-parent = <&gic>; | 102 | interrupt-parent = <&gic>; |
95 | interrupts = <0 103 0x4>; | 103 | interrupts = <0 103 IRQ_TYPE_LEVEL_HIGH>; |
96 | #gpio-cells = <2>; | 104 | #gpio-cells = <2>; |
97 | gpio-controller; | 105 | gpio-controller; |
98 | gpio-ranges = <&pfc 0 96 32>; | 106 | gpio-ranges = <&pfc 0 96 32>; |
@@ -104,7 +112,7 @@ | |||
104 | compatible = "renesas,gpio-r8a7778", "renesas,gpio-rcar"; | 112 | compatible = "renesas,gpio-r8a7778", "renesas,gpio-rcar"; |
105 | reg = <0xffc44000 0x2c>; | 113 | reg = <0xffc44000 0x2c>; |
106 | interrupt-parent = <&gic>; | 114 | interrupt-parent = <&gic>; |
107 | interrupts = <0 103 0x4>; | 115 | interrupts = <0 103 IRQ_TYPE_LEVEL_HIGH>; |
108 | #gpio-cells = <2>; | 116 | #gpio-cells = <2>; |
109 | gpio-controller; | 117 | gpio-controller; |
110 | gpio-ranges = <&pfc 0 128 27>; | 118 | gpio-ranges = <&pfc 0 128 27>; |
@@ -114,6 +122,148 @@ | |||
114 | 122 | ||
115 | pfc: pfc@fffc0000 { | 123 | pfc: pfc@fffc0000 { |
116 | compatible = "renesas,pfc-r8a7778"; | 124 | compatible = "renesas,pfc-r8a7778"; |
117 | reg = <0xfffc000 0x118>; | 125 | reg = <0xfffc0000 0x118>; |
126 | }; | ||
127 | |||
128 | i2c0: i2c@ffc70000 { | ||
129 | #address-cells = <1>; | ||
130 | #size-cells = <0>; | ||
131 | compatible = "renesas,i2c-r8a7778"; | ||
132 | reg = <0xffc70000 0x1000>; | ||
133 | interrupt-parent = <&gic>; | ||
134 | interrupts = <0 67 IRQ_TYPE_LEVEL_HIGH>; | ||
135 | status = "disabled"; | ||
136 | }; | ||
137 | |||
138 | i2c1: i2c@ffc71000 { | ||
139 | #address-cells = <1>; | ||
140 | #size-cells = <0>; | ||
141 | compatible = "renesas,i2c-r8a7778"; | ||
142 | reg = <0xffc71000 0x1000>; | ||
143 | interrupt-parent = <&gic>; | ||
144 | interrupts = <0 78 IRQ_TYPE_LEVEL_HIGH>; | ||
145 | status = "disabled"; | ||
146 | }; | ||
147 | |||
148 | i2c2: i2c@ffc72000 { | ||
149 | #address-cells = <1>; | ||
150 | #size-cells = <0>; | ||
151 | compatible = "renesas,i2c-r8a7778"; | ||
152 | reg = <0xffc72000 0x1000>; | ||
153 | interrupt-parent = <&gic>; | ||
154 | interrupts = <0 76 IRQ_TYPE_LEVEL_HIGH>; | ||
155 | status = "disabled"; | ||
156 | }; | ||
157 | |||
158 | i2c3: i2c@ffc73000 { | ||
159 | #address-cells = <1>; | ||
160 | #size-cells = <0>; | ||
161 | compatible = "renesas,i2c-r8a7778"; | ||
162 | reg = <0xffc73000 0x1000>; | ||
163 | interrupt-parent = <&gic>; | ||
164 | interrupts = <0 77 IRQ_TYPE_LEVEL_HIGH>; | ||
165 | status = "disabled"; | ||
166 | }; | ||
167 | |||
168 | mmcif: mmc@ffe4e000 { | ||
169 | compatible = "renesas,sh-mmcif"; | ||
170 | reg = <0xffe4e000 0x100>; | ||
171 | interrupt-parent = <&gic>; | ||
172 | interrupts = <0 61 IRQ_TYPE_LEVEL_HIGH>; | ||
173 | status = "disabled"; | ||
174 | }; | ||
175 | |||
176 | sdhi0: sd@ffe4c000 { | ||
177 | compatible = "renesas,sdhi-r8a7778"; | ||
178 | reg = <0xffe4c000 0x100>; | ||
179 | interrupt-parent = <&gic>; | ||
180 | interrupts = <0 87 IRQ_TYPE_LEVEL_HIGH>; | ||
181 | cap-sd-highspeed; | ||
182 | cap-sdio-irq; | ||
183 | status = "disabled"; | ||
184 | }; | ||
185 | |||
186 | sdhi1: sd@ffe4d000 { | ||
187 | compatible = "renesas,sdhi-r8a7778"; | ||
188 | reg = <0xffe4d000 0x100>; | ||
189 | interrupt-parent = <&gic>; | ||
190 | interrupts = <0 88 IRQ_TYPE_LEVEL_HIGH>; | ||
191 | cap-sd-highspeed; | ||
192 | cap-sdio-irq; | ||
193 | status = "disabled"; | ||
194 | }; | ||
195 | |||
196 | sdhi2: sd@ffe4f000 { | ||
197 | compatible = "renesas,sdhi-r8a7778"; | ||
198 | reg = <0xffe4f000 0x100>; | ||
199 | interrupt-parent = <&gic>; | ||
200 | interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>; | ||
201 | cap-sd-highspeed; | ||
202 | cap-sdio-irq; | ||
203 | status = "disabled"; | ||
204 | }; | ||
205 | |||
206 | i2c0: i2c@ffc70000 { | ||
207 | #address-cells = <1>; | ||
208 | #size-cells = <0>; | ||
209 | compatible = "renesas,i2c-r8a7778"; | ||
210 | reg = <0xffc70000 0x1000>; | ||
211 | interrupt-parent = <&gic>; | ||
212 | interrupts = <0 67 IRQ_TYPE_LEVEL_HIGH>; | ||
213 | status = "disabled"; | ||
214 | }; | ||
215 | |||
216 | i2c1: i2c@ffc71000 { | ||
217 | #address-cells = <1>; | ||
218 | #size-cells = <0>; | ||
219 | compatible = "renesas,i2c-r8a7778"; | ||
220 | reg = <0xffc71000 0x1000>; | ||
221 | interrupt-parent = <&gic>; | ||
222 | interrupts = <0 78 IRQ_TYPE_LEVEL_HIGH>; | ||
223 | status = "disabled"; | ||
224 | }; | ||
225 | |||
226 | i2c2: i2c@ffc72000 { | ||
227 | #address-cells = <1>; | ||
228 | #size-cells = <0>; | ||
229 | compatible = "renesas,i2c-r8a7778"; | ||
230 | reg = <0xffc72000 0x1000>; | ||
231 | interrupt-parent = <&gic>; | ||
232 | interrupts = <0 76 IRQ_TYPE_LEVEL_HIGH>; | ||
233 | status = "disabled"; | ||
234 | }; | ||
235 | |||
236 | i2c3: i2c@ffc73000 { | ||
237 | #address-cells = <1>; | ||
238 | #size-cells = <0>; | ||
239 | compatible = "renesas,i2c-r8a7778"; | ||
240 | reg = <0xffc73000 0x1000>; | ||
241 | interrupt-parent = <&gic>; | ||
242 | interrupts = <0 77 IRQ_TYPE_LEVEL_HIGH>; | ||
243 | status = "disabled"; | ||
244 | }; | ||
245 | |||
246 | hspi0: spi@fffc7000 { | ||
247 | compatible = "renesas,hspi"; | ||
248 | reg = <0xfffc7000 0x18>; | ||
249 | interrupt-controller = <&gic>; | ||
250 | interrupts = <0 63 IRQ_TYPE_LEVEL_HIGH>; | ||
251 | status = "disabled"; | ||
252 | }; | ||
253 | |||
254 | hspi1: spi@fffc8000 { | ||
255 | compatible = "renesas,hspi"; | ||
256 | reg = <0xfffc8000 0x18>; | ||
257 | interrupt-controller = <&gic>; | ||
258 | interrupts = <0 84 IRQ_TYPE_LEVEL_HIGH>; | ||
259 | status = "disabled"; | ||
260 | }; | ||
261 | |||
262 | hspi2: spi@fffc6000 { | ||
263 | compatible = "renesas,hspi"; | ||
264 | reg = <0xfffc6000 0x18>; | ||
265 | interrupt-controller = <&gic>; | ||
266 | interrupts = <0 85 IRQ_TYPE_LEVEL_HIGH>; | ||
267 | status = "disabled"; | ||
118 | }; | 268 | }; |
119 | }; | 269 | }; |
diff --git a/arch/arm/boot/dts/r8a7779-marzen-reference.dts b/arch/arm/boot/dts/r8a7779-marzen-reference.dts index ab4110aa3c3b..76f5eef7d1cc 100644 --- a/arch/arm/boot/dts/r8a7779-marzen-reference.dts +++ b/arch/arm/boot/dts/r8a7779-marzen-reference.dts | |||
@@ -10,8 +10,9 @@ | |||
10 | */ | 10 | */ |
11 | 11 | ||
12 | /dts-v1/; | 12 | /dts-v1/; |
13 | /include/ "r8a7779.dtsi" | 13 | #include "r8a7779.dtsi" |
14 | #include <dt-bindings/gpio/gpio.h> | 14 | #include <dt-bindings/gpio/gpio.h> |
15 | #include <dt-bindings/interrupt-controller/irq.h> | ||
15 | 16 | ||
16 | / { | 17 | / { |
17 | model = "marzen"; | 18 | model = "marzen"; |
@@ -43,7 +44,7 @@ | |||
43 | 44 | ||
44 | phy-mode = "mii"; | 45 | phy-mode = "mii"; |
45 | interrupt-parent = <&irqpin0>; | 46 | interrupt-parent = <&irqpin0>; |
46 | interrupts = <1 0>; /* IRQ1: hwirq 1 on irqpin0 */ | 47 | interrupts = <1 IRQ_TYPE_EDGE_FALLING>; |
47 | reg-io-width = <4>; | 48 | reg-io-width = <4>; |
48 | vddvario-supply = <&fixedregulator3v3>; | 49 | vddvario-supply = <&fixedregulator3v3>; |
49 | vdd33a-supply = <&fixedregulator3v3>; | 50 | vdd33a-supply = <&fixedregulator3v3>; |
@@ -68,7 +69,7 @@ | |||
68 | }; | 69 | }; |
69 | 70 | ||
70 | &pfc { | 71 | &pfc { |
71 | pinctrl-0 = <&scif2_pins &scif4_pins &sdhi0_pins>; | 72 | pinctrl-0 = <&scif2_pins &scif4_pins>; |
72 | pinctrl-names = "default"; | 73 | pinctrl-names = "default"; |
73 | 74 | ||
74 | lan0_pins: lan0 { | 75 | lan0_pins: lan0 { |
@@ -82,19 +83,38 @@ | |||
82 | }; | 83 | }; |
83 | }; | 84 | }; |
84 | 85 | ||
85 | scif2_pins: scif2 { | 86 | scif2_pins: serial2 { |
86 | renesas,groups = "scif2_data_c"; | 87 | renesas,groups = "scif2_data_c"; |
87 | renesas,function = "scif2"; | 88 | renesas,function = "scif2"; |
88 | }; | 89 | }; |
89 | 90 | ||
90 | scif4_pins: scif4 { | 91 | scif4_pins: serial4 { |
91 | renesas,groups = "scif4_data"; | 92 | renesas,groups = "scif4_data"; |
92 | renesas,function = "scif4"; | 93 | renesas,function = "scif4"; |
93 | }; | 94 | }; |
94 | 95 | ||
95 | sdhi0_pins: sdhi0 { | 96 | sdhi0_pins: sd0 { |
96 | renesas,groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_cd", | 97 | renesas,groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_cd"; |
97 | "sdhi0_wp"; | ||
98 | renesas,function = "sdhi0"; | 98 | renesas,function = "sdhi0"; |
99 | }; | 99 | }; |
100 | |||
101 | hspi0_pins: hspi0 { | ||
102 | renesas,groups = "hspi0"; | ||
103 | renesas,function = "hspi0"; | ||
104 | }; | ||
105 | }; | ||
106 | |||
107 | &sdhi0 { | ||
108 | pinctrl-0 = <&sdhi0_pins>; | ||
109 | pinctrl-names = "default"; | ||
110 | |||
111 | vmmc-supply = <&fixedregulator3v3>; | ||
112 | bus-width = <4>; | ||
113 | status = "okay"; | ||
114 | }; | ||
115 | |||
116 | &hspi0 { | ||
117 | pinctrl-0 = <&hspi0_pins>; | ||
118 | pinctrl-names = "default"; | ||
119 | status = "okay"; | ||
100 | }; | 120 | }; |
diff --git a/arch/arm/boot/dts/r8a7779-marzen.dts b/arch/arm/boot/dts/r8a7779-marzen.dts index f3f7f7999736..a7af2c2371f2 100644 --- a/arch/arm/boot/dts/r8a7779-marzen.dts +++ b/arch/arm/boot/dts/r8a7779-marzen.dts | |||
@@ -10,7 +10,7 @@ | |||
10 | */ | 10 | */ |
11 | 11 | ||
12 | /dts-v1/; | 12 | /dts-v1/; |
13 | /include/ "r8a7779.dtsi" | 13 | #include "r8a7779.dtsi" |
14 | 14 | ||
15 | / { | 15 | / { |
16 | model = "marzen"; | 16 | model = "marzen"; |
diff --git a/arch/arm/boot/dts/r8a7779.dtsi b/arch/arm/boot/dts/r8a7779.dtsi index 19faeac3fd2e..d0561d4c7c46 100644 --- a/arch/arm/boot/dts/r8a7779.dtsi +++ b/arch/arm/boot/dts/r8a7779.dtsi | |||
@@ -11,6 +11,8 @@ | |||
11 | 11 | ||
12 | /include/ "skeleton.dtsi" | 12 | /include/ "skeleton.dtsi" |
13 | 13 | ||
14 | #include <dt-bindings/interrupt-controller/irq.h> | ||
15 | |||
14 | / { | 16 | / { |
15 | compatible = "renesas,r8a7779"; | 17 | compatible = "renesas,r8a7779"; |
16 | 18 | ||
@@ -40,6 +42,12 @@ | |||
40 | }; | 42 | }; |
41 | }; | 43 | }; |
42 | 44 | ||
45 | aliases { | ||
46 | spi0 = &hspi0; | ||
47 | spi1 = &hspi1; | ||
48 | spi2 = &hspi2; | ||
49 | }; | ||
50 | |||
43 | gic: interrupt-controller@f0001000 { | 51 | gic: interrupt-controller@f0001000 { |
44 | compatible = "arm,cortex-a9-gic"; | 52 | compatible = "arm,cortex-a9-gic"; |
45 | #interrupt-cells = <3>; | 53 | #interrupt-cells = <3>; |
@@ -52,7 +60,7 @@ | |||
52 | compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar"; | 60 | compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar"; |
53 | reg = <0xffc40000 0x2c>; | 61 | reg = <0xffc40000 0x2c>; |
54 | interrupt-parent = <&gic>; | 62 | interrupt-parent = <&gic>; |
55 | interrupts = <0 141 0x4>; | 63 | interrupts = <0 141 IRQ_TYPE_LEVEL_HIGH>; |
56 | #gpio-cells = <2>; | 64 | #gpio-cells = <2>; |
57 | gpio-controller; | 65 | gpio-controller; |
58 | gpio-ranges = <&pfc 0 0 32>; | 66 | gpio-ranges = <&pfc 0 0 32>; |
@@ -64,7 +72,7 @@ | |||
64 | compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar"; | 72 | compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar"; |
65 | reg = <0xffc41000 0x2c>; | 73 | reg = <0xffc41000 0x2c>; |
66 | interrupt-parent = <&gic>; | 74 | interrupt-parent = <&gic>; |
67 | interrupts = <0 142 0x4>; | 75 | interrupts = <0 142 IRQ_TYPE_LEVEL_HIGH>; |
68 | #gpio-cells = <2>; | 76 | #gpio-cells = <2>; |
69 | gpio-controller; | 77 | gpio-controller; |
70 | gpio-ranges = <&pfc 0 32 32>; | 78 | gpio-ranges = <&pfc 0 32 32>; |
@@ -76,7 +84,7 @@ | |||
76 | compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar"; | 84 | compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar"; |
77 | reg = <0xffc42000 0x2c>; | 85 | reg = <0xffc42000 0x2c>; |
78 | interrupt-parent = <&gic>; | 86 | interrupt-parent = <&gic>; |
79 | interrupts = <0 143 0x4>; | 87 | interrupts = <0 143 IRQ_TYPE_LEVEL_HIGH>; |
80 | #gpio-cells = <2>; | 88 | #gpio-cells = <2>; |
81 | gpio-controller; | 89 | gpio-controller; |
82 | gpio-ranges = <&pfc 0 64 32>; | 90 | gpio-ranges = <&pfc 0 64 32>; |
@@ -88,7 +96,7 @@ | |||
88 | compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar"; | 96 | compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar"; |
89 | reg = <0xffc43000 0x2c>; | 97 | reg = <0xffc43000 0x2c>; |
90 | interrupt-parent = <&gic>; | 98 | interrupt-parent = <&gic>; |
91 | interrupts = <0 144 0x4>; | 99 | interrupts = <0 144 IRQ_TYPE_LEVEL_HIGH>; |
92 | #gpio-cells = <2>; | 100 | #gpio-cells = <2>; |
93 | gpio-controller; | 101 | gpio-controller; |
94 | gpio-ranges = <&pfc 0 96 32>; | 102 | gpio-ranges = <&pfc 0 96 32>; |
@@ -100,7 +108,7 @@ | |||
100 | compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar"; | 108 | compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar"; |
101 | reg = <0xffc44000 0x2c>; | 109 | reg = <0xffc44000 0x2c>; |
102 | interrupt-parent = <&gic>; | 110 | interrupt-parent = <&gic>; |
103 | interrupts = <0 145 0x4>; | 111 | interrupts = <0 145 IRQ_TYPE_LEVEL_HIGH>; |
104 | #gpio-cells = <2>; | 112 | #gpio-cells = <2>; |
105 | gpio-controller; | 113 | gpio-controller; |
106 | gpio-ranges = <&pfc 0 128 32>; | 114 | gpio-ranges = <&pfc 0 128 32>; |
@@ -112,7 +120,7 @@ | |||
112 | compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar"; | 120 | compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar"; |
113 | reg = <0xffc45000 0x2c>; | 121 | reg = <0xffc45000 0x2c>; |
114 | interrupt-parent = <&gic>; | 122 | interrupt-parent = <&gic>; |
115 | interrupts = <0 146 0x4>; | 123 | interrupts = <0 146 IRQ_TYPE_LEVEL_HIGH>; |
116 | #gpio-cells = <2>; | 124 | #gpio-cells = <2>; |
117 | gpio-controller; | 125 | gpio-controller; |
118 | gpio-ranges = <&pfc 0 160 32>; | 126 | gpio-ranges = <&pfc 0 160 32>; |
@@ -124,7 +132,7 @@ | |||
124 | compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar"; | 132 | compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar"; |
125 | reg = <0xffc46000 0x2c>; | 133 | reg = <0xffc46000 0x2c>; |
126 | interrupt-parent = <&gic>; | 134 | interrupt-parent = <&gic>; |
127 | interrupts = <0 147 0x4>; | 135 | interrupts = <0 147 IRQ_TYPE_LEVEL_HIGH>; |
128 | #gpio-cells = <2>; | 136 | #gpio-cells = <2>; |
129 | gpio-controller; | 137 | gpio-controller; |
130 | gpio-ranges = <&pfc 0 192 9>; | 138 | gpio-ranges = <&pfc 0 192 9>; |
@@ -133,7 +141,7 @@ | |||
133 | }; | 141 | }; |
134 | 142 | ||
135 | irqpin0: irqpin@fe780010 { | 143 | irqpin0: irqpin@fe780010 { |
136 | compatible = "renesas,intc-irqpin"; | 144 | compatible = "renesas,intc-irqpin-r8a7779", "renesas,intc-irqpin"; |
137 | #interrupt-cells = <2>; | 145 | #interrupt-cells = <2>; |
138 | status = "disabled"; | 146 | status = "disabled"; |
139 | interrupt-controller; | 147 | interrupt-controller; |
@@ -143,50 +151,50 @@ | |||
143 | <0xfe780044 4>, | 151 | <0xfe780044 4>, |
144 | <0xfe780064 4>; | 152 | <0xfe780064 4>; |
145 | interrupt-parent = <&gic>; | 153 | interrupt-parent = <&gic>; |
146 | interrupts = <0 27 0x4 | 154 | interrupts = <0 27 IRQ_TYPE_LEVEL_HIGH |
147 | 0 28 0x4 | 155 | 0 28 IRQ_TYPE_LEVEL_HIGH |
148 | 0 29 0x4 | 156 | 0 29 IRQ_TYPE_LEVEL_HIGH |
149 | 0 30 0x4>; | 157 | 0 30 IRQ_TYPE_LEVEL_HIGH>; |
150 | sense-bitfield-width = <2>; | 158 | sense-bitfield-width = <2>; |
151 | }; | 159 | }; |
152 | 160 | ||
153 | i2c0: i2c@ffc70000 { | 161 | i2c0: i2c@ffc70000 { |
154 | #address-cells = <1>; | 162 | #address-cells = <1>; |
155 | #size-cells = <0>; | 163 | #size-cells = <0>; |
156 | compatible = "renesas,rmobile-iic"; | 164 | compatible = "renesas,i2c-r8a7779"; |
157 | reg = <0xffc70000 0x1000>; | 165 | reg = <0xffc70000 0x1000>; |
158 | interrupt-parent = <&gic>; | 166 | interrupt-parent = <&gic>; |
159 | interrupts = <0 79 0x4>; | 167 | interrupts = <0 79 IRQ_TYPE_LEVEL_HIGH>; |
160 | status = "disabled"; | 168 | status = "disabled"; |
161 | }; | 169 | }; |
162 | 170 | ||
163 | i2c1: i2c@ffc71000 { | 171 | i2c1: i2c@ffc71000 { |
164 | #address-cells = <1>; | 172 | #address-cells = <1>; |
165 | #size-cells = <0>; | 173 | #size-cells = <0>; |
166 | compatible = "renesas,rmobile-iic"; | 174 | compatible = "renesas,i2c-r8a7779"; |
167 | reg = <0xffc71000 0x1000>; | 175 | reg = <0xffc71000 0x1000>; |
168 | interrupt-parent = <&gic>; | 176 | interrupt-parent = <&gic>; |
169 | interrupts = <0 82 0x4>; | 177 | interrupts = <0 82 IRQ_TYPE_LEVEL_HIGH>; |
170 | status = "disabled"; | 178 | status = "disabled"; |
171 | }; | 179 | }; |
172 | 180 | ||
173 | i2c2: i2c@ffc72000 { | 181 | i2c2: i2c@ffc72000 { |
174 | #address-cells = <1>; | 182 | #address-cells = <1>; |
175 | #size-cells = <0>; | 183 | #size-cells = <0>; |
176 | compatible = "renesas,rmobile-iic"; | 184 | compatible = "renesas,i2c-r8a7779"; |
177 | reg = <0xffc72000 0x1000>; | 185 | reg = <0xffc72000 0x1000>; |
178 | interrupt-parent = <&gic>; | 186 | interrupt-parent = <&gic>; |
179 | interrupts = <0 80 0x4>; | 187 | interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>; |
180 | status = "disabled"; | 188 | status = "disabled"; |
181 | }; | 189 | }; |
182 | 190 | ||
183 | i2c3: i2c@ffc73000 { | 191 | i2c3: i2c@ffc73000 { |
184 | #address-cells = <1>; | 192 | #address-cells = <1>; |
185 | #size-cells = <0>; | 193 | #size-cells = <0>; |
186 | compatible = "renesas,rmobile-iic"; | 194 | compatible = "renesas,i2c-r8a7779"; |
187 | reg = <0xffc73000 0x1000>; | 195 | reg = <0xffc73000 0x1000>; |
188 | interrupt-parent = <&gic>; | 196 | interrupt-parent = <&gic>; |
189 | interrupts = <0 81 0x4>; | 197 | interrupts = <0 81 IRQ_TYPE_LEVEL_HIGH>; |
190 | status = "disabled"; | 198 | status = "disabled"; |
191 | }; | 199 | }; |
192 | 200 | ||
@@ -204,6 +212,70 @@ | |||
204 | compatible = "renesas,rcar-sata"; | 212 | compatible = "renesas,rcar-sata"; |
205 | reg = <0xfc600000 0x2000>; | 213 | reg = <0xfc600000 0x2000>; |
206 | interrupt-parent = <&gic>; | 214 | interrupt-parent = <&gic>; |
207 | interrupts = <0 100 0x4>; | 215 | interrupts = <0 100 IRQ_TYPE_LEVEL_HIGH>; |
216 | }; | ||
217 | |||
218 | sdhi0: sd@ffe4c000 { | ||
219 | compatible = "renesas,sdhi-r8a7779"; | ||
220 | reg = <0xffe4c000 0x100>; | ||
221 | interrupt-parent = <&gic>; | ||
222 | interrupts = <0 104 IRQ_TYPE_LEVEL_HIGH>; | ||
223 | cap-sd-highspeed; | ||
224 | cap-sdio-irq; | ||
225 | status = "disabled"; | ||
226 | }; | ||
227 | |||
228 | sdhi1: sd@ffe4d000 { | ||
229 | compatible = "renesas,sdhi-r8a7779"; | ||
230 | reg = <0xffe4d000 0x100>; | ||
231 | interrupt-parent = <&gic>; | ||
232 | interrupts = <0 105 IRQ_TYPE_LEVEL_HIGH>; | ||
233 | cap-sd-highspeed; | ||
234 | cap-sdio-irq; | ||
235 | status = "disabled"; | ||
236 | }; | ||
237 | |||
238 | sdhi2: sd@ffe4e000 { | ||
239 | compatible = "renesas,sdhi-r8a7779"; | ||
240 | reg = <0xffe4e000 0x100>; | ||
241 | interrupt-parent = <&gic>; | ||
242 | interrupts = <0 107 IRQ_TYPE_LEVEL_HIGH>; | ||
243 | cap-sd-highspeed; | ||
244 | cap-sdio-irq; | ||
245 | status = "disabled"; | ||
246 | }; | ||
247 | |||
248 | sdhi3: sd@ffe4f000 { | ||
249 | compatible = "renesas,sdhi-r8a7779"; | ||
250 | reg = <0xffe4f000 0x100>; | ||
251 | interrupt-parent = <&gic>; | ||
252 | interrupts = <0 106 IRQ_TYPE_LEVEL_HIGH>; | ||
253 | cap-sd-highspeed; | ||
254 | cap-sdio-irq; | ||
255 | status = "disabled"; | ||
256 | }; | ||
257 | |||
258 | hspi0: spi@fffc7000 { | ||
259 | compatible = "renesas,hspi"; | ||
260 | reg = <0xfffc7000 0x18>; | ||
261 | interrupt-controller = <&gic>; | ||
262 | interrupts = <0 73 IRQ_TYPE_LEVEL_HIGH>; | ||
263 | status = "disabled"; | ||
264 | }; | ||
265 | |||
266 | hspi1: spi@fffc8000 { | ||
267 | compatible = "renesas,hspi"; | ||
268 | reg = <0xfffc8000 0x18>; | ||
269 | interrupt-controller = <&gic>; | ||
270 | interrupts = <0 74 IRQ_TYPE_LEVEL_HIGH>; | ||
271 | status = "disabled"; | ||
272 | }; | ||
273 | |||
274 | hspi2: spi@fffc6000 { | ||
275 | compatible = "renesas,hspi"; | ||
276 | reg = <0xfffc6000 0x18>; | ||
277 | interrupt-controller = <&gic>; | ||
278 | interrupts = <0 75 IRQ_TYPE_LEVEL_HIGH>; | ||
279 | status = "disabled"; | ||
208 | }; | 280 | }; |
209 | }; | 281 | }; |
diff --git a/arch/arm/boot/dts/r8a7790-lager-reference.dts b/arch/arm/boot/dts/r8a7790-lager-reference.dts index c462ef138922..dfedc0ea82e1 100644 --- a/arch/arm/boot/dts/r8a7790-lager-reference.dts +++ b/arch/arm/boot/dts/r8a7790-lager-reference.dts | |||
@@ -9,7 +9,7 @@ | |||
9 | */ | 9 | */ |
10 | 10 | ||
11 | /dts-v1/; | 11 | /dts-v1/; |
12 | /include/ "r8a7790.dtsi" | 12 | #include "r8a7790.dtsi" |
13 | #include <dt-bindings/gpio/gpio.h> | 13 | #include <dt-bindings/gpio/gpio.h> |
14 | 14 | ||
15 | / { | 15 | / { |
@@ -25,6 +25,11 @@ | |||
25 | reg = <0 0x40000000 0 0x80000000>; | 25 | reg = <0 0x40000000 0 0x80000000>; |
26 | }; | 26 | }; |
27 | 27 | ||
28 | memory@180000000 { | ||
29 | device_type = "memory"; | ||
30 | reg = <1 0x80000000 0 0x80000000>; | ||
31 | }; | ||
32 | |||
28 | lbsc { | 33 | lbsc { |
29 | #address-cells = <1>; | 34 | #address-cells = <1>; |
30 | #size-cells = <1>; | 35 | #size-cells = <1>; |
@@ -42,4 +47,43 @@ | |||
42 | gpios = <&gpio5 17 GPIO_ACTIVE_HIGH>; | 47 | gpios = <&gpio5 17 GPIO_ACTIVE_HIGH>; |
43 | }; | 48 | }; |
44 | }; | 49 | }; |
50 | |||
51 | fixedregulator3v3: fixedregulator@0 { | ||
52 | compatible = "regulator-fixed"; | ||
53 | regulator-name = "fixed-3.3V"; | ||
54 | regulator-min-microvolt = <3300000>; | ||
55 | regulator-max-microvolt = <3300000>; | ||
56 | regulator-boot-on; | ||
57 | regulator-always-on; | ||
58 | }; | ||
59 | }; | ||
60 | |||
61 | &pfc { | ||
62 | pinctrl-0 = <&scif0_pins &scif1_pins>; | ||
63 | pinctrl-names = "default"; | ||
64 | |||
65 | scif0_pins: serial0 { | ||
66 | renesas,groups = "scif0_data"; | ||
67 | renesas,function = "scif0"; | ||
68 | }; | ||
69 | |||
70 | scif1_pins: serial1 { | ||
71 | renesas,groups = "scif1_data"; | ||
72 | renesas,function = "scif1"; | ||
73 | }; | ||
74 | |||
75 | mmc1_pins: mmc1 { | ||
76 | renesas,groups = "mmc1_data8", "mmc1_ctrl"; | ||
77 | renesas,function = "mmc1"; | ||
78 | }; | ||
79 | }; | ||
80 | |||
81 | &mmcif1 { | ||
82 | pinctrl-0 = <&mmc1_pins>; | ||
83 | pinctrl-names = "default"; | ||
84 | |||
85 | vmmc-supply = <&fixedregulator3v3>; | ||
86 | bus-width = <8>; | ||
87 | non-removable; | ||
88 | status = "okay"; | ||
45 | }; | 89 | }; |
diff --git a/arch/arm/boot/dts/r8a7790-lager.dts b/arch/arm/boot/dts/r8a7790-lager.dts index 203bd089af29..10e6a08164e5 100644 --- a/arch/arm/boot/dts/r8a7790-lager.dts +++ b/arch/arm/boot/dts/r8a7790-lager.dts | |||
@@ -9,7 +9,7 @@ | |||
9 | */ | 9 | */ |
10 | 10 | ||
11 | /dts-v1/; | 11 | /dts-v1/; |
12 | /include/ "r8a7790.dtsi" | 12 | #include "r8a7790.dtsi" |
13 | 13 | ||
14 | / { | 14 | / { |
15 | model = "Lager"; | 15 | model = "Lager"; |
@@ -24,6 +24,11 @@ | |||
24 | reg = <0 0x40000000 0 0x80000000>; | 24 | reg = <0 0x40000000 0 0x80000000>; |
25 | }; | 25 | }; |
26 | 26 | ||
27 | memory@180000000 { | ||
28 | device_type = "memory"; | ||
29 | reg = <1 0x80000000 0 0x80000000>; | ||
30 | }; | ||
31 | |||
27 | lbsc { | 32 | lbsc { |
28 | #address-cells = <1>; | 33 | #address-cells = <1>; |
29 | #size-cells = <1>; | 34 | #size-cells = <1>; |
diff --git a/arch/arm/boot/dts/r8a7790.dtsi b/arch/arm/boot/dts/r8a7790.dtsi index ee845fad939b..0e4d5b57c48b 100644 --- a/arch/arm/boot/dts/r8a7790.dtsi +++ b/arch/arm/boot/dts/r8a7790.dtsi | |||
@@ -8,6 +8,9 @@ | |||
8 | * kind, whether express or implied. | 8 | * kind, whether express or implied. |
9 | */ | 9 | */ |
10 | 10 | ||
11 | #include <dt-bindings/interrupt-controller/arm-gic.h> | ||
12 | #include <dt-bindings/interrupt-controller/irq.h> | ||
13 | |||
11 | / { | 14 | / { |
12 | compatible = "renesas,r8a7790"; | 15 | compatible = "renesas,r8a7790"; |
13 | interrupt-parent = <&gic>; | 16 | interrupt-parent = <&gic>; |
@@ -84,14 +87,14 @@ | |||
84 | <0 0xf1002000 0 0x1000>, | 87 | <0 0xf1002000 0 0x1000>, |
85 | <0 0xf1004000 0 0x2000>, | 88 | <0 0xf1004000 0 0x2000>, |
86 | <0 0xf1006000 0 0x2000>; | 89 | <0 0xf1006000 0 0x2000>; |
87 | interrupts = <1 9 0xf04>; | 90 | interrupts = <1 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; |
88 | }; | 91 | }; |
89 | 92 | ||
90 | gpio0: gpio@ffc40000 { | 93 | gpio0: gpio@ffc40000 { |
91 | compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar"; | 94 | compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar"; |
92 | reg = <0 0xffc40000 0 0x2c>; | 95 | reg = <0 0xffc40000 0 0x2c>; |
93 | interrupt-parent = <&gic>; | 96 | interrupt-parent = <&gic>; |
94 | interrupts = <0 4 0x4>; | 97 | interrupts = <0 4 IRQ_TYPE_LEVEL_HIGH>; |
95 | #gpio-cells = <2>; | 98 | #gpio-cells = <2>; |
96 | gpio-controller; | 99 | gpio-controller; |
97 | gpio-ranges = <&pfc 0 0 32>; | 100 | gpio-ranges = <&pfc 0 0 32>; |
@@ -103,7 +106,7 @@ | |||
103 | compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar"; | 106 | compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar"; |
104 | reg = <0 0xffc41000 0 0x2c>; | 107 | reg = <0 0xffc41000 0 0x2c>; |
105 | interrupt-parent = <&gic>; | 108 | interrupt-parent = <&gic>; |
106 | interrupts = <0 5 0x4>; | 109 | interrupts = <0 5 IRQ_TYPE_LEVEL_HIGH>; |
107 | #gpio-cells = <2>; | 110 | #gpio-cells = <2>; |
108 | gpio-controller; | 111 | gpio-controller; |
109 | gpio-ranges = <&pfc 0 32 32>; | 112 | gpio-ranges = <&pfc 0 32 32>; |
@@ -115,7 +118,7 @@ | |||
115 | compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar"; | 118 | compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar"; |
116 | reg = <0 0xffc42000 0 0x2c>; | 119 | reg = <0 0xffc42000 0 0x2c>; |
117 | interrupt-parent = <&gic>; | 120 | interrupt-parent = <&gic>; |
118 | interrupts = <0 6 0x4>; | 121 | interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>; |
119 | #gpio-cells = <2>; | 122 | #gpio-cells = <2>; |
120 | gpio-controller; | 123 | gpio-controller; |
121 | gpio-ranges = <&pfc 0 64 32>; | 124 | gpio-ranges = <&pfc 0 64 32>; |
@@ -127,7 +130,7 @@ | |||
127 | compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar"; | 130 | compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar"; |
128 | reg = <0 0xffc43000 0 0x2c>; | 131 | reg = <0 0xffc43000 0 0x2c>; |
129 | interrupt-parent = <&gic>; | 132 | interrupt-parent = <&gic>; |
130 | interrupts = <0 7 0x4>; | 133 | interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>; |
131 | #gpio-cells = <2>; | 134 | #gpio-cells = <2>; |
132 | gpio-controller; | 135 | gpio-controller; |
133 | gpio-ranges = <&pfc 0 96 32>; | 136 | gpio-ranges = <&pfc 0 96 32>; |
@@ -139,7 +142,7 @@ | |||
139 | compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar"; | 142 | compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar"; |
140 | reg = <0 0xffc44000 0 0x2c>; | 143 | reg = <0 0xffc44000 0 0x2c>; |
141 | interrupt-parent = <&gic>; | 144 | interrupt-parent = <&gic>; |
142 | interrupts = <0 8 0x4>; | 145 | interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>; |
143 | #gpio-cells = <2>; | 146 | #gpio-cells = <2>; |
144 | gpio-controller; | 147 | gpio-controller; |
145 | gpio-ranges = <&pfc 0 128 32>; | 148 | gpio-ranges = <&pfc 0 128 32>; |
@@ -151,7 +154,7 @@ | |||
151 | compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar"; | 154 | compatible = "renesas,gpio-r8a7790", "renesas,gpio-rcar"; |
152 | reg = <0 0xffc45000 0 0x2c>; | 155 | reg = <0 0xffc45000 0 0x2c>; |
153 | interrupt-parent = <&gic>; | 156 | interrupt-parent = <&gic>; |
154 | interrupts = <0 9 0x4>; | 157 | interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH>; |
155 | #gpio-cells = <2>; | 158 | #gpio-cells = <2>; |
156 | gpio-controller; | 159 | gpio-controller; |
157 | gpio-ranges = <&pfc 0 160 32>; | 160 | gpio-ranges = <&pfc 0 160 32>; |
@@ -159,21 +162,31 @@ | |||
159 | interrupt-controller; | 162 | interrupt-controller; |
160 | }; | 163 | }; |
161 | 164 | ||
165 | thermal@e61f0000 { | ||
166 | compatible = "renesas,thermal-r8a7790", "renesas,rcar-thermal"; | ||
167 | reg = <0 0xe61f0000 0 0x14>, <0 0xe61f0100 0 0x38>; | ||
168 | interrupt-parent = <&gic>; | ||
169 | interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>; | ||
170 | }; | ||
171 | |||
162 | timer { | 172 | timer { |
163 | compatible = "arm,armv7-timer"; | 173 | compatible = "arm,armv7-timer"; |
164 | interrupts = <1 13 0xf08>, | 174 | interrupts = <1 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, |
165 | <1 14 0xf08>, | 175 | <1 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, |
166 | <1 11 0xf08>, | 176 | <1 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, |
167 | <1 10 0xf08>; | 177 | <1 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; |
168 | }; | 178 | }; |
169 | 179 | ||
170 | irqc0: interrupt-controller@e61c0000 { | 180 | irqc0: interrupt-controller@e61c0000 { |
171 | compatible = "renesas,irqc"; | 181 | compatible = "renesas,irqc-r8a7790", "renesas,irqc"; |
172 | #interrupt-cells = <2>; | 182 | #interrupt-cells = <2>; |
173 | interrupt-controller; | 183 | interrupt-controller; |
174 | reg = <0 0xe61c0000 0 0x200>; | 184 | reg = <0 0xe61c0000 0 0x200>; |
175 | interrupt-parent = <&gic>; | 185 | interrupt-parent = <&gic>; |
176 | interrupts = <0 0 4>, <0 1 4>, <0 2 4>, <0 3 4>; | 186 | interrupts = <0 0 IRQ_TYPE_LEVEL_HIGH>, |
187 | <0 1 IRQ_TYPE_LEVEL_HIGH>, | ||
188 | <0 2 IRQ_TYPE_LEVEL_HIGH>, | ||
189 | <0 3 IRQ_TYPE_LEVEL_HIGH>; | ||
177 | }; | 190 | }; |
178 | 191 | ||
179 | i2c0: i2c@e6508000 { | 192 | i2c0: i2c@e6508000 { |
@@ -182,7 +195,7 @@ | |||
182 | compatible = "renesas,i2c-r8a7790"; | 195 | compatible = "renesas,i2c-r8a7790"; |
183 | reg = <0 0xe6508000 0 0x40>; | 196 | reg = <0 0xe6508000 0 0x40>; |
184 | interrupt-parent = <&gic>; | 197 | interrupt-parent = <&gic>; |
185 | interrupts = <0 287 0x4>; | 198 | interrupts = <0 287 IRQ_TYPE_LEVEL_HIGH>; |
186 | status = "disabled"; | 199 | status = "disabled"; |
187 | }; | 200 | }; |
188 | 201 | ||
@@ -192,7 +205,7 @@ | |||
192 | compatible = "renesas,i2c-r8a7790"; | 205 | compatible = "renesas,i2c-r8a7790"; |
193 | reg = <0 0xe6518000 0 0x40>; | 206 | reg = <0 0xe6518000 0 0x40>; |
194 | interrupt-parent = <&gic>; | 207 | interrupt-parent = <&gic>; |
195 | interrupts = <0 288 0x4>; | 208 | interrupts = <0 288 IRQ_TYPE_LEVEL_HIGH>; |
196 | status = "disabled"; | 209 | status = "disabled"; |
197 | }; | 210 | }; |
198 | 211 | ||
@@ -202,7 +215,7 @@ | |||
202 | compatible = "renesas,i2c-r8a7790"; | 215 | compatible = "renesas,i2c-r8a7790"; |
203 | reg = <0 0xe6530000 0 0x40>; | 216 | reg = <0 0xe6530000 0 0x40>; |
204 | interrupt-parent = <&gic>; | 217 | interrupt-parent = <&gic>; |
205 | interrupts = <0 286 0x4>; | 218 | interrupts = <0 286 IRQ_TYPE_LEVEL_HIGH>; |
206 | status = "disabled"; | 219 | status = "disabled"; |
207 | }; | 220 | }; |
208 | 221 | ||
@@ -212,24 +225,24 @@ | |||
212 | compatible = "renesas,i2c-r8a7790"; | 225 | compatible = "renesas,i2c-r8a7790"; |
213 | reg = <0 0xe6540000 0 0x40>; | 226 | reg = <0 0xe6540000 0 0x40>; |
214 | interrupt-parent = <&gic>; | 227 | interrupt-parent = <&gic>; |
215 | interrupts = <0 290 0x4>; | 228 | interrupts = <0 290 IRQ_TYPE_LEVEL_HIGH>; |
216 | status = "disabled"; | 229 | status = "disabled"; |
217 | }; | 230 | }; |
218 | 231 | ||
219 | mmcif0: mmcif@ee200000 { | 232 | mmcif0: mmcif@ee200000 { |
220 | compatible = "renesas,sh-mmcif"; | 233 | compatible = "renesas,mmcif-r8a7790", "renesas,sh-mmcif"; |
221 | reg = <0 0xee200000 0 0x80>; | 234 | reg = <0 0xee200000 0 0x80>; |
222 | interrupt-parent = <&gic>; | 235 | interrupt-parent = <&gic>; |
223 | interrupts = <0 169 0x4>; | 236 | interrupts = <0 169 IRQ_TYPE_LEVEL_HIGH>; |
224 | reg-io-width = <4>; | 237 | reg-io-width = <4>; |
225 | status = "disabled"; | 238 | status = "disabled"; |
226 | }; | 239 | }; |
227 | 240 | ||
228 | mmcif1: mmcif@ee220000 { | 241 | mmcif1: mmc@ee220000 { |
229 | compatible = "renesas,sh-mmcif"; | 242 | compatible = "renesas,mmcif-r8a7790", "renesas,sh-mmcif"; |
230 | reg = <0 0xee220000 0 0x80>; | 243 | reg = <0 0xee220000 0 0x80>; |
231 | interrupt-parent = <&gic>; | 244 | interrupt-parent = <&gic>; |
232 | interrupts = <0 170 0x4>; | 245 | interrupts = <0 170 IRQ_TYPE_LEVEL_HIGH>; |
233 | reg-io-width = <4>; | 246 | reg-io-width = <4>; |
234 | status = "disabled"; | 247 | status = "disabled"; |
235 | }; | 248 | }; |
@@ -239,38 +252,38 @@ | |||
239 | reg = <0 0xe6060000 0 0x250>; | 252 | reg = <0 0xe6060000 0 0x250>; |
240 | }; | 253 | }; |
241 | 254 | ||
242 | sdhi0: sdhi@ee100000 { | 255 | sdhi0: sd@ee100000 { |
243 | compatible = "renesas,sdhi-r8a7790"; | 256 | compatible = "renesas,sdhi-r8a7790"; |
244 | reg = <0 0xee100000 0 0x100>; | 257 | reg = <0 0xee100000 0 0x100>; |
245 | interrupt-parent = <&gic>; | 258 | interrupt-parent = <&gic>; |
246 | interrupts = <0 165 4>; | 259 | interrupts = <0 165 IRQ_TYPE_LEVEL_HIGH>; |
247 | cap-sd-highspeed; | 260 | cap-sd-highspeed; |
248 | status = "disabled"; | 261 | status = "disabled"; |
249 | }; | 262 | }; |
250 | 263 | ||
251 | sdhi1: sdhi@ee120000 { | 264 | sdhi1: sd@ee120000 { |
252 | compatible = "renesas,sdhi-r8a7790"; | 265 | compatible = "renesas,sdhi-r8a7790"; |
253 | reg = <0 0xee120000 0 0x100>; | 266 | reg = <0 0xee120000 0 0x100>; |
254 | interrupt-parent = <&gic>; | 267 | interrupt-parent = <&gic>; |
255 | interrupts = <0 166 4>; | 268 | interrupts = <0 166 IRQ_TYPE_LEVEL_HIGH>; |
256 | cap-sd-highspeed; | 269 | cap-sd-highspeed; |
257 | status = "disabled"; | 270 | status = "disabled"; |
258 | }; | 271 | }; |
259 | 272 | ||
260 | sdhi2: sdhi@ee140000 { | 273 | sdhi2: sd@ee140000 { |
261 | compatible = "renesas,sdhi-r8a7790"; | 274 | compatible = "renesas,sdhi-r8a7790"; |
262 | reg = <0 0xee140000 0 0x100>; | 275 | reg = <0 0xee140000 0 0x100>; |
263 | interrupt-parent = <&gic>; | 276 | interrupt-parent = <&gic>; |
264 | interrupts = <0 167 4>; | 277 | interrupts = <0 167 IRQ_TYPE_LEVEL_HIGH>; |
265 | cap-sd-highspeed; | 278 | cap-sd-highspeed; |
266 | status = "disabled"; | 279 | status = "disabled"; |
267 | }; | 280 | }; |
268 | 281 | ||
269 | sdhi3: sdhi@ee160000 { | 282 | sdhi3: sd@ee160000 { |
270 | compatible = "renesas,sdhi-r8a7790"; | 283 | compatible = "renesas,sdhi-r8a7790"; |
271 | reg = <0 0xee160000 0 0x100>; | 284 | reg = <0 0xee160000 0 0x100>; |
272 | interrupt-parent = <&gic>; | 285 | interrupt-parent = <&gic>; |
273 | interrupts = <0 168 4>; | 286 | interrupts = <0 168 IRQ_TYPE_LEVEL_HIGH>; |
274 | cap-sd-highspeed; | 287 | cap-sd-highspeed; |
275 | status = "disabled"; | 288 | status = "disabled"; |
276 | }; | 289 | }; |
diff --git a/arch/arm/boot/dts/r8a7791-koelsch-reference.dts b/arch/arm/boot/dts/r8a7791-koelsch-reference.dts new file mode 100644 index 000000000000..19192731c24a --- /dev/null +++ b/arch/arm/boot/dts/r8a7791-koelsch-reference.dts | |||
@@ -0,0 +1,61 @@ | |||
1 | /* | ||
2 | * Device Tree Source for the Koelsch board | ||
3 | * | ||
4 | * Copyright (C) 2013 Renesas Electronics Corporation | ||
5 | * Copyright (C) 2013 Renesas Solutions Corp. | ||
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 "r8a7791.dtsi" | ||
14 | #include <dt-bindings/gpio/gpio.h> | ||
15 | |||
16 | / { | ||
17 | model = "Koelsch"; | ||
18 | compatible = "renesas,koelsch-reference", "renesas,r8a7791"; | ||
19 | |||
20 | chosen { | ||
21 | bootargs = "console=ttySC6,115200 ignore_loglevel rw root=/dev/nfs ip=dhcp"; | ||
22 | }; | ||
23 | |||
24 | memory@40000000 { | ||
25 | device_type = "memory"; | ||
26 | reg = <0 0x40000000 0 0x80000000>; | ||
27 | }; | ||
28 | |||
29 | lbsc { | ||
30 | #address-cells = <1>; | ||
31 | #size-cells = <1>; | ||
32 | }; | ||
33 | |||
34 | leds { | ||
35 | compatible = "gpio-leds"; | ||
36 | led6 { | ||
37 | gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>; | ||
38 | }; | ||
39 | led7 { | ||
40 | gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>; | ||
41 | }; | ||
42 | led8 { | ||
43 | gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>; | ||
44 | }; | ||
45 | }; | ||
46 | }; | ||
47 | |||
48 | &pfc { | ||
49 | pinctrl-0 = <&scif0_pins &scif1_pins>; | ||
50 | pinctrl-names = "default"; | ||
51 | |||
52 | scif0_pins: serial0 { | ||
53 | renesas,groups = "scif0_data_d"; | ||
54 | renesas,function = "scif0"; | ||
55 | }; | ||
56 | |||
57 | scif1_pins: serial1 { | ||
58 | renesas,groups = "scif1_data_d"; | ||
59 | renesas,function = "scif1"; | ||
60 | }; | ||
61 | }; | ||
diff --git a/arch/arm/boot/dts/r8a7791-koelsch.dts b/arch/arm/boot/dts/r8a7791-koelsch.dts index 1ce5250ec278..c4e8b3a0cd13 100644 --- a/arch/arm/boot/dts/r8a7791-koelsch.dts +++ b/arch/arm/boot/dts/r8a7791-koelsch.dts | |||
@@ -10,7 +10,7 @@ | |||
10 | */ | 10 | */ |
11 | 11 | ||
12 | /dts-v1/; | 12 | /dts-v1/; |
13 | /include/ "r8a7791.dtsi" | 13 | #include "r8a7791.dtsi" |
14 | 14 | ||
15 | / { | 15 | / { |
16 | model = "Koelsch"; | 16 | model = "Koelsch"; |
diff --git a/arch/arm/boot/dts/r8a7791.dtsi b/arch/arm/boot/dts/r8a7791.dtsi index fea5cfef4691..a349aff54c76 100644 --- a/arch/arm/boot/dts/r8a7791.dtsi +++ b/arch/arm/boot/dts/r8a7791.dtsi | |||
@@ -9,6 +9,9 @@ | |||
9 | * kind, whether express or implied. | 9 | * kind, whether express or implied. |
10 | */ | 10 | */ |
11 | 11 | ||
12 | #include <dt-bindings/interrupt-controller/arm-gic.h> | ||
13 | #include <dt-bindings/interrupt-controller/irq.h> | ||
14 | |||
12 | / { | 15 | / { |
13 | compatible = "renesas,r8a7791"; | 16 | compatible = "renesas,r8a7791"; |
14 | interrupt-parent = <&gic>; | 17 | interrupt-parent = <&gic>; |
@@ -43,32 +46,141 @@ | |||
43 | <0 0xf1002000 0 0x1000>, | 46 | <0 0xf1002000 0 0x1000>, |
44 | <0 0xf1004000 0 0x2000>, | 47 | <0 0xf1004000 0 0x2000>, |
45 | <0 0xf1006000 0 0x2000>; | 48 | <0 0xf1006000 0 0x2000>; |
46 | interrupts = <1 9 0xf04>; | 49 | interrupts = <1 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; |
50 | }; | ||
51 | |||
52 | gpio0: gpio@e6050000 { | ||
53 | compatible = "renesas,gpio-r8a7791", "renesas,gpio-rcar"; | ||
54 | reg = <0 0xe6050000 0 0x50>; | ||
55 | interrupt-parent = <&gic>; | ||
56 | interrupts = <0 4 IRQ_TYPE_LEVEL_HIGH>; | ||
57 | #gpio-cells = <2>; | ||
58 | gpio-controller; | ||
59 | gpio-ranges = <&pfc 0 0 32>; | ||
60 | #interrupt-cells = <2>; | ||
61 | interrupt-controller; | ||
62 | }; | ||
63 | |||
64 | gpio1: gpio@e6051000 { | ||
65 | compatible = "renesas,gpio-r8a7791", "renesas,gpio-rcar"; | ||
66 | reg = <0 0xe6051000 0 0x50>; | ||
67 | interrupt-parent = <&gic>; | ||
68 | interrupts = <0 5 IRQ_TYPE_LEVEL_HIGH>; | ||
69 | #gpio-cells = <2>; | ||
70 | gpio-controller; | ||
71 | gpio-ranges = <&pfc 0 32 32>; | ||
72 | #interrupt-cells = <2>; | ||
73 | interrupt-controller; | ||
74 | }; | ||
75 | |||
76 | gpio2: gpio@e6052000 { | ||
77 | compatible = "renesas,gpio-r8a7791", "renesas,gpio-rcar"; | ||
78 | reg = <0 0xe6052000 0 0x50>; | ||
79 | interrupt-parent = <&gic>; | ||
80 | interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>; | ||
81 | #gpio-cells = <2>; | ||
82 | gpio-controller; | ||
83 | gpio-ranges = <&pfc 0 64 32>; | ||
84 | #interrupt-cells = <2>; | ||
85 | interrupt-controller; | ||
86 | }; | ||
87 | |||
88 | gpio3: gpio@e6053000 { | ||
89 | compatible = "renesas,gpio-r8a7791", "renesas,gpio-rcar"; | ||
90 | reg = <0 0xe6053000 0 0x50>; | ||
91 | interrupt-parent = <&gic>; | ||
92 | interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>; | ||
93 | #gpio-cells = <2>; | ||
94 | gpio-controller; | ||
95 | gpio-ranges = <&pfc 0 96 32>; | ||
96 | #interrupt-cells = <2>; | ||
97 | interrupt-controller; | ||
98 | }; | ||
99 | |||
100 | gpio4: gpio@e6054000 { | ||
101 | compatible = "renesas,gpio-r8a7791", "renesas,gpio-rcar"; | ||
102 | reg = <0 0xe6054000 0 0x50>; | ||
103 | interrupt-parent = <&gic>; | ||
104 | interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>; | ||
105 | #gpio-cells = <2>; | ||
106 | gpio-controller; | ||
107 | gpio-ranges = <&pfc 0 128 32>; | ||
108 | #interrupt-cells = <2>; | ||
109 | interrupt-controller; | ||
110 | }; | ||
111 | |||
112 | gpio5: gpio@e6055000 { | ||
113 | compatible = "renesas,gpio-r8a7791", "renesas,gpio-rcar"; | ||
114 | reg = <0 0xe6055000 0 0x50>; | ||
115 | interrupt-parent = <&gic>; | ||
116 | interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH>; | ||
117 | #gpio-cells = <2>; | ||
118 | gpio-controller; | ||
119 | gpio-ranges = <&pfc 0 160 32>; | ||
120 | #interrupt-cells = <2>; | ||
121 | interrupt-controller; | ||
122 | }; | ||
123 | |||
124 | gpio6: gpio@e6055400 { | ||
125 | compatible = "renesas,gpio-r8a7791", "renesas,gpio-rcar"; | ||
126 | reg = <0 0xe6055400 0 0x50>; | ||
127 | interrupt-parent = <&gic>; | ||
128 | interrupts = <0 10 IRQ_TYPE_LEVEL_HIGH>; | ||
129 | #gpio-cells = <2>; | ||
130 | gpio-controller; | ||
131 | gpio-ranges = <&pfc 0 192 32>; | ||
132 | #interrupt-cells = <2>; | ||
133 | interrupt-controller; | ||
134 | }; | ||
135 | |||
136 | gpio7: gpio@e6055800 { | ||
137 | compatible = "renesas,gpio-r8a7791", "renesas,gpio-rcar"; | ||
138 | reg = <0 0xe6055800 0 0x50>; | ||
139 | interrupt-parent = <&gic>; | ||
140 | interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>; | ||
141 | #gpio-cells = <2>; | ||
142 | gpio-controller; | ||
143 | gpio-ranges = <&pfc 0 224 26>; | ||
144 | #interrupt-cells = <2>; | ||
145 | interrupt-controller; | ||
146 | }; | ||
147 | |||
148 | thermal@e61f0000 { | ||
149 | compatible = "renesas,thermal-r8a7791", "renesas,rcar-thermal"; | ||
150 | reg = <0 0xe61f0000 0 0x14>, <0 0xe61f0100 0 0x38>; | ||
151 | interrupt-parent = <&gic>; | ||
152 | interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>; | ||
47 | }; | 153 | }; |
48 | 154 | ||
49 | timer { | 155 | timer { |
50 | compatible = "arm,armv7-timer"; | 156 | compatible = "arm,armv7-timer"; |
51 | interrupts = <1 13 0xf08>, | 157 | interrupts = <1 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, |
52 | <1 14 0xf08>, | 158 | <1 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, |
53 | <1 11 0xf08>, | 159 | <1 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, |
54 | <1 10 0xf08>; | 160 | <1 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; |
55 | }; | 161 | }; |
56 | 162 | ||
57 | irqc0: interrupt-controller@e61c0000 { | 163 | irqc0: interrupt-controller@e61c0000 { |
58 | compatible = "renesas,irqc"; | 164 | compatible = "renesas,irqc-r8a7791", "renesas,irqc"; |
59 | #interrupt-cells = <2>; | 165 | #interrupt-cells = <2>; |
60 | interrupt-controller; | 166 | interrupt-controller; |
61 | reg = <0 0xe61c0000 0 0x200>; | 167 | reg = <0 0xe61c0000 0 0x200>; |
62 | interrupt-parent = <&gic>; | 168 | interrupt-parent = <&gic>; |
63 | interrupts = <0 0 4>, | 169 | interrupts = <0 0 IRQ_TYPE_LEVEL_HIGH>, |
64 | <0 1 4>, | 170 | <0 1 IRQ_TYPE_LEVEL_HIGH>, |
65 | <0 2 4>, | 171 | <0 2 IRQ_TYPE_LEVEL_HIGH>, |
66 | <0 3 4>, | 172 | <0 3 IRQ_TYPE_LEVEL_HIGH>, |
67 | <0 12 4>, | 173 | <0 12 IRQ_TYPE_LEVEL_HIGH>, |
68 | <0 13 4>, | 174 | <0 13 IRQ_TYPE_LEVEL_HIGH>, |
69 | <0 14 4>, | 175 | <0 14 IRQ_TYPE_LEVEL_HIGH>, |
70 | <0 15 4>, | 176 | <0 15 IRQ_TYPE_LEVEL_HIGH>, |
71 | <0 16 4>, | 177 | <0 16 IRQ_TYPE_LEVEL_HIGH>, |
72 | <0 17 4>; | 178 | <0 17 IRQ_TYPE_LEVEL_HIGH>; |
179 | }; | ||
180 | |||
181 | pfc: pfc@e6060000 { | ||
182 | compatible = "renesas,pfc-r8a7791"; | ||
183 | reg = <0 0xe6060000 0 0x250>; | ||
184 | #gpio-range-cells = <3>; | ||
73 | }; | 185 | }; |
74 | }; | 186 | }; |
diff --git a/arch/arm/boot/dts/sh7372-mackerel.dts b/arch/arm/boot/dts/sh7372-mackerel.dts index 8acf51e0cdae..a759a276c9a9 100644 --- a/arch/arm/boot/dts/sh7372-mackerel.dts +++ b/arch/arm/boot/dts/sh7372-mackerel.dts | |||
@@ -9,7 +9,7 @@ | |||
9 | */ | 9 | */ |
10 | 10 | ||
11 | /dts-v1/; | 11 | /dts-v1/; |
12 | /include/ "sh7372.dtsi" | 12 | #include "sh7372.dtsi" |
13 | 13 | ||
14 | / { | 14 | / { |
15 | model = "Mackerel (AP4 EVM 2nd)"; | 15 | model = "Mackerel (AP4 EVM 2nd)"; |
diff --git a/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts b/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts index 8ee06dd81799..5bb593daab52 100644 --- a/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts +++ b/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts | |||
@@ -12,8 +12,9 @@ | |||
12 | */ | 12 | */ |
13 | 13 | ||
14 | /dts-v1/; | 14 | /dts-v1/; |
15 | /include/ "sh73a0.dtsi" | 15 | #include "sh73a0.dtsi" |
16 | #include <dt-bindings/gpio/gpio.h> | 16 | #include <dt-bindings/gpio/gpio.h> |
17 | #include <dt-bindings/interrupt-controller/irq.h> | ||
17 | 18 | ||
18 | / { | 19 | / { |
19 | model = "KZM-A9-GT"; | 20 | model = "KZM-A9-GT"; |
@@ -82,7 +83,7 @@ | |||
82 | reg = <0x10000000 0x100>; | 83 | reg = <0x10000000 0x100>; |
83 | phy-mode = "mii"; | 84 | phy-mode = "mii"; |
84 | interrupt-parent = <&irqpin0>; | 85 | interrupt-parent = <&irqpin0>; |
85 | interrupts = <3 0>; /* active low */ | 86 | interrupts = <3 IRQ_TYPE_EDGE_FALLING>; |
86 | reg-io-width = <4>; | 87 | reg-io-width = <4>; |
87 | smsc,irq-push-pull; | 88 | smsc,irq-push-pull; |
88 | smsc,save-mac-address; | 89 | smsc,save-mac-address; |
@@ -105,6 +106,52 @@ | |||
105 | gpios = <&pfc 23 GPIO_ACTIVE_LOW>; | 106 | gpios = <&pfc 23 GPIO_ACTIVE_LOW>; |
106 | }; | 107 | }; |
107 | }; | 108 | }; |
109 | |||
110 | gpio-keys { | ||
111 | compatible = "gpio-keys"; | ||
112 | |||
113 | back-key { | ||
114 | gpios = <&pcf8575 8 GPIO_ACTIVE_LOW>; | ||
115 | linux,code = <158>; | ||
116 | label = "SW3"; | ||
117 | }; | ||
118 | |||
119 | right-key { | ||
120 | gpios = <&pcf8575 9 GPIO_ACTIVE_LOW>; | ||
121 | linux,code = <106>; | ||
122 | label = "SW2-R"; | ||
123 | }; | ||
124 | |||
125 | left-key { | ||
126 | gpios = <&pcf8575 10 GPIO_ACTIVE_LOW>; | ||
127 | linux,code = <105>; | ||
128 | label = "SW2-L"; | ||
129 | }; | ||
130 | |||
131 | enter-key { | ||
132 | gpios = <&pcf8575 11 GPIO_ACTIVE_LOW>; | ||
133 | linux,code = <28>; | ||
134 | label = "SW2-P"; | ||
135 | }; | ||
136 | |||
137 | up-key { | ||
138 | gpios = <&pcf8575 12 GPIO_ACTIVE_LOW>; | ||
139 | linux,code = <103>; | ||
140 | label = "SW2-U"; | ||
141 | }; | ||
142 | |||
143 | down-key { | ||
144 | gpios = <&pcf8575 13 GPIO_ACTIVE_LOW>; | ||
145 | linux,code = <108>; | ||
146 | label = "SW2-D"; | ||
147 | }; | ||
148 | |||
149 | home-key { | ||
150 | gpios = <&pcf8575 14 GPIO_ACTIVE_LOW>; | ||
151 | linux,code = <102>; | ||
152 | label = "SW1"; | ||
153 | }; | ||
154 | }; | ||
108 | }; | 155 | }; |
109 | 156 | ||
110 | &i2c0 { | 157 | &i2c0 { |
@@ -185,6 +232,17 @@ | |||
185 | pinctrl-0 = <&i2c3_pins>; | 232 | pinctrl-0 = <&i2c3_pins>; |
186 | pinctrl-names = "default"; | 233 | pinctrl-names = "default"; |
187 | status = "okay"; | 234 | status = "okay"; |
235 | |||
236 | pcf8575: gpio@20 { | ||
237 | compatible = "nxp,pcf8575"; | ||
238 | reg = <0x20>; | ||
239 | interrupt-parent = <&irqpin2>; | ||
240 | interrupts = <3 IRQ_TYPE_EDGE_FALLING>; | ||
241 | gpio-controller; | ||
242 | #gpio-cells = <2>; | ||
243 | interrupt-controller; | ||
244 | #interrupt-cells = <2>; | ||
245 | }; | ||
188 | }; | 246 | }; |
189 | 247 | ||
190 | &mmcif { | 248 | &mmcif { |
@@ -205,7 +263,7 @@ | |||
205 | renesas,function = "i2c3"; | 263 | renesas,function = "i2c3"; |
206 | }; | 264 | }; |
207 | 265 | ||
208 | mmcif_pins: mmcif { | 266 | mmcif_pins: mmc { |
209 | mux { | 267 | mux { |
210 | renesas,groups = "mmc0_data8_0", "mmc0_ctrl_0"; | 268 | renesas,groups = "mmc0_data8_0", "mmc0_ctrl_0"; |
211 | renesas,function = "mmc0"; | 269 | renesas,function = "mmc0"; |
@@ -217,17 +275,17 @@ | |||
217 | }; | 275 | }; |
218 | }; | 276 | }; |
219 | 277 | ||
220 | scifa4_pins: scifa4 { | 278 | scifa4_pins: serial4 { |
221 | renesas,groups = "scifa4_data", "scifa4_ctrl"; | 279 | renesas,groups = "scifa4_data", "scifa4_ctrl"; |
222 | renesas,function = "scifa4"; | 280 | renesas,function = "scifa4"; |
223 | }; | 281 | }; |
224 | 282 | ||
225 | sdhi0_pins: sdhi0 { | 283 | sdhi0_pins: sd0 { |
226 | renesas,groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_cd", "sdhi0_wp"; | 284 | renesas,groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_cd", "sdhi0_wp"; |
227 | renesas,function = "sdhi0"; | 285 | renesas,function = "sdhi0"; |
228 | }; | 286 | }; |
229 | 287 | ||
230 | sdhi2_pins: sdhi2 { | 288 | sdhi2_pins: sd2 { |
231 | renesas,groups = "sdhi2_data4", "sdhi2_ctrl"; | 289 | renesas,groups = "sdhi2_data4", "sdhi2_ctrl"; |
232 | renesas,function = "sdhi2"; | 290 | renesas,function = "sdhi2"; |
233 | }; | 291 | }; |
diff --git a/arch/arm/boot/dts/sh73a0-kzm9g.dts b/arch/arm/boot/dts/sh73a0-kzm9g.dts index 0f1ca7792c46..27c5f426d172 100644 --- a/arch/arm/boot/dts/sh73a0-kzm9g.dts +++ b/arch/arm/boot/dts/sh73a0-kzm9g.dts | |||
@@ -9,7 +9,7 @@ | |||
9 | */ | 9 | */ |
10 | 10 | ||
11 | /dts-v1/; | 11 | /dts-v1/; |
12 | /include/ "sh73a0.dtsi" | 12 | #include "sh73a0.dtsi" |
13 | 13 | ||
14 | / { | 14 | / { |
15 | model = "KZM-A9-GT"; | 15 | model = "KZM-A9-GT"; |
diff --git a/arch/arm/boot/dts/sh73a0.dtsi b/arch/arm/boot/dts/sh73a0.dtsi index fcf26889a8a0..241c8cdaeaa1 100644 --- a/arch/arm/boot/dts/sh73a0.dtsi +++ b/arch/arm/boot/dts/sh73a0.dtsi | |||
@@ -10,6 +10,8 @@ | |||
10 | 10 | ||
11 | /include/ "skeleton.dtsi" | 11 | /include/ "skeleton.dtsi" |
12 | 12 | ||
13 | #include <dt-bindings/interrupt-controller/irq.h> | ||
14 | |||
13 | / { | 15 | / { |
14 | compatible = "renesas,sh73a0"; | 16 | compatible = "renesas,sh73a0"; |
15 | 17 | ||
@@ -40,12 +42,12 @@ | |||
40 | 42 | ||
41 | pmu { | 43 | pmu { |
42 | compatible = "arm,cortex-a9-pmu"; | 44 | compatible = "arm,cortex-a9-pmu"; |
43 | interrupts = <0 55 4>, | 45 | interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>, |
44 | <0 56 4>; | 46 | <0 56 IRQ_TYPE_LEVEL_HIGH>; |
45 | }; | 47 | }; |
46 | 48 | ||
47 | irqpin0: irqpin@e6900000 { | 49 | irqpin0: irqpin@e6900000 { |
48 | compatible = "renesas,intc-irqpin"; | 50 | compatible = "renesas,intc-irqpin-sh73a0", "renesas,intc-irqpin"; |
49 | #interrupt-cells = <2>; | 51 | #interrupt-cells = <2>; |
50 | interrupt-controller; | 52 | interrupt-controller; |
51 | reg = <0xe6900000 4>, | 53 | reg = <0xe6900000 4>, |
@@ -54,18 +56,18 @@ | |||
54 | <0xe6900040 1>, | 56 | <0xe6900040 1>, |
55 | <0xe6900060 1>; | 57 | <0xe6900060 1>; |
56 | interrupt-parent = <&gic>; | 58 | interrupt-parent = <&gic>; |
57 | interrupts = <0 1 0x4 | 59 | interrupts = <0 1 IRQ_TYPE_LEVEL_HIGH |
58 | 0 2 0x4 | 60 | 0 2 IRQ_TYPE_LEVEL_HIGH |
59 | 0 3 0x4 | 61 | 0 3 IRQ_TYPE_LEVEL_HIGH |
60 | 0 4 0x4 | 62 | 0 4 IRQ_TYPE_LEVEL_HIGH |
61 | 0 5 0x4 | 63 | 0 5 IRQ_TYPE_LEVEL_HIGH |
62 | 0 6 0x4 | 64 | 0 6 IRQ_TYPE_LEVEL_HIGH |
63 | 0 7 0x4 | 65 | 0 7 IRQ_TYPE_LEVEL_HIGH |
64 | 0 8 0x4>; | 66 | 0 8 IRQ_TYPE_LEVEL_HIGH>; |
65 | }; | 67 | }; |
66 | 68 | ||
67 | irqpin1: irqpin@e6900004 { | 69 | irqpin1: irqpin@e6900004 { |
68 | compatible = "renesas,intc-irqpin"; | 70 | compatible = "renesas,intc-irqpin-sh73a0", "renesas,intc-irqpin"; |
69 | #interrupt-cells = <2>; | 71 | #interrupt-cells = <2>; |
70 | interrupt-controller; | 72 | interrupt-controller; |
71 | reg = <0xe6900004 4>, | 73 | reg = <0xe6900004 4>, |
@@ -74,19 +76,19 @@ | |||
74 | <0xe6900044 1>, | 76 | <0xe6900044 1>, |
75 | <0xe6900064 1>; | 77 | <0xe6900064 1>; |
76 | interrupt-parent = <&gic>; | 78 | interrupt-parent = <&gic>; |
77 | interrupts = <0 9 0x4 | 79 | interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH |
78 | 0 10 0x4 | 80 | 0 10 IRQ_TYPE_LEVEL_HIGH |
79 | 0 11 0x4 | 81 | 0 11 IRQ_TYPE_LEVEL_HIGH |
80 | 0 12 0x4 | 82 | 0 12 IRQ_TYPE_LEVEL_HIGH |
81 | 0 13 0x4 | 83 | 0 13 IRQ_TYPE_LEVEL_HIGH |
82 | 0 14 0x4 | 84 | 0 14 IRQ_TYPE_LEVEL_HIGH |
83 | 0 15 0x4 | 85 | 0 15 IRQ_TYPE_LEVEL_HIGH |
84 | 0 16 0x4>; | 86 | 0 16 IRQ_TYPE_LEVEL_HIGH>; |
85 | control-parent; | 87 | control-parent; |
86 | }; | 88 | }; |
87 | 89 | ||
88 | irqpin2: irqpin@e6900008 { | 90 | irqpin2: irqpin@e6900008 { |
89 | compatible = "renesas,intc-irqpin"; | 91 | compatible = "renesas,intc-irqpin-sh73a0", "renesas,intc-irqpin"; |
90 | #interrupt-cells = <2>; | 92 | #interrupt-cells = <2>; |
91 | interrupt-controller; | 93 | interrupt-controller; |
92 | reg = <0xe6900008 4>, | 94 | reg = <0xe6900008 4>, |
@@ -95,18 +97,18 @@ | |||
95 | <0xe6900048 1>, | 97 | <0xe6900048 1>, |
96 | <0xe6900068 1>; | 98 | <0xe6900068 1>; |
97 | interrupt-parent = <&gic>; | 99 | interrupt-parent = <&gic>; |
98 | interrupts = <0 17 0x4 | 100 | interrupts = <0 17 IRQ_TYPE_LEVEL_HIGH |
99 | 0 18 0x4 | 101 | 0 18 IRQ_TYPE_LEVEL_HIGH |
100 | 0 19 0x4 | 102 | 0 19 IRQ_TYPE_LEVEL_HIGH |
101 | 0 20 0x4 | 103 | 0 20 IRQ_TYPE_LEVEL_HIGH |
102 | 0 21 0x4 | 104 | 0 21 IRQ_TYPE_LEVEL_HIGH |
103 | 0 22 0x4 | 105 | 0 22 IRQ_TYPE_LEVEL_HIGH |
104 | 0 23 0x4 | 106 | 0 23 IRQ_TYPE_LEVEL_HIGH |
105 | 0 24 0x4>; | 107 | 0 24 IRQ_TYPE_LEVEL_HIGH>; |
106 | }; | 108 | }; |
107 | 109 | ||
108 | irqpin3: irqpin@e690000c { | 110 | irqpin3: irqpin@e690000c { |
109 | compatible = "renesas,intc-irqpin"; | 111 | compatible = "renesas,intc-irqpin-sh73a0", "renesas,intc-irqpin"; |
110 | #interrupt-cells = <2>; | 112 | #interrupt-cells = <2>; |
111 | interrupt-controller; | 113 | interrupt-controller; |
112 | reg = <0xe690000c 4>, | 114 | reg = <0xe690000c 4>, |
@@ -115,14 +117,14 @@ | |||
115 | <0xe690004c 1>, | 117 | <0xe690004c 1>, |
116 | <0xe690006c 1>; | 118 | <0xe690006c 1>; |
117 | interrupt-parent = <&gic>; | 119 | interrupt-parent = <&gic>; |
118 | interrupts = <0 25 0x4 | 120 | interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH |
119 | 0 26 0x4 | 121 | 0 26 IRQ_TYPE_LEVEL_HIGH |
120 | 0 27 0x4 | 122 | 0 27 IRQ_TYPE_LEVEL_HIGH |
121 | 0 28 0x4 | 123 | 0 28 IRQ_TYPE_LEVEL_HIGH |
122 | 0 29 0x4 | 124 | 0 29 IRQ_TYPE_LEVEL_HIGH |
123 | 0 30 0x4 | 125 | 0 30 IRQ_TYPE_LEVEL_HIGH |
124 | 0 31 0x4 | 126 | 0 31 IRQ_TYPE_LEVEL_HIGH |
125 | 0 32 0x4>; | 127 | 0 32 IRQ_TYPE_LEVEL_HIGH>; |
126 | }; | 128 | }; |
127 | 129 | ||
128 | i2c0: i2c@e6820000 { | 130 | i2c0: i2c@e6820000 { |
@@ -131,10 +133,10 @@ | |||
131 | compatible = "renesas,rmobile-iic"; | 133 | compatible = "renesas,rmobile-iic"; |
132 | reg = <0xe6820000 0x425>; | 134 | reg = <0xe6820000 0x425>; |
133 | interrupt-parent = <&gic>; | 135 | interrupt-parent = <&gic>; |
134 | interrupts = <0 167 0x4 | 136 | interrupts = <0 167 IRQ_TYPE_LEVEL_HIGH |
135 | 0 168 0x4 | 137 | 0 168 IRQ_TYPE_LEVEL_HIGH |
136 | 0 169 0x4 | 138 | 0 169 IRQ_TYPE_LEVEL_HIGH |
137 | 0 170 0x4>; | 139 | 0 170 IRQ_TYPE_LEVEL_HIGH>; |
138 | status = "disabled"; | 140 | status = "disabled"; |
139 | }; | 141 | }; |
140 | 142 | ||
@@ -144,10 +146,10 @@ | |||
144 | compatible = "renesas,rmobile-iic"; | 146 | compatible = "renesas,rmobile-iic"; |
145 | reg = <0xe6822000 0x425>; | 147 | reg = <0xe6822000 0x425>; |
146 | interrupt-parent = <&gic>; | 148 | interrupt-parent = <&gic>; |
147 | interrupts = <0 51 0x4 | 149 | interrupts = <0 51 IRQ_TYPE_LEVEL_HIGH |
148 | 0 52 0x4 | 150 | 0 52 IRQ_TYPE_LEVEL_HIGH |
149 | 0 53 0x4 | 151 | 0 53 IRQ_TYPE_LEVEL_HIGH |
150 | 0 54 0x4>; | 152 | 0 54 IRQ_TYPE_LEVEL_HIGH>; |
151 | status = "disabled"; | 153 | status = "disabled"; |
152 | }; | 154 | }; |
153 | 155 | ||
@@ -157,10 +159,10 @@ | |||
157 | compatible = "renesas,rmobile-iic"; | 159 | compatible = "renesas,rmobile-iic"; |
158 | reg = <0xe6824000 0x425>; | 160 | reg = <0xe6824000 0x425>; |
159 | interrupt-parent = <&gic>; | 161 | interrupt-parent = <&gic>; |
160 | interrupts = <0 171 0x4 | 162 | interrupts = <0 171 IRQ_TYPE_LEVEL_HIGH |
161 | 0 172 0x4 | 163 | 0 172 IRQ_TYPE_LEVEL_HIGH |
162 | 0 173 0x4 | 164 | 0 173 IRQ_TYPE_LEVEL_HIGH |
163 | 0 174 0x4>; | 165 | 0 174 IRQ_TYPE_LEVEL_HIGH>; |
164 | status = "disabled"; | 166 | status = "disabled"; |
165 | }; | 167 | }; |
166 | 168 | ||
@@ -170,10 +172,10 @@ | |||
170 | compatible = "renesas,rmobile-iic"; | 172 | compatible = "renesas,rmobile-iic"; |
171 | reg = <0xe6826000 0x425>; | 173 | reg = <0xe6826000 0x425>; |
172 | interrupt-parent = <&gic>; | 174 | interrupt-parent = <&gic>; |
173 | interrupts = <0 183 0x4 | 175 | interrupts = <0 183 IRQ_TYPE_LEVEL_HIGH |
174 | 0 184 0x4 | 176 | 0 184 IRQ_TYPE_LEVEL_HIGH |
175 | 0 185 0x4 | 177 | 0 185 IRQ_TYPE_LEVEL_HIGH |
176 | 0 186 0x4>; | 178 | 0 186 IRQ_TYPE_LEVEL_HIGH>; |
177 | status = "disabled"; | 179 | status = "disabled"; |
178 | }; | 180 | }; |
179 | 181 | ||
@@ -183,52 +185,52 @@ | |||
183 | compatible = "renesas,rmobile-iic"; | 185 | compatible = "renesas,rmobile-iic"; |
184 | reg = <0xe6828000 0x425>; | 186 | reg = <0xe6828000 0x425>; |
185 | interrupt-parent = <&gic>; | 187 | interrupt-parent = <&gic>; |
186 | interrupts = <0 187 0x4 | 188 | interrupts = <0 187 IRQ_TYPE_LEVEL_HIGH |
187 | 0 188 0x4 | 189 | 0 188 IRQ_TYPE_LEVEL_HIGH |
188 | 0 189 0x4 | 190 | 0 189 IRQ_TYPE_LEVEL_HIGH |
189 | 0 190 0x4>; | 191 | 0 190 IRQ_TYPE_LEVEL_HIGH>; |
190 | status = "disabled"; | 192 | status = "disabled"; |
191 | }; | 193 | }; |
192 | 194 | ||
193 | mmcif: mmcif@e6bd0000 { | 195 | mmcif: mmc@e6bd0000 { |
194 | compatible = "renesas,sh-mmcif"; | 196 | compatible = "renesas,sh-mmcif"; |
195 | reg = <0xe6bd0000 0x100>; | 197 | reg = <0xe6bd0000 0x100>; |
196 | interrupt-parent = <&gic>; | 198 | interrupt-parent = <&gic>; |
197 | interrupts = <0 140 0x4 | 199 | interrupts = <0 140 IRQ_TYPE_LEVEL_HIGH |
198 | 0 141 0x4>; | 200 | 0 141 IRQ_TYPE_LEVEL_HIGH>; |
199 | reg-io-width = <4>; | 201 | reg-io-width = <4>; |
200 | status = "disabled"; | 202 | status = "disabled"; |
201 | }; | 203 | }; |
202 | 204 | ||
203 | sdhi0: sdhi@ee100000 { | 205 | sdhi0: sd@ee100000 { |
204 | compatible = "renesas,sdhi-r8a7740"; | 206 | compatible = "renesas,sdhi-sh73a0"; |
205 | reg = <0xee100000 0x100>; | 207 | reg = <0xee100000 0x100>; |
206 | interrupt-parent = <&gic>; | 208 | interrupt-parent = <&gic>; |
207 | interrupts = <0 83 4 | 209 | interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH |
208 | 0 84 4 | 210 | 0 84 IRQ_TYPE_LEVEL_HIGH |
209 | 0 85 4>; | 211 | 0 85 IRQ_TYPE_LEVEL_HIGH>; |
210 | cap-sd-highspeed; | 212 | cap-sd-highspeed; |
211 | status = "disabled"; | 213 | status = "disabled"; |
212 | }; | 214 | }; |
213 | 215 | ||
214 | /* SDHI1 and SDHI2 have no CD pins, no need for CD IRQ */ | 216 | /* SDHI1 and SDHI2 have no CD pins, no need for CD IRQ */ |
215 | sdhi1: sdhi@ee120000 { | 217 | sdhi1: sd@ee120000 { |
216 | compatible = "renesas,sdhi-r8a7740"; | 218 | compatible = "renesas,sdhi-sh73a0"; |
217 | reg = <0xee120000 0x100>; | 219 | reg = <0xee120000 0x100>; |
218 | interrupt-parent = <&gic>; | 220 | interrupt-parent = <&gic>; |
219 | interrupts = <0 88 4 | 221 | interrupts = <0 88 IRQ_TYPE_LEVEL_HIGH |
220 | 0 89 4>; | 222 | 0 89 IRQ_TYPE_LEVEL_HIGH>; |
221 | toshiba,mmc-wrprotect-disable; | 223 | toshiba,mmc-wrprotect-disable; |
222 | cap-sd-highspeed; | 224 | cap-sd-highspeed; |
223 | status = "disabled"; | 225 | status = "disabled"; |
224 | }; | 226 | }; |
225 | 227 | ||
226 | sdhi2: sdhi@ee140000 { | 228 | sdhi2: sd@ee140000 { |
227 | compatible = "renesas,sdhi-r8a7740"; | 229 | compatible = "renesas,sdhi-sh73a0"; |
228 | reg = <0xee140000 0x100>; | 230 | reg = <0xee140000 0x100>; |
229 | interrupt-parent = <&gic>; | 231 | interrupt-parent = <&gic>; |
230 | interrupts = <0 104 4 | 232 | interrupts = <0 104 IRQ_TYPE_LEVEL_HIGH |
231 | 0 105 4>; | 233 | 0 105 IRQ_TYPE_LEVEL_HIGH>; |
232 | toshiba,mmc-wrprotect-disable; | 234 | toshiba,mmc-wrprotect-disable; |
233 | cap-sd-highspeed; | 235 | cap-sd-highspeed; |
234 | status = "disabled"; | 236 | status = "disabled"; |
diff --git a/arch/arm/configs/ape6evm_defconfig b/arch/arm/configs/ape6evm_defconfig index 1ce39940795d..cb26c62dc722 100644 --- a/arch/arm/configs/ape6evm_defconfig +++ b/arch/arm/configs/ape6evm_defconfig | |||
@@ -13,7 +13,7 @@ CONFIG_EMBEDDED=y | |||
13 | CONFIG_PERF_EVENTS=y | 13 | CONFIG_PERF_EVENTS=y |
14 | CONFIG_SLAB=y | 14 | CONFIG_SLAB=y |
15 | # CONFIG_BLOCK is not set | 15 | # CONFIG_BLOCK is not set |
16 | CONFIG_ARCH_SHMOBILE=y | 16 | CONFIG_ARCH_SHMOBILE_LEGACY=y |
17 | CONFIG_ARCH_R8A73A4=y | 17 | CONFIG_ARCH_R8A73A4=y |
18 | CONFIG_MACH_APE6EVM=y | 18 | CONFIG_MACH_APE6EVM=y |
19 | # CONFIG_ARM_THUMB is not set | 19 | # CONFIG_ARM_THUMB is not set |
diff --git a/arch/arm/configs/armadillo800eva_defconfig b/arch/arm/configs/armadillo800eva_defconfig index fae939d3d7f0..5abf1a2e3160 100644 --- a/arch/arm/configs/armadillo800eva_defconfig +++ b/arch/arm/configs/armadillo800eva_defconfig | |||
@@ -15,7 +15,7 @@ CONFIG_MODULE_FORCE_UNLOAD=y | |||
15 | # CONFIG_BLK_DEV_BSG is not set | 15 | # CONFIG_BLK_DEV_BSG is not set |
16 | # CONFIG_IOSCHED_DEADLINE is not set | 16 | # CONFIG_IOSCHED_DEADLINE is not set |
17 | # CONFIG_IOSCHED_CFQ is not set | 17 | # CONFIG_IOSCHED_CFQ is not set |
18 | CONFIG_ARCH_SHMOBILE=y | 18 | CONFIG_ARCH_SHMOBILE_LEGACY=y |
19 | CONFIG_ARCH_R8A7740=y | 19 | CONFIG_ARCH_R8A7740=y |
20 | CONFIG_MACH_ARMADILLO800EVA=y | 20 | CONFIG_MACH_ARMADILLO800EVA=y |
21 | # CONFIG_SH_TIMER_TMU is not set | 21 | # CONFIG_SH_TIMER_TMU is not set |
diff --git a/arch/arm/configs/bockw_defconfig b/arch/arm/configs/bockw_defconfig index b38cd107f82d..1dd39716d7cb 100644 --- a/arch/arm/configs/bockw_defconfig +++ b/arch/arm/configs/bockw_defconfig | |||
@@ -8,7 +8,7 @@ CONFIG_SYSCTL_SYSCALL=y | |||
8 | CONFIG_EMBEDDED=y | 8 | CONFIG_EMBEDDED=y |
9 | CONFIG_SLAB=y | 9 | CONFIG_SLAB=y |
10 | # CONFIG_IOSCHED_CFQ is not set | 10 | # CONFIG_IOSCHED_CFQ is not set |
11 | CONFIG_ARCH_SHMOBILE=y | 11 | CONFIG_ARCH_SHMOBILE_LEGACY=y |
12 | CONFIG_ARCH_R8A7778=y | 12 | CONFIG_ARCH_R8A7778=y |
13 | CONFIG_MACH_BOCKW=y | 13 | CONFIG_MACH_BOCKW=y |
14 | CONFIG_MEMORY_START=0x60000000 | 14 | CONFIG_MEMORY_START=0x60000000 |
diff --git a/arch/arm/configs/koelsch_defconfig b/arch/arm/configs/koelsch_defconfig index 825c16dee8a0..7fd65a01ec7e 100644 --- a/arch/arm/configs/koelsch_defconfig +++ b/arch/arm/configs/koelsch_defconfig | |||
@@ -9,7 +9,7 @@ CONFIG_EMBEDDED=y | |||
9 | CONFIG_PERF_EVENTS=y | 9 | CONFIG_PERF_EVENTS=y |
10 | CONFIG_SLAB=y | 10 | CONFIG_SLAB=y |
11 | # CONFIG_BLOCK is not set | 11 | # CONFIG_BLOCK is not set |
12 | CONFIG_ARCH_SHMOBILE=y | 12 | CONFIG_ARCH_SHMOBILE_LEGACY=y |
13 | CONFIG_ARCH_R8A7791=y | 13 | CONFIG_ARCH_R8A7791=y |
14 | CONFIG_MACH_KOELSCH=y | 14 | CONFIG_MACH_KOELSCH=y |
15 | # CONFIG_SWP_EMULATE is not set | 15 | # CONFIG_SWP_EMULATE is not set |
diff --git a/arch/arm/configs/kzm9d_defconfig b/arch/arm/configs/kzm9d_defconfig index 6c37f4a98eb8..217f1dda2965 100644 --- a/arch/arm/configs/kzm9d_defconfig +++ b/arch/arm/configs/kzm9d_defconfig | |||
@@ -13,7 +13,7 @@ CONFIG_SLAB=y | |||
13 | # CONFIG_BLK_DEV_BSG is not set | 13 | # CONFIG_BLK_DEV_BSG is not set |
14 | # CONFIG_IOSCHED_DEADLINE is not set | 14 | # CONFIG_IOSCHED_DEADLINE is not set |
15 | # CONFIG_IOSCHED_CFQ is not set | 15 | # CONFIG_IOSCHED_CFQ is not set |
16 | CONFIG_ARCH_SHMOBILE=y | 16 | CONFIG_ARCH_SHMOBILE_LEGACY=y |
17 | CONFIG_ARCH_EMEV2=y | 17 | CONFIG_ARCH_EMEV2=y |
18 | CONFIG_MACH_KZM9D=y | 18 | CONFIG_MACH_KZM9D=y |
19 | CONFIG_MEMORY_START=0x40000000 | 19 | CONFIG_MEMORY_START=0x40000000 |
diff --git a/arch/arm/configs/kzm9g_defconfig b/arch/arm/configs/kzm9g_defconfig index 1ad028023a64..9934dbc23d64 100644 --- a/arch/arm/configs/kzm9g_defconfig +++ b/arch/arm/configs/kzm9g_defconfig | |||
@@ -22,7 +22,7 @@ CONFIG_MODULE_UNLOAD=y | |||
22 | # CONFIG_BLK_DEV_BSG is not set | 22 | # CONFIG_BLK_DEV_BSG is not set |
23 | # CONFIG_IOSCHED_DEADLINE is not set | 23 | # CONFIG_IOSCHED_DEADLINE is not set |
24 | # CONFIG_IOSCHED_CFQ is not set | 24 | # CONFIG_IOSCHED_CFQ is not set |
25 | CONFIG_ARCH_SHMOBILE=y | 25 | CONFIG_ARCH_SHMOBILE_LEGACY=y |
26 | CONFIG_ARCH_SH73A0=y | 26 | CONFIG_ARCH_SH73A0=y |
27 | CONFIG_MACH_KZM9G=y | 27 | CONFIG_MACH_KZM9G=y |
28 | CONFIG_MEMORY_START=0x41000000 | 28 | CONFIG_MEMORY_START=0x41000000 |
diff --git a/arch/arm/configs/lager_defconfig b/arch/arm/configs/lager_defconfig index 35bff5e0d57a..35dc8b2be47f 100644 --- a/arch/arm/configs/lager_defconfig +++ b/arch/arm/configs/lager_defconfig | |||
@@ -12,7 +12,7 @@ CONFIG_SLAB=y | |||
12 | # CONFIG_BLK_DEV_BSG is not set | 12 | # CONFIG_BLK_DEV_BSG is not set |
13 | # CONFIG_IOSCHED_DEADLINE is not set | 13 | # CONFIG_IOSCHED_DEADLINE is not set |
14 | # CONFIG_IOSCHED_CFQ is not set | 14 | # CONFIG_IOSCHED_CFQ is not set |
15 | CONFIG_ARCH_SHMOBILE=y | 15 | CONFIG_ARCH_SHMOBILE_LEGACY=y |
16 | CONFIG_ARCH_R8A7790=y | 16 | CONFIG_ARCH_R8A7790=y |
17 | CONFIG_MACH_LAGER=y | 17 | CONFIG_MACH_LAGER=y |
18 | # CONFIG_SH_TIMER_TMU is not set | 18 | # CONFIG_SH_TIMER_TMU is not set |
diff --git a/arch/arm/configs/mackerel_defconfig b/arch/arm/configs/mackerel_defconfig index 9fb11895b2e2..a61e1653fc5e 100644 --- a/arch/arm/configs/mackerel_defconfig +++ b/arch/arm/configs/mackerel_defconfig | |||
@@ -14,7 +14,7 @@ CONFIG_MODULE_UNLOAD=y | |||
14 | # CONFIG_BLK_DEV_BSG is not set | 14 | # CONFIG_BLK_DEV_BSG is not set |
15 | # CONFIG_IOSCHED_DEADLINE is not set | 15 | # CONFIG_IOSCHED_DEADLINE is not set |
16 | # CONFIG_IOSCHED_CFQ is not set | 16 | # CONFIG_IOSCHED_CFQ is not set |
17 | CONFIG_ARCH_SHMOBILE=y | 17 | CONFIG_ARCH_SHMOBILE_LEGACY=y |
18 | CONFIG_ARCH_SH7372=y | 18 | CONFIG_ARCH_SH7372=y |
19 | CONFIG_MACH_MACKEREL=y | 19 | CONFIG_MACH_MACKEREL=y |
20 | CONFIG_MEMORY_SIZE=0x10000000 | 20 | CONFIG_MEMORY_SIZE=0x10000000 |
diff --git a/arch/arm/configs/marzen_defconfig b/arch/arm/configs/marzen_defconfig index 5cc6360340b1..6981338cd08d 100644 --- a/arch/arm/configs/marzen_defconfig +++ b/arch/arm/configs/marzen_defconfig | |||
@@ -9,7 +9,7 @@ CONFIG_SYSCTL_SYSCALL=y | |||
9 | CONFIG_EMBEDDED=y | 9 | CONFIG_EMBEDDED=y |
10 | CONFIG_SLAB=y | 10 | CONFIG_SLAB=y |
11 | # CONFIG_IOSCHED_CFQ is not set | 11 | # CONFIG_IOSCHED_CFQ is not set |
12 | CONFIG_ARCH_SHMOBILE=y | 12 | CONFIG_ARCH_SHMOBILE_LEGACY=y |
13 | CONFIG_ARCH_R8A7779=y | 13 | CONFIG_ARCH_R8A7779=y |
14 | CONFIG_MACH_MARZEN=y | 14 | CONFIG_MACH_MARZEN=y |
15 | CONFIG_MEMORY_START=0x60000000 | 15 | CONFIG_MEMORY_START=0x60000000 |
diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig index a4a4b75109b2..aa9017bb750c 100644 --- a/arch/arm/mach-shmobile/Kconfig +++ b/arch/arm/mach-shmobile/Kconfig | |||
@@ -1,6 +1,10 @@ | |||
1 | config ARCH_SHMOBILE | ||
2 | bool | ||
3 | |||
1 | config ARCH_SHMOBILE_MULTI | 4 | config ARCH_SHMOBILE_MULTI |
2 | bool "SH-Mobile Series" if ARCH_MULTI_V7 | 5 | bool "SH-Mobile Series" if ARCH_MULTI_V7 |
3 | depends on MMU | 6 | depends on MMU |
7 | select ARCH_SHMOBILE | ||
4 | select CPU_V7 | 8 | select CPU_V7 |
5 | select GENERIC_CLOCKEVENTS | 9 | select GENERIC_CLOCKEVENTS |
6 | select HAVE_ARM_SCU if SMP | 10 | select HAVE_ARM_SCU if SMP |
@@ -30,7 +34,7 @@ config MACH_KZM9D | |||
30 | comment "SH-Mobile System Configuration" | 34 | comment "SH-Mobile System Configuration" |
31 | endif | 35 | endif |
32 | 36 | ||
33 | if ARCH_SHMOBILE | 37 | if ARCH_SHMOBILE_LEGACY |
34 | 38 | ||
35 | comment "SH-Mobile System Type" | 39 | comment "SH-Mobile System Type" |
36 | 40 | ||
@@ -97,18 +101,23 @@ config ARCH_R8A7790 | |||
97 | 101 | ||
98 | config ARCH_R8A7791 | 102 | config ARCH_R8A7791 |
99 | bool "R-Car M2 (R8A77910)" | 103 | bool "R-Car M2 (R8A77910)" |
104 | select ARCH_WANT_OPTIONAL_GPIOLIB | ||
100 | select ARM_GIC | 105 | select ARM_GIC |
101 | select CPU_V7 | 106 | select CPU_V7 |
102 | select SH_CLK_CPG | 107 | select SH_CLK_CPG |
108 | select RENESAS_IRQC | ||
103 | 109 | ||
104 | config ARCH_EMEV2 | 110 | config ARCH_EMEV2 |
105 | bool "Emma Mobile EV2" | 111 | bool "Emma Mobile EV2" |
106 | select ARCH_WANT_OPTIONAL_GPIOLIB | 112 | select ARCH_WANT_OPTIONAL_GPIOLIB |
107 | select ARM_GIC | 113 | select ARM_GIC |
108 | select CPU_V7 | 114 | select CPU_V7 |
115 | select USE_OF | ||
116 | select AUTO_ZRELADDR | ||
109 | 117 | ||
110 | config ARCH_R7S72100 | 118 | config ARCH_R7S72100 |
111 | bool "RZ/A1H (R7S72100)" | 119 | bool "RZ/A1H (R7S72100)" |
120 | select ARCH_WANT_OPTIONAL_GPIOLIB | ||
112 | select ARM_GIC | 121 | select ARM_GIC |
113 | select CPU_V7 | 122 | select CPU_V7 |
114 | select SH_CLK_CPG | 123 | select SH_CLK_CPG |
@@ -231,12 +240,6 @@ config MACH_KOELSCH | |||
231 | depends on ARCH_R8A7791 | 240 | depends on ARCH_R8A7791 |
232 | select USE_OF | 241 | select USE_OF |
233 | 242 | ||
234 | config MACH_KZM9D | ||
235 | bool "KZM9D board" | ||
236 | depends on ARCH_EMEV2 | ||
237 | select REGULATOR_FIXED_VOLTAGE if REGULATOR | ||
238 | select USE_OF | ||
239 | |||
240 | config MACH_KZM9G | 243 | config MACH_KZM9G |
241 | bool "KZM-A9-GT board" | 244 | bool "KZM-A9-GT board" |
242 | depends on ARCH_SH73A0 | 245 | depends on ARCH_SH73A0 |
@@ -274,7 +277,7 @@ source "drivers/sh/Kconfig" | |||
274 | 277 | ||
275 | endif | 278 | endif |
276 | 279 | ||
277 | if ARCH_SHMOBILE || ARCH_SHMOBILE_MULTI | 280 | if ARCH_SHMOBILE |
278 | 281 | ||
279 | menu "Timer and clock configuration" | 282 | menu "Timer and clock configuration" |
280 | 283 | ||
diff --git a/arch/arm/mach-shmobile/Makefile b/arch/arm/mach-shmobile/Makefile index 51db2bcafabf..c7e877499dc2 100644 --- a/arch/arm/mach-shmobile/Makefile +++ b/arch/arm/mach-shmobile/Makefile | |||
@@ -71,7 +71,6 @@ obj-$(CONFIG_MACH_LAGER_REFERENCE) += board-lager-reference.o | |||
71 | obj-$(CONFIG_MACH_ARMADILLO800EVA) += board-armadillo800eva.o | 71 | obj-$(CONFIG_MACH_ARMADILLO800EVA) += board-armadillo800eva.o |
72 | obj-$(CONFIG_MACH_ARMADILLO800EVA_REFERENCE) += board-armadillo800eva-reference.o | 72 | obj-$(CONFIG_MACH_ARMADILLO800EVA_REFERENCE) += board-armadillo800eva-reference.o |
73 | obj-$(CONFIG_MACH_KOELSCH) += board-koelsch.o | 73 | obj-$(CONFIG_MACH_KOELSCH) += board-koelsch.o |
74 | obj-$(CONFIG_MACH_KZM9D) += board-kzm9d.o | ||
75 | obj-$(CONFIG_MACH_KZM9G) += board-kzm9g.o | 74 | obj-$(CONFIG_MACH_KZM9G) += board-kzm9g.o |
76 | obj-$(CONFIG_MACH_KZM9G_REFERENCE) += board-kzm9g-reference.o | 75 | obj-$(CONFIG_MACH_KZM9G_REFERENCE) += board-kzm9g-reference.o |
77 | endif | 76 | endif |
diff --git a/arch/arm/mach-shmobile/Makefile.boot b/arch/arm/mach-shmobile/Makefile.boot index 391d72a5536c..4f30e3dc0919 100644 --- a/arch/arm/mach-shmobile/Makefile.boot +++ b/arch/arm/mach-shmobile/Makefile.boot | |||
@@ -8,7 +8,6 @@ loadaddr-$(CONFIG_MACH_BOCKW) += 0x60008000 | |||
8 | loadaddr-$(CONFIG_MACH_BOCKW_REFERENCE) += 0x60008000 | 8 | loadaddr-$(CONFIG_MACH_BOCKW_REFERENCE) += 0x60008000 |
9 | loadaddr-$(CONFIG_MACH_GENMAI) += 0x8008000 | 9 | loadaddr-$(CONFIG_MACH_GENMAI) += 0x8008000 |
10 | loadaddr-$(CONFIG_MACH_KOELSCH) += 0x40008000 | 10 | loadaddr-$(CONFIG_MACH_KOELSCH) += 0x40008000 |
11 | loadaddr-$(CONFIG_MACH_KZM9D) += 0x40008000 | ||
12 | loadaddr-$(CONFIG_MACH_KZM9G) += 0x41008000 | 11 | loadaddr-$(CONFIG_MACH_KZM9G) += 0x41008000 |
13 | loadaddr-$(CONFIG_MACH_KZM9G_REFERENCE) += 0x41008000 | 12 | loadaddr-$(CONFIG_MACH_KZM9G_REFERENCE) += 0x41008000 |
14 | loadaddr-$(CONFIG_MACH_LAGER) += 0x40008000 | 13 | loadaddr-$(CONFIG_MACH_LAGER) += 0x40008000 |
diff --git a/arch/arm/mach-shmobile/board-bockw-reference.c b/arch/arm/mach-shmobile/board-bockw-reference.c index 1687df9b267f..875cf3f3f503 100644 --- a/arch/arm/mach-shmobile/board-bockw-reference.c +++ b/arch/arm/mach-shmobile/board-bockw-reference.c | |||
@@ -27,14 +27,6 @@ | |||
27 | * see board-bock.c for checking detail of dip-switch | 27 | * see board-bock.c for checking detail of dip-switch |
28 | */ | 28 | */ |
29 | 29 | ||
30 | static const struct pinctrl_map bockw_pinctrl_map[] = { | ||
31 | /* SCIF0 */ | ||
32 | PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.0", "pfc-r8a7778", | ||
33 | "scif0_data_a", "scif0"), | ||
34 | PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.0", "pfc-r8a7778", | ||
35 | "scif0_ctrl", "scif0"), | ||
36 | }; | ||
37 | |||
38 | #define FPGA 0x18200000 | 30 | #define FPGA 0x18200000 |
39 | #define IRQ0MR 0x30 | 31 | #define IRQ0MR 0x30 |
40 | #define COMCTLR 0x101c | 32 | #define COMCTLR 0x101c |
@@ -44,10 +36,6 @@ static void __init bockw_init(void) | |||
44 | 36 | ||
45 | r8a7778_clock_init(); | 37 | r8a7778_clock_init(); |
46 | r8a7778_init_irq_extpin_dt(1); | 38 | r8a7778_init_irq_extpin_dt(1); |
47 | |||
48 | pinctrl_register_mappings(bockw_pinctrl_map, | ||
49 | ARRAY_SIZE(bockw_pinctrl_map)); | ||
50 | r8a7778_pinmux_init(); | ||
51 | r8a7778_add_dt_devices(); | 39 | r8a7778_add_dt_devices(); |
52 | 40 | ||
53 | fpga = ioremap_nocache(FPGA, SZ_1M); | 41 | fpga = ioremap_nocache(FPGA, SZ_1M); |
diff --git a/arch/arm/mach-shmobile/board-kzm9d.c b/arch/arm/mach-shmobile/board-kzm9d.c deleted file mode 100644 index 30c2cc695b12..000000000000 --- a/arch/arm/mach-shmobile/board-kzm9d.c +++ /dev/null | |||
@@ -1,92 +0,0 @@ | |||
1 | /* | ||
2 | * kzm9d board support | ||
3 | * | ||
4 | * Copyright (C) 2012 Renesas Solutions Corp. | ||
5 | * Copyright (C) 2012 Magnus Damm | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; version 2 of the License. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
19 | */ | ||
20 | |||
21 | #include <linux/kernel.h> | ||
22 | #include <linux/interrupt.h> | ||
23 | #include <linux/platform_device.h> | ||
24 | #include <linux/regulator/fixed.h> | ||
25 | #include <linux/regulator/machine.h> | ||
26 | #include <linux/smsc911x.h> | ||
27 | #include <mach/common.h> | ||
28 | #include <mach/emev2.h> | ||
29 | #include <asm/mach-types.h> | ||
30 | #include <asm/mach/arch.h> | ||
31 | |||
32 | /* Dummy supplies, where voltage doesn't matter */ | ||
33 | static struct regulator_consumer_supply dummy_supplies[] = { | ||
34 | REGULATOR_SUPPLY("vddvario", "smsc911x"), | ||
35 | REGULATOR_SUPPLY("vdd33a", "smsc911x"), | ||
36 | }; | ||
37 | |||
38 | /* Ether */ | ||
39 | static struct resource smsc911x_resources[] = { | ||
40 | [0] = { | ||
41 | .start = 0x20000000, | ||
42 | .end = 0x2000ffff, | ||
43 | .flags = IORESOURCE_MEM, | ||
44 | }, | ||
45 | [1] = { | ||
46 | .start = EMEV2_GPIO_IRQ(1), | ||
47 | .flags = IORESOURCE_IRQ | IRQF_TRIGGER_HIGH, | ||
48 | }, | ||
49 | }; | ||
50 | |||
51 | static struct smsc911x_platform_config smsc911x_platdata = { | ||
52 | .flags = SMSC911X_USE_32BIT, | ||
53 | .irq_type = SMSC911X_IRQ_TYPE_PUSH_PULL, | ||
54 | .irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_HIGH, | ||
55 | }; | ||
56 | |||
57 | static struct platform_device smsc91x_device = { | ||
58 | .name = "smsc911x", | ||
59 | .id = -1, | ||
60 | .dev = { | ||
61 | .platform_data = &smsc911x_platdata, | ||
62 | }, | ||
63 | .num_resources = ARRAY_SIZE(smsc911x_resources), | ||
64 | .resource = smsc911x_resources, | ||
65 | }; | ||
66 | |||
67 | static struct platform_device *kzm9d_devices[] __initdata = { | ||
68 | &smsc91x_device, | ||
69 | }; | ||
70 | |||
71 | void __init kzm9d_add_standard_devices(void) | ||
72 | { | ||
73 | regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies)); | ||
74 | |||
75 | emev2_add_standard_devices(); | ||
76 | |||
77 | platform_add_devices(kzm9d_devices, ARRAY_SIZE(kzm9d_devices)); | ||
78 | } | ||
79 | |||
80 | static const char *kzm9d_boards_compat_dt[] __initdata = { | ||
81 | "renesas,kzm9d", | ||
82 | NULL, | ||
83 | }; | ||
84 | |||
85 | DT_MACHINE_START(KZM9D_DT, "kzm9d") | ||
86 | .smp = smp_ops(emev2_smp_ops), | ||
87 | .map_io = emev2_map_io, | ||
88 | .init_early = emev2_init_delay, | ||
89 | .init_machine = kzm9d_add_standard_devices, | ||
90 | .init_late = shmobile_init_late, | ||
91 | .dt_compat = kzm9d_boards_compat_dt, | ||
92 | MACHINE_END | ||
diff --git a/arch/arm/mach-shmobile/board-marzen.c b/arch/arm/mach-shmobile/board-marzen.c index 4f9e3ec42ddc..d832a4477b4b 100644 --- a/arch/arm/mach-shmobile/board-marzen.c +++ b/arch/arm/mach-shmobile/board-marzen.c | |||
@@ -347,8 +347,6 @@ static const struct pinctrl_map marzen_pinctrl_map[] = { | |||
347 | "sdhi0_ctrl", "sdhi0"), | 347 | "sdhi0_ctrl", "sdhi0"), |
348 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-r8a7779", | 348 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-r8a7779", |
349 | "sdhi0_cd", "sdhi0"), | 349 | "sdhi0_cd", "sdhi0"), |
350 | PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-r8a7779", | ||
351 | "sdhi0_wp", "sdhi0"), | ||
352 | /* SMSC */ | 350 | /* SMSC */ |
353 | PIN_MAP_MUX_GROUP_DEFAULT("smsc911x", "pfc-r8a7779", | 351 | PIN_MAP_MUX_GROUP_DEFAULT("smsc911x", "pfc-r8a7779", |
354 | "intc_irq1_b", "intc"), | 352 | "intc_irq1_b", "intc"), |
diff --git a/arch/arm/mach-shmobile/clock-r7s72100.c b/arch/arm/mach-shmobile/clock-r7s72100.c index 0814a508fd61..7b457aed8253 100644 --- a/arch/arm/mach-shmobile/clock-r7s72100.c +++ b/arch/arm/mach-shmobile/clock-r7s72100.c | |||
@@ -181,6 +181,7 @@ static struct clk_lookup lookups[] = { | |||
181 | CLKDEV_ICK_ID("sci_fck", "sh-sci.5", &mstp_clks[MSTP42]), | 181 | CLKDEV_ICK_ID("sci_fck", "sh-sci.5", &mstp_clks[MSTP42]), |
182 | CLKDEV_ICK_ID("sci_fck", "sh-sci.6", &mstp_clks[MSTP41]), | 182 | CLKDEV_ICK_ID("sci_fck", "sh-sci.6", &mstp_clks[MSTP41]), |
183 | CLKDEV_ICK_ID("sci_fck", "sh-sci.7", &mstp_clks[MSTP40]), | 183 | CLKDEV_ICK_ID("sci_fck", "sh-sci.7", &mstp_clks[MSTP40]), |
184 | CLKDEV_CON_ID("mtu2_fck", &mstp_clks[MSTP33]), | ||
184 | }; | 185 | }; |
185 | 186 | ||
186 | void __init r7s72100_clock_init(void) | 187 | void __init r7s72100_clock_init(void) |
diff --git a/arch/arm/mach-shmobile/clock-r8a73a4.c b/arch/arm/mach-shmobile/clock-r8a73a4.c index 571409b611d3..7348d58f500e 100644 --- a/arch/arm/mach-shmobile/clock-r8a73a4.c +++ b/arch/arm/mach-shmobile/clock-r8a73a4.c | |||
@@ -584,15 +584,15 @@ static struct clk_lookup lookups[] = { | |||
584 | CLKDEV_DEV_ID("rcar_thermal", &mstp_clks[MSTP522]), | 584 | CLKDEV_DEV_ID("rcar_thermal", &mstp_clks[MSTP522]), |
585 | CLKDEV_DEV_ID("e6520000.i2c", &mstp_clks[MSTP300]), | 585 | CLKDEV_DEV_ID("e6520000.i2c", &mstp_clks[MSTP300]), |
586 | CLKDEV_DEV_ID("sh_mmcif.1", &mstp_clks[MSTP305]), | 586 | CLKDEV_DEV_ID("sh_mmcif.1", &mstp_clks[MSTP305]), |
587 | CLKDEV_DEV_ID("ee220000.mmcif", &mstp_clks[MSTP305]), | 587 | CLKDEV_DEV_ID("ee220000.mmc", &mstp_clks[MSTP305]), |
588 | CLKDEV_DEV_ID("sh_mobile_sdhi.2", &mstp_clks[MSTP312]), | 588 | CLKDEV_DEV_ID("sh_mobile_sdhi.2", &mstp_clks[MSTP312]), |
589 | CLKDEV_DEV_ID("ee140000.sdhi", &mstp_clks[MSTP312]), | 589 | CLKDEV_DEV_ID("ee140000.sd", &mstp_clks[MSTP312]), |
590 | CLKDEV_DEV_ID("sh_mobile_sdhi.1", &mstp_clks[MSTP313]), | 590 | CLKDEV_DEV_ID("sh_mobile_sdhi.1", &mstp_clks[MSTP313]), |
591 | CLKDEV_DEV_ID("ee120000.sdhi", &mstp_clks[MSTP313]), | 591 | CLKDEV_DEV_ID("ee120000.sd", &mstp_clks[MSTP313]), |
592 | CLKDEV_DEV_ID("sh_mobile_sdhi.0", &mstp_clks[MSTP314]), | 592 | CLKDEV_DEV_ID("sh_mobile_sdhi.0", &mstp_clks[MSTP314]), |
593 | CLKDEV_DEV_ID("ee100000.sdhi", &mstp_clks[MSTP314]), | 593 | CLKDEV_DEV_ID("ee100000.sd", &mstp_clks[MSTP314]), |
594 | CLKDEV_DEV_ID("sh_mmcif.0", &mstp_clks[MSTP315]), | 594 | CLKDEV_DEV_ID("sh_mmcif.0", &mstp_clks[MSTP315]), |
595 | CLKDEV_DEV_ID("ee200000.mmcif", &mstp_clks[MSTP315]), | 595 | CLKDEV_DEV_ID("ee200000.mmc", &mstp_clks[MSTP315]), |
596 | CLKDEV_DEV_ID("e6550000.i2c", &mstp_clks[MSTP316]), | 596 | CLKDEV_DEV_ID("e6550000.i2c", &mstp_clks[MSTP316]), |
597 | CLKDEV_DEV_ID("e6560000.i2c", &mstp_clks[MSTP317]), | 597 | CLKDEV_DEV_ID("e6560000.i2c", &mstp_clks[MSTP317]), |
598 | CLKDEV_DEV_ID("e6500000.i2c", &mstp_clks[MSTP318]), | 598 | CLKDEV_DEV_ID("e6500000.i2c", &mstp_clks[MSTP318]), |
diff --git a/arch/arm/mach-shmobile/clock-r8a7740.c b/arch/arm/mach-shmobile/clock-r8a7740.c index c826bca4024e..dd989f93498f 100644 --- a/arch/arm/mach-shmobile/clock-r8a7740.c +++ b/arch/arm/mach-shmobile/clock-r8a7740.c | |||
@@ -585,22 +585,23 @@ static struct clk_lookup lookups[] = { | |||
585 | 585 | ||
586 | CLKDEV_DEV_ID("sh_cmt.10", &mstp_clks[MSTP329]), | 586 | CLKDEV_DEV_ID("sh_cmt.10", &mstp_clks[MSTP329]), |
587 | CLKDEV_DEV_ID("sh_fsi2", &mstp_clks[MSTP328]), | 587 | CLKDEV_DEV_ID("sh_fsi2", &mstp_clks[MSTP328]), |
588 | CLKDEV_DEV_ID("fe1f0000.sound", &mstp_clks[MSTP328]), | ||
588 | CLKDEV_DEV_ID("i2c-sh_mobile.1", &mstp_clks[MSTP323]), | 589 | CLKDEV_DEV_ID("i2c-sh_mobile.1", &mstp_clks[MSTP323]), |
589 | CLKDEV_DEV_ID("e6c20000.i2c", &mstp_clks[MSTP323]), | 590 | CLKDEV_DEV_ID("e6c20000.i2c", &mstp_clks[MSTP323]), |
590 | CLKDEV_DEV_ID("renesas_usbhs", &mstp_clks[MSTP320]), | 591 | CLKDEV_DEV_ID("renesas_usbhs", &mstp_clks[MSTP320]), |
591 | CLKDEV_DEV_ID("sh_mobile_sdhi.0", &mstp_clks[MSTP314]), | 592 | CLKDEV_DEV_ID("sh_mobile_sdhi.0", &mstp_clks[MSTP314]), |
592 | CLKDEV_DEV_ID("e6850000.sdhi", &mstp_clks[MSTP314]), | 593 | CLKDEV_DEV_ID("e6850000.sd", &mstp_clks[MSTP314]), |
593 | CLKDEV_DEV_ID("sh_mobile_sdhi.1", &mstp_clks[MSTP313]), | 594 | CLKDEV_DEV_ID("sh_mobile_sdhi.1", &mstp_clks[MSTP313]), |
594 | CLKDEV_DEV_ID("e6860000.sdhi", &mstp_clks[MSTP313]), | 595 | CLKDEV_DEV_ID("e6860000.sd", &mstp_clks[MSTP313]), |
595 | CLKDEV_DEV_ID("sh_mmcif", &mstp_clks[MSTP312]), | 596 | CLKDEV_DEV_ID("sh_mmcif", &mstp_clks[MSTP312]), |
596 | CLKDEV_DEV_ID("e6bd0000.mmcif", &mstp_clks[MSTP312]), | 597 | CLKDEV_DEV_ID("e6bd0000.mmc", &mstp_clks[MSTP312]), |
597 | CLKDEV_DEV_ID("r8a7740-gether", &mstp_clks[MSTP309]), | 598 | CLKDEV_DEV_ID("r8a7740-gether", &mstp_clks[MSTP309]), |
598 | CLKDEV_DEV_ID("e9a00000.sh-eth", &mstp_clks[MSTP309]), | 599 | CLKDEV_DEV_ID("e9a00000.sh-eth", &mstp_clks[MSTP309]), |
599 | CLKDEV_DEV_ID("renesas-tpu-pwm", &mstp_clks[MSTP304]), | 600 | CLKDEV_DEV_ID("renesas-tpu-pwm", &mstp_clks[MSTP304]), |
600 | CLKDEV_DEV_ID("e6600000.pwm", &mstp_clks[MSTP304]), | 601 | CLKDEV_DEV_ID("e6600000.pwm", &mstp_clks[MSTP304]), |
601 | 602 | ||
602 | CLKDEV_DEV_ID("sh_mobile_sdhi.2", &mstp_clks[MSTP415]), | 603 | CLKDEV_DEV_ID("sh_mobile_sdhi.2", &mstp_clks[MSTP415]), |
603 | CLKDEV_DEV_ID("e6870000.sdhi", &mstp_clks[MSTP415]), | 604 | CLKDEV_DEV_ID("e6870000.sd", &mstp_clks[MSTP415]), |
604 | 605 | ||
605 | /* ICK */ | 606 | /* ICK */ |
606 | CLKDEV_ICK_ID("host", "renesas_usbhs", &mstp_clks[MSTP416]), | 607 | CLKDEV_ICK_ID("host", "renesas_usbhs", &mstp_clks[MSTP416]), |
diff --git a/arch/arm/mach-shmobile/clock-r8a7778.c b/arch/arm/mach-shmobile/clock-r8a7778.c index fb6af83858e3..4b601bf4ede4 100644 --- a/arch/arm/mach-shmobile/clock-r8a7778.c +++ b/arch/arm/mach-shmobile/clock-r8a7778.c | |||
@@ -173,9 +173,13 @@ static struct clk_lookup lookups[] = { | |||
173 | 173 | ||
174 | /* MSTP32 clocks */ | 174 | /* MSTP32 clocks */ |
175 | CLKDEV_DEV_ID("sh_mmcif", &mstp_clks[MSTP331]), /* MMC */ | 175 | CLKDEV_DEV_ID("sh_mmcif", &mstp_clks[MSTP331]), /* MMC */ |
176 | CLKDEV_DEV_ID("ffe4e000.mmc", &mstp_clks[MSTP331]), /* MMC */ | ||
176 | CLKDEV_DEV_ID("sh_mobile_sdhi.0", &mstp_clks[MSTP323]), /* SDHI0 */ | 177 | CLKDEV_DEV_ID("sh_mobile_sdhi.0", &mstp_clks[MSTP323]), /* SDHI0 */ |
178 | CLKDEV_DEV_ID("ffe4c000.sd", &mstp_clks[MSTP323]), /* SDHI0 */ | ||
177 | CLKDEV_DEV_ID("sh_mobile_sdhi.1", &mstp_clks[MSTP322]), /* SDHI1 */ | 179 | CLKDEV_DEV_ID("sh_mobile_sdhi.1", &mstp_clks[MSTP322]), /* SDHI1 */ |
180 | CLKDEV_DEV_ID("ffe4d000.sd", &mstp_clks[MSTP322]), /* SDHI1 */ | ||
178 | CLKDEV_DEV_ID("sh_mobile_sdhi.2", &mstp_clks[MSTP321]), /* SDHI2 */ | 181 | CLKDEV_DEV_ID("sh_mobile_sdhi.2", &mstp_clks[MSTP321]), /* SDHI2 */ |
182 | CLKDEV_DEV_ID("ffe4f000.sd", &mstp_clks[MSTP321]), /* SDHI2 */ | ||
179 | CLKDEV_DEV_ID("r8a777x-ether", &mstp_clks[MSTP114]), /* Ether */ | 183 | CLKDEV_DEV_ID("r8a777x-ether", &mstp_clks[MSTP114]), /* Ether */ |
180 | CLKDEV_DEV_ID("r8a7778-vin.0", &mstp_clks[MSTP110]), /* VIN0 */ | 184 | CLKDEV_DEV_ID("r8a7778-vin.0", &mstp_clks[MSTP110]), /* VIN0 */ |
181 | CLKDEV_DEV_ID("r8a7778-vin.1", &mstp_clks[MSTP109]), /* VIN1 */ | 185 | CLKDEV_DEV_ID("r8a7778-vin.1", &mstp_clks[MSTP109]), /* VIN1 */ |
@@ -183,9 +187,13 @@ static struct clk_lookup lookups[] = { | |||
183 | CLKDEV_DEV_ID("ohci-platform", &mstp_clks[MSTP100]), /* USB OHCI port0/1 */ | 187 | CLKDEV_DEV_ID("ohci-platform", &mstp_clks[MSTP100]), /* USB OHCI port0/1 */ |
184 | CLKDEV_DEV_ID("renesas_usbhs", &mstp_clks[MSTP100]), /* USB FUNC */ | 188 | CLKDEV_DEV_ID("renesas_usbhs", &mstp_clks[MSTP100]), /* USB FUNC */ |
185 | CLKDEV_DEV_ID("i2c-rcar.0", &mstp_clks[MSTP030]), /* I2C0 */ | 189 | CLKDEV_DEV_ID("i2c-rcar.0", &mstp_clks[MSTP030]), /* I2C0 */ |
190 | CLKDEV_DEV_ID("ffc70000.i2c", &mstp_clks[MSTP030]), /* I2C0 */ | ||
186 | CLKDEV_DEV_ID("i2c-rcar.1", &mstp_clks[MSTP029]), /* I2C1 */ | 191 | CLKDEV_DEV_ID("i2c-rcar.1", &mstp_clks[MSTP029]), /* I2C1 */ |
192 | CLKDEV_DEV_ID("ffc71000.i2c", &mstp_clks[MSTP029]), /* I2C1 */ | ||
187 | CLKDEV_DEV_ID("i2c-rcar.2", &mstp_clks[MSTP028]), /* I2C2 */ | 193 | CLKDEV_DEV_ID("i2c-rcar.2", &mstp_clks[MSTP028]), /* I2C2 */ |
194 | CLKDEV_DEV_ID("ffc72000.i2c", &mstp_clks[MSTP028]), /* I2C2 */ | ||
188 | CLKDEV_DEV_ID("i2c-rcar.3", &mstp_clks[MSTP027]), /* I2C3 */ | 195 | CLKDEV_DEV_ID("i2c-rcar.3", &mstp_clks[MSTP027]), /* I2C3 */ |
196 | CLKDEV_DEV_ID("ffc73000.i2c", &mstp_clks[MSTP027]), /* I2C3 */ | ||
189 | CLKDEV_DEV_ID("sh-sci.0", &mstp_clks[MSTP026]), /* SCIF0 */ | 197 | CLKDEV_DEV_ID("sh-sci.0", &mstp_clks[MSTP026]), /* SCIF0 */ |
190 | CLKDEV_DEV_ID("sh-sci.1", &mstp_clks[MSTP025]), /* SCIF1 */ | 198 | CLKDEV_DEV_ID("sh-sci.1", &mstp_clks[MSTP025]), /* SCIF1 */ |
191 | CLKDEV_DEV_ID("sh-sci.2", &mstp_clks[MSTP024]), /* SCIF2 */ | 199 | CLKDEV_DEV_ID("sh-sci.2", &mstp_clks[MSTP024]), /* SCIF2 */ |
@@ -195,8 +203,11 @@ static struct clk_lookup lookups[] = { | |||
195 | CLKDEV_DEV_ID("sh_tmu.0", &mstp_clks[MSTP016]), /* TMU00 */ | 203 | CLKDEV_DEV_ID("sh_tmu.0", &mstp_clks[MSTP016]), /* TMU00 */ |
196 | CLKDEV_DEV_ID("sh_tmu.1", &mstp_clks[MSTP015]), /* TMU01 */ | 204 | CLKDEV_DEV_ID("sh_tmu.1", &mstp_clks[MSTP015]), /* TMU01 */ |
197 | CLKDEV_DEV_ID("sh-hspi.0", &mstp_clks[MSTP007]), /* HSPI0 */ | 205 | CLKDEV_DEV_ID("sh-hspi.0", &mstp_clks[MSTP007]), /* HSPI0 */ |
206 | CLKDEV_DEV_ID("fffc7000.spi", &mstp_clks[MSTP007]), /* HSPI0 */ | ||
198 | CLKDEV_DEV_ID("sh-hspi.1", &mstp_clks[MSTP007]), /* HSPI1 */ | 207 | CLKDEV_DEV_ID("sh-hspi.1", &mstp_clks[MSTP007]), /* HSPI1 */ |
208 | CLKDEV_DEV_ID("fffc8000.spi", &mstp_clks[MSTP007]), /* HSPI1 */ | ||
199 | CLKDEV_DEV_ID("sh-hspi.2", &mstp_clks[MSTP007]), /* HSPI2 */ | 209 | CLKDEV_DEV_ID("sh-hspi.2", &mstp_clks[MSTP007]), /* HSPI2 */ |
210 | CLKDEV_DEV_ID("fffc6000.spi", &mstp_clks[MSTP007]), /* HSPI2 */ | ||
200 | CLKDEV_DEV_ID("rcar_sound", &mstp_clks[MSTP008]), /* SRU */ | 211 | CLKDEV_DEV_ID("rcar_sound", &mstp_clks[MSTP008]), /* SRU */ |
201 | 212 | ||
202 | CLKDEV_ICK_ID("ssi.0", "rcar_sound", &mstp_clks[MSTP012]), | 213 | CLKDEV_ICK_ID("ssi.0", "rcar_sound", &mstp_clks[MSTP012]), |
diff --git a/arch/arm/mach-shmobile/clock-r8a7779.c b/arch/arm/mach-shmobile/clock-r8a7779.c index 1f7080fab0a5..f1fb89b76786 100644 --- a/arch/arm/mach-shmobile/clock-r8a7779.c +++ b/arch/arm/mach-shmobile/clock-r8a7779.c | |||
@@ -184,9 +184,13 @@ static struct clk_lookup lookups[] = { | |||
184 | CLKDEV_DEV_ID("sh_tmu.1", &mstp_clks[MSTP016]), /* TMU01 */ | 184 | CLKDEV_DEV_ID("sh_tmu.1", &mstp_clks[MSTP016]), /* TMU01 */ |
185 | CLKDEV_DEV_ID("sh_tmu.2", &mstp_clks[MSTP016]), /* TMU02 */ | 185 | CLKDEV_DEV_ID("sh_tmu.2", &mstp_clks[MSTP016]), /* TMU02 */ |
186 | CLKDEV_DEV_ID("i2c-rcar.0", &mstp_clks[MSTP030]), /* I2C0 */ | 186 | CLKDEV_DEV_ID("i2c-rcar.0", &mstp_clks[MSTP030]), /* I2C0 */ |
187 | CLKDEV_DEV_ID("ffc70000.i2c", &mstp_clks[MSTP030]), /* I2C0 */ | ||
187 | CLKDEV_DEV_ID("i2c-rcar.1", &mstp_clks[MSTP029]), /* I2C1 */ | 188 | CLKDEV_DEV_ID("i2c-rcar.1", &mstp_clks[MSTP029]), /* I2C1 */ |
189 | CLKDEV_DEV_ID("ffc71000.i2c", &mstp_clks[MSTP029]), /* I2C1 */ | ||
188 | CLKDEV_DEV_ID("i2c-rcar.2", &mstp_clks[MSTP028]), /* I2C2 */ | 190 | CLKDEV_DEV_ID("i2c-rcar.2", &mstp_clks[MSTP028]), /* I2C2 */ |
191 | CLKDEV_DEV_ID("ffc72000.i2c", &mstp_clks[MSTP028]), /* I2C2 */ | ||
189 | CLKDEV_DEV_ID("i2c-rcar.3", &mstp_clks[MSTP027]), /* I2C3 */ | 192 | CLKDEV_DEV_ID("i2c-rcar.3", &mstp_clks[MSTP027]), /* I2C3 */ |
193 | CLKDEV_DEV_ID("ffc73000.i2c", &mstp_clks[MSTP027]), /* I2C3 */ | ||
190 | CLKDEV_DEV_ID("sh-sci.0", &mstp_clks[MSTP026]), /* SCIF0 */ | 194 | CLKDEV_DEV_ID("sh-sci.0", &mstp_clks[MSTP026]), /* SCIF0 */ |
191 | CLKDEV_DEV_ID("sh-sci.1", &mstp_clks[MSTP025]), /* SCIF1 */ | 195 | CLKDEV_DEV_ID("sh-sci.1", &mstp_clks[MSTP025]), /* SCIF1 */ |
192 | CLKDEV_DEV_ID("sh-sci.2", &mstp_clks[MSTP024]), /* SCIF2 */ | 196 | CLKDEV_DEV_ID("sh-sci.2", &mstp_clks[MSTP024]), /* SCIF2 */ |
@@ -194,12 +198,19 @@ static struct clk_lookup lookups[] = { | |||
194 | CLKDEV_DEV_ID("sh-sci.4", &mstp_clks[MSTP022]), /* SCIF4 */ | 198 | CLKDEV_DEV_ID("sh-sci.4", &mstp_clks[MSTP022]), /* SCIF4 */ |
195 | CLKDEV_DEV_ID("sh-sci.5", &mstp_clks[MSTP021]), /* SCIF6 */ | 199 | CLKDEV_DEV_ID("sh-sci.5", &mstp_clks[MSTP021]), /* SCIF6 */ |
196 | CLKDEV_DEV_ID("sh-hspi.0", &mstp_clks[MSTP007]), /* HSPI0 */ | 200 | CLKDEV_DEV_ID("sh-hspi.0", &mstp_clks[MSTP007]), /* HSPI0 */ |
201 | CLKDEV_DEV_ID("fffc7000.spi", &mstp_clks[MSTP007]), /* HSPI0 */ | ||
197 | CLKDEV_DEV_ID("sh-hspi.1", &mstp_clks[MSTP007]), /* HSPI1 */ | 202 | CLKDEV_DEV_ID("sh-hspi.1", &mstp_clks[MSTP007]), /* HSPI1 */ |
203 | CLKDEV_DEV_ID("fffc8000.spi", &mstp_clks[MSTP007]), /* HSPI1 */ | ||
198 | CLKDEV_DEV_ID("sh-hspi.2", &mstp_clks[MSTP007]), /* HSPI2 */ | 204 | CLKDEV_DEV_ID("sh-hspi.2", &mstp_clks[MSTP007]), /* HSPI2 */ |
205 | CLKDEV_DEV_ID("fffc6000.spi", &mstp_clks[MSTP007]), /* HSPI2 */ | ||
199 | CLKDEV_DEV_ID("sh_mobile_sdhi.0", &mstp_clks[MSTP323]), /* SDHI0 */ | 206 | CLKDEV_DEV_ID("sh_mobile_sdhi.0", &mstp_clks[MSTP323]), /* SDHI0 */ |
207 | CLKDEV_DEV_ID("ffe4c000.sd", &mstp_clks[MSTP323]), /* SDHI0 */ | ||
200 | CLKDEV_DEV_ID("sh_mobile_sdhi.1", &mstp_clks[MSTP322]), /* SDHI1 */ | 208 | CLKDEV_DEV_ID("sh_mobile_sdhi.1", &mstp_clks[MSTP322]), /* SDHI1 */ |
209 | CLKDEV_DEV_ID("ffe4d000.sd", &mstp_clks[MSTP322]), /* SDHI1 */ | ||
201 | CLKDEV_DEV_ID("sh_mobile_sdhi.2", &mstp_clks[MSTP321]), /* SDHI2 */ | 210 | CLKDEV_DEV_ID("sh_mobile_sdhi.2", &mstp_clks[MSTP321]), /* SDHI2 */ |
211 | CLKDEV_DEV_ID("ffe4e000.sd", &mstp_clks[MSTP321]), /* SDHI2 */ | ||
202 | CLKDEV_DEV_ID("sh_mobile_sdhi.3", &mstp_clks[MSTP320]), /* SDHI3 */ | 212 | CLKDEV_DEV_ID("sh_mobile_sdhi.3", &mstp_clks[MSTP320]), /* SDHI3 */ |
213 | CLKDEV_DEV_ID("ffe4f000.sd", &mstp_clks[MSTP320]), /* SDHI3 */ | ||
203 | CLKDEV_DEV_ID("rcar-du-r8a7779", &mstp_clks[MSTP103]), /* DU */ | 214 | CLKDEV_DEV_ID("rcar-du-r8a7779", &mstp_clks[MSTP103]), /* DU */ |
204 | }; | 215 | }; |
205 | 216 | ||
diff --git a/arch/arm/mach-shmobile/clock-r8a7790.c b/arch/arm/mach-shmobile/clock-r8a7790.c index fa1b4773677a..312376d2cfd1 100644 --- a/arch/arm/mach-shmobile/clock-r8a7790.c +++ b/arch/arm/mach-shmobile/clock-r8a7790.c | |||
@@ -53,6 +53,7 @@ | |||
53 | #define SMSTPCR7 0xe615014c | 53 | #define SMSTPCR7 0xe615014c |
54 | #define SMSTPCR8 0xe6150990 | 54 | #define SMSTPCR8 0xe6150990 |
55 | #define SMSTPCR9 0xe6150994 | 55 | #define SMSTPCR9 0xe6150994 |
56 | #define SMSTPCR10 0xe6150998 | ||
56 | 57 | ||
57 | #define SDCKCR 0xE6150074 | 58 | #define SDCKCR 0xE6150074 |
58 | #define SD2CKCR 0xE6150078 | 59 | #define SD2CKCR 0xE6150078 |
@@ -182,10 +183,14 @@ static struct clk div6_clks[DIV6_NR] = { | |||
182 | 183 | ||
183 | /* MSTP */ | 184 | /* MSTP */ |
184 | enum { | 185 | enum { |
186 | MSTP1015, MSTP1014, MSTP1013, MSTP1012, MSTP1011, MSTP1010, | ||
187 | MSTP1009, MSTP1008, MSTP1007, MSTP1006, MSTP1005, | ||
185 | MSTP931, MSTP930, MSTP929, MSTP928, | 188 | MSTP931, MSTP930, MSTP929, MSTP928, |
189 | MSTP917, | ||
186 | MSTP813, | 190 | MSTP813, |
187 | MSTP726, MSTP725, MSTP724, MSTP723, MSTP722, MSTP721, MSTP720, | 191 | MSTP726, MSTP725, MSTP724, MSTP723, MSTP722, MSTP721, MSTP720, |
188 | MSTP717, MSTP716, | 192 | MSTP717, MSTP716, |
193 | MSTP704, | ||
189 | MSTP522, | 194 | MSTP522, |
190 | MSTP315, MSTP314, MSTP313, MSTP312, MSTP311, MSTP305, MSTP304, | 195 | MSTP315, MSTP314, MSTP313, MSTP312, MSTP311, MSTP305, MSTP304, |
191 | MSTP216, MSTP207, MSTP206, MSTP204, MSTP203, MSTP202, | 196 | MSTP216, MSTP207, MSTP206, MSTP204, MSTP203, MSTP202, |
@@ -194,10 +199,22 @@ enum { | |||
194 | }; | 199 | }; |
195 | 200 | ||
196 | static struct clk mstp_clks[MSTP_NR] = { | 201 | static struct clk mstp_clks[MSTP_NR] = { |
197 | [MSTP931] = SH_CLK_MSTP32(&hp_clk, SMSTPCR9, 31, 0), /* I2C0 */ | 202 | [MSTP1015] = SH_CLK_MSTP32(&p_clk, SMSTPCR10, 15, 0), /* SSI0 */ |
198 | [MSTP930] = SH_CLK_MSTP32(&hp_clk, SMSTPCR9, 30, 0), /* I2C1 */ | 203 | [MSTP1014] = SH_CLK_MSTP32(&p_clk, SMSTPCR10, 14, 0), /* SSI1 */ |
199 | [MSTP929] = SH_CLK_MSTP32(&hp_clk, SMSTPCR9, 29, 0), /* I2C2 */ | 204 | [MSTP1013] = SH_CLK_MSTP32(&p_clk, SMSTPCR10, 13, 0), /* SSI2 */ |
200 | [MSTP928] = SH_CLK_MSTP32(&hp_clk, SMSTPCR9, 28, 0), /* I2C3 */ | 205 | [MSTP1012] = SH_CLK_MSTP32(&p_clk, SMSTPCR10, 12, 0), /* SSI3 */ |
206 | [MSTP1011] = SH_CLK_MSTP32(&p_clk, SMSTPCR10, 11, 0), /* SSI4 */ | ||
207 | [MSTP1010] = SH_CLK_MSTP32(&p_clk, SMSTPCR10, 10, 0), /* SSI5 */ | ||
208 | [MSTP1009] = SH_CLK_MSTP32(&p_clk, SMSTPCR10, 9, 0), /* SSI6 */ | ||
209 | [MSTP1008] = SH_CLK_MSTP32(&p_clk, SMSTPCR10, 8, 0), /* SSI7 */ | ||
210 | [MSTP1007] = SH_CLK_MSTP32(&p_clk, SMSTPCR10, 7, 0), /* SSI8 */ | ||
211 | [MSTP1006] = SH_CLK_MSTP32(&p_clk, SMSTPCR10, 6, 0), /* SSI9 */ | ||
212 | [MSTP1005] = SH_CLK_MSTP32(&p_clk, SMSTPCR10, 5, 0), /* SSI ALL */ | ||
213 | [MSTP931] = SH_CLK_MSTP32(&p_clk, SMSTPCR9, 31, 0), /* I2C0 */ | ||
214 | [MSTP930] = SH_CLK_MSTP32(&p_clk, SMSTPCR9, 30, 0), /* I2C1 */ | ||
215 | [MSTP929] = SH_CLK_MSTP32(&p_clk, SMSTPCR9, 29, 0), /* I2C2 */ | ||
216 | [MSTP928] = SH_CLK_MSTP32(&p_clk, SMSTPCR9, 28, 0), /* I2C3 */ | ||
217 | [MSTP917] = SH_CLK_MSTP32(&qspi_clk, SMSTPCR9, 17, 0), /* QSPI */ | ||
201 | [MSTP813] = SH_CLK_MSTP32(&p_clk, SMSTPCR8, 13, 0), /* Ether */ | 218 | [MSTP813] = SH_CLK_MSTP32(&p_clk, SMSTPCR8, 13, 0), /* Ether */ |
202 | [MSTP726] = SH_CLK_MSTP32(&zx_clk, SMSTPCR7, 26, 0), /* LVDS0 */ | 219 | [MSTP726] = SH_CLK_MSTP32(&zx_clk, SMSTPCR7, 26, 0), /* LVDS0 */ |
203 | [MSTP725] = SH_CLK_MSTP32(&zx_clk, SMSTPCR7, 25, 0), /* LVDS1 */ | 220 | [MSTP725] = SH_CLK_MSTP32(&zx_clk, SMSTPCR7, 25, 0), /* LVDS1 */ |
@@ -208,6 +225,7 @@ static struct clk mstp_clks[MSTP_NR] = { | |||
208 | [MSTP720] = SH_CLK_MSTP32(&p_clk, SMSTPCR7, 20, 0), /* SCIF1 */ | 225 | [MSTP720] = SH_CLK_MSTP32(&p_clk, SMSTPCR7, 20, 0), /* SCIF1 */ |
209 | [MSTP717] = SH_CLK_MSTP32(&zs_clk, SMSTPCR7, 17, 0), /* HSCIF0 */ | 226 | [MSTP717] = SH_CLK_MSTP32(&zs_clk, SMSTPCR7, 17, 0), /* HSCIF0 */ |
210 | [MSTP716] = SH_CLK_MSTP32(&zs_clk, SMSTPCR7, 16, 0), /* HSCIF1 */ | 227 | [MSTP716] = SH_CLK_MSTP32(&zs_clk, SMSTPCR7, 16, 0), /* HSCIF1 */ |
228 | [MSTP704] = SH_CLK_MSTP32(&mp_clk, SMSTPCR7, 4, 0), /* HSUSB */ | ||
211 | [MSTP522] = SH_CLK_MSTP32(&extal_clk, SMSTPCR5, 22, 0), /* Thermal */ | 229 | [MSTP522] = SH_CLK_MSTP32(&extal_clk, SMSTPCR5, 22, 0), /* Thermal */ |
212 | [MSTP315] = SH_CLK_MSTP32(&div6_clks[DIV6_MMC0], SMSTPCR3, 15, 0), /* MMC0 */ | 230 | [MSTP315] = SH_CLK_MSTP32(&div6_clks[DIV6_MMC0], SMSTPCR3, 15, 0), /* MMC0 */ |
213 | [MSTP314] = SH_CLK_MSTP32(&div4_clks[DIV4_SD0], SMSTPCR3, 14, 0), /* SDHI0 */ | 231 | [MSTP314] = SH_CLK_MSTP32(&div4_clks[DIV4_SD0], SMSTPCR3, 14, 0), /* SDHI0 */ |
@@ -262,11 +280,7 @@ static struct clk_lookup lookups[] = { | |||
262 | CLKDEV_CON_ID("ssprs", &div6_clks[DIV6_SSPRS]), | 280 | CLKDEV_CON_ID("ssprs", &div6_clks[DIV6_SSPRS]), |
263 | 281 | ||
264 | /* MSTP */ | 282 | /* MSTP */ |
265 | CLKDEV_ICK_ID("lvds.0", "rcar-du-r8a7790", &mstp_clks[MSTP726]), | 283 | CLKDEV_DEV_ID("rcar_sound", &mstp_clks[MSTP1005]), |
266 | CLKDEV_ICK_ID("lvds.1", "rcar-du-r8a7790", &mstp_clks[MSTP725]), | ||
267 | CLKDEV_ICK_ID("du.0", "rcar-du-r8a7790", &mstp_clks[MSTP724]), | ||
268 | CLKDEV_ICK_ID("du.1", "rcar-du-r8a7790", &mstp_clks[MSTP723]), | ||
269 | CLKDEV_ICK_ID("du.2", "rcar-du-r8a7790", &mstp_clks[MSTP722]), | ||
270 | CLKDEV_DEV_ID("sh-sci.0", &mstp_clks[MSTP204]), | 284 | CLKDEV_DEV_ID("sh-sci.0", &mstp_clks[MSTP204]), |
271 | CLKDEV_DEV_ID("sh-sci.1", &mstp_clks[MSTP203]), | 285 | CLKDEV_DEV_ID("sh-sci.1", &mstp_clks[MSTP203]), |
272 | CLKDEV_DEV_ID("sh-sci.2", &mstp_clks[MSTP206]), | 286 | CLKDEV_DEV_ID("sh-sci.2", &mstp_clks[MSTP206]), |
@@ -282,20 +296,42 @@ static struct clk_lookup lookups[] = { | |||
282 | CLKDEV_DEV_ID("e6530000.i2c", &mstp_clks[MSTP929]), | 296 | CLKDEV_DEV_ID("e6530000.i2c", &mstp_clks[MSTP929]), |
283 | CLKDEV_DEV_ID("e6540000.i2c", &mstp_clks[MSTP928]), | 297 | CLKDEV_DEV_ID("e6540000.i2c", &mstp_clks[MSTP928]), |
284 | CLKDEV_DEV_ID("r8a7790-ether", &mstp_clks[MSTP813]), | 298 | CLKDEV_DEV_ID("r8a7790-ether", &mstp_clks[MSTP813]), |
299 | CLKDEV_DEV_ID("e61f0000.thermal", &mstp_clks[MSTP522]), | ||
285 | CLKDEV_DEV_ID("rcar_thermal", &mstp_clks[MSTP522]), | 300 | CLKDEV_DEV_ID("rcar_thermal", &mstp_clks[MSTP522]), |
286 | CLKDEV_DEV_ID("ee200000.mmcif", &mstp_clks[MSTP315]), | 301 | CLKDEV_DEV_ID("ee200000.mmc", &mstp_clks[MSTP315]), |
287 | CLKDEV_DEV_ID("sh_mmcif.0", &mstp_clks[MSTP315]), | 302 | CLKDEV_DEV_ID("sh_mmcif.0", &mstp_clks[MSTP315]), |
288 | CLKDEV_DEV_ID("ee100000.sdhi", &mstp_clks[MSTP314]), | 303 | CLKDEV_DEV_ID("ee100000.sd", &mstp_clks[MSTP314]), |
289 | CLKDEV_DEV_ID("sh_mobile_sdhi.0", &mstp_clks[MSTP314]), | 304 | CLKDEV_DEV_ID("sh_mobile_sdhi.0", &mstp_clks[MSTP314]), |
290 | CLKDEV_DEV_ID("ee120000.sdhi", &mstp_clks[MSTP313]), | 305 | CLKDEV_DEV_ID("ee120000.sd", &mstp_clks[MSTP313]), |
291 | CLKDEV_DEV_ID("sh_mobile_sdhi.1", &mstp_clks[MSTP313]), | 306 | CLKDEV_DEV_ID("sh_mobile_sdhi.1", &mstp_clks[MSTP313]), |
292 | CLKDEV_DEV_ID("ee140000.sdhi", &mstp_clks[MSTP312]), | 307 | CLKDEV_DEV_ID("ee140000.sd", &mstp_clks[MSTP312]), |
293 | CLKDEV_DEV_ID("sh_mobile_sdhi.2", &mstp_clks[MSTP312]), | 308 | CLKDEV_DEV_ID("sh_mobile_sdhi.2", &mstp_clks[MSTP312]), |
294 | CLKDEV_DEV_ID("ee160000.sdhi", &mstp_clks[MSTP311]), | 309 | CLKDEV_DEV_ID("ee160000.sd", &mstp_clks[MSTP311]), |
295 | CLKDEV_DEV_ID("sh_mobile_sdhi.3", &mstp_clks[MSTP311]), | 310 | CLKDEV_DEV_ID("sh_mobile_sdhi.3", &mstp_clks[MSTP311]), |
296 | CLKDEV_DEV_ID("ee220000.mmcif", &mstp_clks[MSTP305]), | 311 | CLKDEV_DEV_ID("ee220000.mmc", &mstp_clks[MSTP305]), |
297 | CLKDEV_DEV_ID("sh_mmcif.1", &mstp_clks[MSTP305]), | 312 | CLKDEV_DEV_ID("sh_mmcif.1", &mstp_clks[MSTP305]), |
298 | CLKDEV_DEV_ID("sh_cmt.0", &mstp_clks[MSTP124]), | 313 | CLKDEV_DEV_ID("sh_cmt.0", &mstp_clks[MSTP124]), |
314 | CLKDEV_DEV_ID("qspi.0", &mstp_clks[MSTP917]), | ||
315 | CLKDEV_DEV_ID("renesas_usbhs", &mstp_clks[MSTP704]), | ||
316 | |||
317 | /* ICK */ | ||
318 | CLKDEV_ICK_ID("usbhs", "usb_phy_rcar_gen2", &mstp_clks[MSTP704]), | ||
319 | CLKDEV_ICK_ID("lvds.0", "rcar-du-r8a7790", &mstp_clks[MSTP726]), | ||
320 | CLKDEV_ICK_ID("lvds.1", "rcar-du-r8a7790", &mstp_clks[MSTP725]), | ||
321 | CLKDEV_ICK_ID("du.0", "rcar-du-r8a7790", &mstp_clks[MSTP724]), | ||
322 | CLKDEV_ICK_ID("du.1", "rcar-du-r8a7790", &mstp_clks[MSTP723]), | ||
323 | CLKDEV_ICK_ID("du.2", "rcar-du-r8a7790", &mstp_clks[MSTP722]), | ||
324 | CLKDEV_ICK_ID("ssi.0", "rcar_sound", &mstp_clks[MSTP1015]), | ||
325 | CLKDEV_ICK_ID("ssi.1", "rcar_sound", &mstp_clks[MSTP1014]), | ||
326 | CLKDEV_ICK_ID("ssi.2", "rcar_sound", &mstp_clks[MSTP1013]), | ||
327 | CLKDEV_ICK_ID("ssi.3", "rcar_sound", &mstp_clks[MSTP1012]), | ||
328 | CLKDEV_ICK_ID("ssi.4", "rcar_sound", &mstp_clks[MSTP1011]), | ||
329 | CLKDEV_ICK_ID("ssi.5", "rcar_sound", &mstp_clks[MSTP1010]), | ||
330 | CLKDEV_ICK_ID("ssi.6", "rcar_sound", &mstp_clks[MSTP1009]), | ||
331 | CLKDEV_ICK_ID("ssi.7", "rcar_sound", &mstp_clks[MSTP1008]), | ||
332 | CLKDEV_ICK_ID("ssi.8", "rcar_sound", &mstp_clks[MSTP1007]), | ||
333 | CLKDEV_ICK_ID("ssi.9", "rcar_sound", &mstp_clks[MSTP1006]), | ||
334 | |||
299 | }; | 335 | }; |
300 | 336 | ||
301 | #define R8A7790_CLOCK_ROOT(e, m, p0, p1, p30, p31) \ | 337 | #define R8A7790_CLOCK_ROOT(e, m, p0, p1, p30, p31) \ |
@@ -321,10 +357,10 @@ void __init r8a7790_clock_init(void) | |||
321 | R8A7790_CLOCK_ROOT(20, &extal_clk, 130, 156, 80, 66); | 357 | R8A7790_CLOCK_ROOT(20, &extal_clk, 130, 156, 80, 66); |
322 | break; | 358 | break; |
323 | case MD(14): | 359 | case MD(14): |
324 | R8A7790_CLOCK_ROOT(26, &extal_div2_clk, 200, 240, 122, 102); | 360 | R8A7790_CLOCK_ROOT(26 / 2, &extal_div2_clk, 200, 240, 122, 102); |
325 | break; | 361 | break; |
326 | case MD(13) | MD(14): | 362 | case MD(13) | MD(14): |
327 | R8A7790_CLOCK_ROOT(30, &extal_div2_clk, 172, 208, 106, 88); | 363 | R8A7790_CLOCK_ROOT(30 / 2, &extal_div2_clk, 172, 208, 106, 88); |
328 | break; | 364 | break; |
329 | } | 365 | } |
330 | 366 | ||
diff --git a/arch/arm/mach-shmobile/clock-r8a7791.c b/arch/arm/mach-shmobile/clock-r8a7791.c index c9a26f16ce5b..ff2d60d55bd5 100644 --- a/arch/arm/mach-shmobile/clock-r8a7791.c +++ b/arch/arm/mach-shmobile/clock-r8a7791.c | |||
@@ -103,6 +103,7 @@ SH_FIXED_RATIO_CLK_SET(hp_clk, pll1_clk, 1, 12); | |||
103 | SH_FIXED_RATIO_CLK_SET(p_clk, pll1_clk, 1, 24); | 103 | SH_FIXED_RATIO_CLK_SET(p_clk, pll1_clk, 1, 24); |
104 | SH_FIXED_RATIO_CLK_SET(rclk_clk, pll1_clk, 1, (48 * 1024)); | 104 | SH_FIXED_RATIO_CLK_SET(rclk_clk, pll1_clk, 1, (48 * 1024)); |
105 | SH_FIXED_RATIO_CLK_SET(mp_clk, pll1_div2_clk, 1, 15); | 105 | SH_FIXED_RATIO_CLK_SET(mp_clk, pll1_div2_clk, 1, 15); |
106 | SH_FIXED_RATIO_CLK_SET(zx_clk, pll1_clk, 1, 3); | ||
106 | 107 | ||
107 | static struct clk *main_clks[] = { | 108 | static struct clk *main_clks[] = { |
108 | &extal_clk, | 109 | &extal_clk, |
@@ -116,12 +117,14 @@ static struct clk *main_clks[] = { | |||
116 | &rclk_clk, | 117 | &rclk_clk, |
117 | &mp_clk, | 118 | &mp_clk, |
118 | &cp_clk, | 119 | &cp_clk, |
120 | &zx_clk, | ||
119 | }; | 121 | }; |
120 | 122 | ||
121 | /* MSTP */ | 123 | /* MSTP */ |
122 | enum { | 124 | enum { |
123 | MSTP721, MSTP720, | 125 | MSTP726, MSTP724, MSTP723, MSTP721, MSTP720, |
124 | MSTP719, MSTP718, MSTP715, MSTP714, | 126 | MSTP719, MSTP718, MSTP715, MSTP714, |
127 | MSTP522, | ||
125 | MSTP216, MSTP207, MSTP206, | 128 | MSTP216, MSTP207, MSTP206, |
126 | MSTP204, MSTP203, MSTP202, MSTP1105, MSTP1106, MSTP1107, | 129 | MSTP204, MSTP203, MSTP202, MSTP1105, MSTP1106, MSTP1107, |
127 | MSTP124, | 130 | MSTP124, |
@@ -129,12 +132,16 @@ enum { | |||
129 | }; | 132 | }; |
130 | 133 | ||
131 | static struct clk mstp_clks[MSTP_NR] = { | 134 | static struct clk mstp_clks[MSTP_NR] = { |
135 | [MSTP726] = SH_CLK_MSTP32(&zx_clk, SMSTPCR7, 26, 0), /* LVDS0 */ | ||
136 | [MSTP724] = SH_CLK_MSTP32(&zx_clk, SMSTPCR7, 24, 0), /* DU0 */ | ||
137 | [MSTP723] = SH_CLK_MSTP32(&zx_clk, SMSTPCR7, 23, 0), /* DU1 */ | ||
132 | [MSTP721] = SH_CLK_MSTP32(&p_clk, SMSTPCR7, 21, 0), /* SCIF0 */ | 138 | [MSTP721] = SH_CLK_MSTP32(&p_clk, SMSTPCR7, 21, 0), /* SCIF0 */ |
133 | [MSTP720] = SH_CLK_MSTP32(&p_clk, SMSTPCR7, 20, 0), /* SCIF1 */ | 139 | [MSTP720] = SH_CLK_MSTP32(&p_clk, SMSTPCR7, 20, 0), /* SCIF1 */ |
134 | [MSTP719] = SH_CLK_MSTP32(&p_clk, SMSTPCR7, 19, 0), /* SCIF2 */ | 140 | [MSTP719] = SH_CLK_MSTP32(&p_clk, SMSTPCR7, 19, 0), /* SCIF2 */ |
135 | [MSTP718] = SH_CLK_MSTP32(&p_clk, SMSTPCR7, 18, 0), /* SCIF3 */ | 141 | [MSTP718] = SH_CLK_MSTP32(&p_clk, SMSTPCR7, 18, 0), /* SCIF3 */ |
136 | [MSTP715] = SH_CLK_MSTP32(&p_clk, SMSTPCR7, 15, 0), /* SCIF4 */ | 142 | [MSTP715] = SH_CLK_MSTP32(&p_clk, SMSTPCR7, 15, 0), /* SCIF4 */ |
137 | [MSTP714] = SH_CLK_MSTP32(&p_clk, SMSTPCR7, 14, 0), /* SCIF5 */ | 143 | [MSTP714] = SH_CLK_MSTP32(&p_clk, SMSTPCR7, 14, 0), /* SCIF5 */ |
144 | [MSTP522] = SH_CLK_MSTP32(&extal_clk, SMSTPCR5, 22, 0), /* Thermal */ | ||
138 | [MSTP216] = SH_CLK_MSTP32(&mp_clk, SMSTPCR2, 16, 0), /* SCIFB2 */ | 145 | [MSTP216] = SH_CLK_MSTP32(&mp_clk, SMSTPCR2, 16, 0), /* SCIFB2 */ |
139 | [MSTP207] = SH_CLK_MSTP32(&mp_clk, SMSTPCR2, 7, 0), /* SCIFB1 */ | 146 | [MSTP207] = SH_CLK_MSTP32(&mp_clk, SMSTPCR2, 7, 0), /* SCIFB1 */ |
140 | [MSTP206] = SH_CLK_MSTP32(&mp_clk, SMSTPCR2, 6, 0), /* SCIFB0 */ | 147 | [MSTP206] = SH_CLK_MSTP32(&mp_clk, SMSTPCR2, 6, 0), /* SCIFB0 */ |
@@ -164,6 +171,9 @@ static struct clk_lookup lookups[] = { | |||
164 | CLKDEV_CON_ID("peripheral_clk", &hp_clk), | 171 | CLKDEV_CON_ID("peripheral_clk", &hp_clk), |
165 | 172 | ||
166 | /* MSTP */ | 173 | /* MSTP */ |
174 | CLKDEV_ICK_ID("lvds.0", "rcar-du-r8a7791", &mstp_clks[MSTP726]), | ||
175 | CLKDEV_ICK_ID("du.0", "rcar-du-r8a7791", &mstp_clks[MSTP724]), | ||
176 | CLKDEV_ICK_ID("du.1", "rcar-du-r8a7791", &mstp_clks[MSTP723]), | ||
167 | CLKDEV_DEV_ID("sh-sci.0", &mstp_clks[MSTP204]), /* SCIFA0 */ | 177 | CLKDEV_DEV_ID("sh-sci.0", &mstp_clks[MSTP204]), /* SCIFA0 */ |
168 | CLKDEV_DEV_ID("sh-sci.1", &mstp_clks[MSTP203]), /* SCIFA1 */ | 178 | CLKDEV_DEV_ID("sh-sci.1", &mstp_clks[MSTP203]), /* SCIFA1 */ |
169 | CLKDEV_DEV_ID("sh-sci.2", &mstp_clks[MSTP206]), /* SCIFB0 */ | 179 | CLKDEV_DEV_ID("sh-sci.2", &mstp_clks[MSTP206]), /* SCIFB0 */ |
@@ -180,6 +190,8 @@ static struct clk_lookup lookups[] = { | |||
180 | CLKDEV_DEV_ID("sh-sci.13", &mstp_clks[MSTP1106]), /* SCIFA4 */ | 190 | CLKDEV_DEV_ID("sh-sci.13", &mstp_clks[MSTP1106]), /* SCIFA4 */ |
181 | CLKDEV_DEV_ID("sh-sci.14", &mstp_clks[MSTP1107]), /* SCIFA5 */ | 191 | CLKDEV_DEV_ID("sh-sci.14", &mstp_clks[MSTP1107]), /* SCIFA5 */ |
182 | CLKDEV_DEV_ID("sh_cmt.0", &mstp_clks[MSTP124]), | 192 | CLKDEV_DEV_ID("sh_cmt.0", &mstp_clks[MSTP124]), |
193 | CLKDEV_DEV_ID("e61f0000.thermal", &mstp_clks[MSTP522]), | ||
194 | CLKDEV_DEV_ID("rcar_thermal", &mstp_clks[MSTP522]), | ||
183 | }; | 195 | }; |
184 | 196 | ||
185 | #define R8A7791_CLOCK_ROOT(e, m, p0, p1, p30, p31) \ | 197 | #define R8A7791_CLOCK_ROOT(e, m, p0, p1, p30, p31) \ |
diff --git a/arch/arm/mach-shmobile/clock-sh73a0.c b/arch/arm/mach-shmobile/clock-sh73a0.c index 2aeec468cf7c..30d88689a960 100644 --- a/arch/arm/mach-shmobile/clock-sh73a0.c +++ b/arch/arm/mach-shmobile/clock-sh73a0.c | |||
@@ -657,13 +657,13 @@ static struct clk_lookup lookups[] = { | |||
657 | CLKDEV_DEV_ID("e6822000.i2c", &mstp_clks[MSTP323]), /* I2C1 */ | 657 | CLKDEV_DEV_ID("e6822000.i2c", &mstp_clks[MSTP323]), /* I2C1 */ |
658 | CLKDEV_DEV_ID("renesas_usbhs", &mstp_clks[MSTP322]), /* USB */ | 658 | CLKDEV_DEV_ID("renesas_usbhs", &mstp_clks[MSTP322]), /* USB */ |
659 | CLKDEV_DEV_ID("sh_mobile_sdhi.0", &mstp_clks[MSTP314]), /* SDHI0 */ | 659 | CLKDEV_DEV_ID("sh_mobile_sdhi.0", &mstp_clks[MSTP314]), /* SDHI0 */ |
660 | CLKDEV_DEV_ID("ee100000.sdhi", &mstp_clks[MSTP314]), /* SDHI0 */ | 660 | CLKDEV_DEV_ID("ee100000.sd", &mstp_clks[MSTP314]), /* SDHI0 */ |
661 | CLKDEV_DEV_ID("sh_mobile_sdhi.1", &mstp_clks[MSTP313]), /* SDHI1 */ | 661 | CLKDEV_DEV_ID("sh_mobile_sdhi.1", &mstp_clks[MSTP313]), /* SDHI1 */ |
662 | CLKDEV_DEV_ID("ee120000.sdhi", &mstp_clks[MSTP313]), /* SDHI1 */ | 662 | CLKDEV_DEV_ID("ee120000.sd", &mstp_clks[MSTP313]), /* SDHI1 */ |
663 | CLKDEV_DEV_ID("sh_mmcif.0", &mstp_clks[MSTP312]), /* MMCIF0 */ | 663 | CLKDEV_DEV_ID("sh_mmcif.0", &mstp_clks[MSTP312]), /* MMCIF0 */ |
664 | CLKDEV_DEV_ID("e6bd0000.mmcif", &mstp_clks[MSTP312]), /* MMCIF0 */ | 664 | CLKDEV_DEV_ID("e6bd0000.mmc", &mstp_clks[MSTP312]), /* MMCIF0 */ |
665 | CLKDEV_DEV_ID("sh_mobile_sdhi.2", &mstp_clks[MSTP311]), /* SDHI2 */ | 665 | CLKDEV_DEV_ID("sh_mobile_sdhi.2", &mstp_clks[MSTP311]), /* SDHI2 */ |
666 | CLKDEV_DEV_ID("ee140000.sdhi", &mstp_clks[MSTP311]), /* SDHI2 */ | 666 | CLKDEV_DEV_ID("ee140000.sd", &mstp_clks[MSTP311]), /* SDHI2 */ |
667 | CLKDEV_DEV_ID("renesas-tpu-pwm.0", &mstp_clks[MSTP304]), /* TPU0 */ | 667 | CLKDEV_DEV_ID("renesas-tpu-pwm.0", &mstp_clks[MSTP304]), /* TPU0 */ |
668 | CLKDEV_DEV_ID("renesas-tpu-pwm.1", &mstp_clks[MSTP303]), /* TPU1 */ | 668 | CLKDEV_DEV_ID("renesas-tpu-pwm.1", &mstp_clks[MSTP303]), /* TPU1 */ |
669 | CLKDEV_DEV_ID("renesas-tpu-pwm.2", &mstp_clks[MSTP302]), /* TPU2 */ | 669 | CLKDEV_DEV_ID("renesas-tpu-pwm.2", &mstp_clks[MSTP302]), /* TPU2 */ |
diff --git a/arch/arm/mach-shmobile/include/mach/emev2.h b/arch/arm/mach-shmobile/include/mach/emev2.h index c2eb7568d9be..fcb142a14e07 100644 --- a/arch/arm/mach-shmobile/include/mach/emev2.h +++ b/arch/arm/mach-shmobile/include/mach/emev2.h | |||
@@ -3,12 +3,7 @@ | |||
3 | 3 | ||
4 | extern void emev2_map_io(void); | 4 | extern void emev2_map_io(void); |
5 | extern void emev2_init_delay(void); | 5 | extern void emev2_init_delay(void); |
6 | extern void emev2_add_standard_devices(void); | ||
7 | extern void emev2_clock_init(void); | 6 | extern void emev2_clock_init(void); |
8 | |||
9 | #define EMEV2_GPIO_BASE 200 | ||
10 | #define EMEV2_GPIO_IRQ(n) (EMEV2_GPIO_BASE + (n)) | ||
11 | |||
12 | extern struct smp_operations emev2_smp_ops; | 7 | extern struct smp_operations emev2_smp_ops; |
13 | 8 | ||
14 | #endif /* __ASM_EMEV2_H__ */ | 9 | #endif /* __ASM_EMEV2_H__ */ |
diff --git a/arch/arm/mach-shmobile/include/mach/r8a7778.h b/arch/arm/mach-shmobile/include/mach/r8a7778.h index 441886c9714b..b497f932d04f 100644 --- a/arch/arm/mach-shmobile/include/mach/r8a7778.h +++ b/arch/arm/mach-shmobile/include/mach/r8a7778.h | |||
@@ -27,6 +27,24 @@ enum { | |||
27 | HPBDMA_SLAVE_DUMMY, | 27 | HPBDMA_SLAVE_DUMMY, |
28 | HPBDMA_SLAVE_SDHI0_TX, | 28 | HPBDMA_SLAVE_SDHI0_TX, |
29 | HPBDMA_SLAVE_SDHI0_RX, | 29 | HPBDMA_SLAVE_SDHI0_RX, |
30 | HPBDMA_SLAVE_HPBIF0_TX, | ||
31 | HPBDMA_SLAVE_HPBIF0_RX, | ||
32 | HPBDMA_SLAVE_HPBIF1_TX, | ||
33 | HPBDMA_SLAVE_HPBIF1_RX, | ||
34 | HPBDMA_SLAVE_HPBIF2_TX, | ||
35 | HPBDMA_SLAVE_HPBIF2_RX, | ||
36 | HPBDMA_SLAVE_HPBIF3_TX, | ||
37 | HPBDMA_SLAVE_HPBIF3_RX, | ||
38 | HPBDMA_SLAVE_HPBIF4_TX, | ||
39 | HPBDMA_SLAVE_HPBIF4_RX, | ||
40 | HPBDMA_SLAVE_HPBIF5_TX, | ||
41 | HPBDMA_SLAVE_HPBIF5_RX, | ||
42 | HPBDMA_SLAVE_HPBIF6_TX, | ||
43 | HPBDMA_SLAVE_HPBIF6_RX, | ||
44 | HPBDMA_SLAVE_HPBIF7_TX, | ||
45 | HPBDMA_SLAVE_HPBIF7_RX, | ||
46 | HPBDMA_SLAVE_HPBIF8_TX, | ||
47 | HPBDMA_SLAVE_HPBIF8_RX, | ||
30 | }; | 48 | }; |
31 | 49 | ||
32 | extern void r8a7778_add_standard_devices(void); | 50 | extern void r8a7778_add_standard_devices(void); |
diff --git a/arch/arm/mach-shmobile/include/mach/r8a7791.h b/arch/arm/mach-shmobile/include/mach/r8a7791.h index 051ead3c286e..200fa699f730 100644 --- a/arch/arm/mach-shmobile/include/mach/r8a7791.h +++ b/arch/arm/mach-shmobile/include/mach/r8a7791.h | |||
@@ -4,6 +4,7 @@ | |||
4 | void r8a7791_add_standard_devices(void); | 4 | void r8a7791_add_standard_devices(void); |
5 | void r8a7791_add_dt_devices(void); | 5 | void r8a7791_add_dt_devices(void); |
6 | void r8a7791_clock_init(void); | 6 | void r8a7791_clock_init(void); |
7 | void r8a7791_pinmux_init(void); | ||
7 | void r8a7791_init_early(void); | 8 | void r8a7791_init_early(void); |
8 | extern struct smp_operations r8a7791_smp_ops; | 9 | extern struct smp_operations r8a7791_smp_ops; |
9 | 10 | ||
diff --git a/arch/arm/mach-shmobile/setup-emev2.c b/arch/arm/mach-shmobile/setup-emev2.c index 3ad531caf4f0..c8f2a1a69a52 100644 --- a/arch/arm/mach-shmobile/setup-emev2.c +++ b/arch/arm/mach-shmobile/setup-emev2.c | |||
@@ -16,24 +16,15 @@ | |||
16 | * along with this program; if not, write to the Free Software | 16 | * along with this program; if not, write to the Free Software |
17 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | 17 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
18 | */ | 18 | */ |
19 | #include <linux/clk-provider.h> | ||
19 | #include <linux/kernel.h> | 20 | #include <linux/kernel.h> |
20 | #include <linux/init.h> | 21 | #include <linux/init.h> |
21 | #include <linux/interrupt.h> | ||
22 | #include <linux/irq.h> | ||
23 | #include <linux/platform_device.h> | ||
24 | #include <linux/platform_data/gpio-em.h> | ||
25 | #include <linux/of_platform.h> | 22 | #include <linux/of_platform.h> |
26 | #include <linux/delay.h> | ||
27 | #include <linux/input.h> | ||
28 | #include <linux/io.h> | ||
29 | #include <linux/irqchip/arm-gic.h> | ||
30 | #include <mach/common.h> | 23 | #include <mach/common.h> |
31 | #include <mach/emev2.h> | 24 | #include <mach/emev2.h> |
32 | #include <mach/irqs.h> | ||
33 | #include <asm/mach-types.h> | 25 | #include <asm/mach-types.h> |
34 | #include <asm/mach/arch.h> | 26 | #include <asm/mach/arch.h> |
35 | #include <asm/mach/map.h> | 27 | #include <asm/mach/map.h> |
36 | #include <asm/mach/time.h> | ||
37 | 28 | ||
38 | static struct map_desc emev2_io_desc[] __initdata = { | 29 | static struct map_desc emev2_io_desc[] __initdata = { |
39 | #ifdef CONFIG_SMP | 30 | #ifdef CONFIG_SMP |
@@ -52,150 +43,20 @@ void __init emev2_map_io(void) | |||
52 | iotable_init(emev2_io_desc, ARRAY_SIZE(emev2_io_desc)); | 43 | iotable_init(emev2_io_desc, ARRAY_SIZE(emev2_io_desc)); |
53 | } | 44 | } |
54 | 45 | ||
55 | /* UART */ | ||
56 | static struct resource uart0_resources[] = { | ||
57 | DEFINE_RES_MEM(0xe1020000, 0x38), | ||
58 | DEFINE_RES_IRQ(40), | ||
59 | }; | ||
60 | |||
61 | static struct resource uart1_resources[] = { | ||
62 | DEFINE_RES_MEM(0xe1030000, 0x38), | ||
63 | DEFINE_RES_IRQ(41), | ||
64 | }; | ||
65 | |||
66 | static struct resource uart2_resources[] = { | ||
67 | DEFINE_RES_MEM(0xe1040000, 0x38), | ||
68 | DEFINE_RES_IRQ(42), | ||
69 | }; | ||
70 | |||
71 | static struct resource uart3_resources[] = { | ||
72 | DEFINE_RES_MEM(0xe1050000, 0x38), | ||
73 | DEFINE_RES_IRQ(43), | ||
74 | }; | ||
75 | |||
76 | #define emev2_register_uart(idx) \ | ||
77 | platform_device_register_simple("serial8250-em", idx, \ | ||
78 | uart##idx##_resources, \ | ||
79 | ARRAY_SIZE(uart##idx##_resources)) | ||
80 | |||
81 | /* STI */ | ||
82 | static struct resource sti_resources[] = { | ||
83 | DEFINE_RES_MEM(0xe0180000, 0x54), | ||
84 | DEFINE_RES_IRQ(157), | ||
85 | }; | ||
86 | |||
87 | #define emev2_register_sti() \ | ||
88 | platform_device_register_simple("em_sti", 0, \ | ||
89 | sti_resources, \ | ||
90 | ARRAY_SIZE(sti_resources)) | ||
91 | |||
92 | /* GIO */ | ||
93 | static struct gpio_em_config gio0_config = { | ||
94 | .gpio_base = 0, | ||
95 | .irq_base = EMEV2_GPIO_IRQ(0), | ||
96 | .number_of_pins = 32, | ||
97 | }; | ||
98 | |||
99 | static struct resource gio0_resources[] = { | ||
100 | DEFINE_RES_MEM(0xe0050000, 0x2c), | ||
101 | DEFINE_RES_MEM(0xe0050040, 0x20), | ||
102 | DEFINE_RES_IRQ(99), | ||
103 | DEFINE_RES_IRQ(100), | ||
104 | }; | ||
105 | |||
106 | static struct gpio_em_config gio1_config = { | ||
107 | .gpio_base = 32, | ||
108 | .irq_base = EMEV2_GPIO_IRQ(32), | ||
109 | .number_of_pins = 32, | ||
110 | }; | ||
111 | |||
112 | static struct resource gio1_resources[] = { | ||
113 | DEFINE_RES_MEM(0xe0050080, 0x2c), | ||
114 | DEFINE_RES_MEM(0xe00500c0, 0x20), | ||
115 | DEFINE_RES_IRQ(101), | ||
116 | DEFINE_RES_IRQ(102), | ||
117 | }; | ||
118 | |||
119 | static struct gpio_em_config gio2_config = { | ||
120 | .gpio_base = 64, | ||
121 | .irq_base = EMEV2_GPIO_IRQ(64), | ||
122 | .number_of_pins = 32, | ||
123 | }; | ||
124 | |||
125 | static struct resource gio2_resources[] = { | ||
126 | DEFINE_RES_MEM(0xe0050100, 0x2c), | ||
127 | DEFINE_RES_MEM(0xe0050140, 0x20), | ||
128 | DEFINE_RES_IRQ(103), | ||
129 | DEFINE_RES_IRQ(104), | ||
130 | }; | ||
131 | |||
132 | static struct gpio_em_config gio3_config = { | ||
133 | .gpio_base = 96, | ||
134 | .irq_base = EMEV2_GPIO_IRQ(96), | ||
135 | .number_of_pins = 32, | ||
136 | }; | ||
137 | |||
138 | static struct resource gio3_resources[] = { | ||
139 | DEFINE_RES_MEM(0xe0050180, 0x2c), | ||
140 | DEFINE_RES_MEM(0xe00501c0, 0x20), | ||
141 | DEFINE_RES_IRQ(105), | ||
142 | DEFINE_RES_IRQ(106), | ||
143 | }; | ||
144 | |||
145 | static struct gpio_em_config gio4_config = { | ||
146 | .gpio_base = 128, | ||
147 | .irq_base = EMEV2_GPIO_IRQ(128), | ||
148 | .number_of_pins = 31, | ||
149 | }; | ||
150 | |||
151 | static struct resource gio4_resources[] = { | ||
152 | DEFINE_RES_MEM(0xe0050200, 0x2c), | ||
153 | DEFINE_RES_MEM(0xe0050240, 0x20), | ||
154 | DEFINE_RES_IRQ(107), | ||
155 | DEFINE_RES_IRQ(108), | ||
156 | }; | ||
157 | |||
158 | #define emev2_register_gio(idx) \ | ||
159 | platform_device_register_resndata(&platform_bus, "em_gio", \ | ||
160 | idx, gio##idx##_resources, \ | ||
161 | ARRAY_SIZE(gio##idx##_resources), \ | ||
162 | &gio##idx##_config, \ | ||
163 | sizeof(struct gpio_em_config)) | ||
164 | |||
165 | static struct resource pmu_resources[] = { | ||
166 | DEFINE_RES_IRQ(152), | ||
167 | DEFINE_RES_IRQ(153), | ||
168 | }; | ||
169 | |||
170 | #define emev2_register_pmu() \ | ||
171 | platform_device_register_simple("arm-pmu", -1, \ | ||
172 | pmu_resources, \ | ||
173 | ARRAY_SIZE(pmu_resources)) | ||
174 | |||
175 | void __init emev2_add_standard_devices(void) | ||
176 | { | ||
177 | if (!IS_ENABLED(CONFIG_COMMON_CLK)) | ||
178 | emev2_clock_init(); | ||
179 | |||
180 | emev2_register_uart(0); | ||
181 | emev2_register_uart(1); | ||
182 | emev2_register_uart(2); | ||
183 | emev2_register_uart(3); | ||
184 | emev2_register_sti(); | ||
185 | emev2_register_gio(0); | ||
186 | emev2_register_gio(1); | ||
187 | emev2_register_gio(2); | ||
188 | emev2_register_gio(3); | ||
189 | emev2_register_gio(4); | ||
190 | emev2_register_pmu(); | ||
191 | } | ||
192 | |||
193 | void __init emev2_init_delay(void) | 46 | void __init emev2_init_delay(void) |
194 | { | 47 | { |
195 | shmobile_setup_delay(533, 1, 3); /* Cortex-A9 @ 533MHz */ | 48 | shmobile_setup_delay(533, 1, 3); /* Cortex-A9 @ 533MHz */ |
196 | } | 49 | } |
197 | 50 | ||
198 | #ifdef CONFIG_USE_OF | 51 | static void __init emev2_add_standard_devices_dt(void) |
52 | { | ||
53 | #ifdef CONFIG_COMMON_CLK | ||
54 | of_clk_init(NULL); | ||
55 | #else | ||
56 | emev2_clock_init(); | ||
57 | #endif | ||
58 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); | ||
59 | } | ||
199 | 60 | ||
200 | static const char *emev2_boards_compat_dt[] __initdata = { | 61 | static const char *emev2_boards_compat_dt[] __initdata = { |
201 | "renesas,emev2", | 62 | "renesas,emev2", |
@@ -206,7 +67,7 @@ DT_MACHINE_START(EMEV2_DT, "Generic Emma Mobile EV2 (Flattened Device Tree)") | |||
206 | .smp = smp_ops(emev2_smp_ops), | 67 | .smp = smp_ops(emev2_smp_ops), |
207 | .map_io = emev2_map_io, | 68 | .map_io = emev2_map_io, |
208 | .init_early = emev2_init_delay, | 69 | .init_early = emev2_init_delay, |
70 | .init_machine = emev2_add_standard_devices_dt, | ||
71 | .init_late = shmobile_init_late, | ||
209 | .dt_compat = emev2_boards_compat_dt, | 72 | .dt_compat = emev2_boards_compat_dt, |
210 | MACHINE_END | 73 | MACHINE_END |
211 | |||
212 | #endif /* CONFIG_USE_OF */ | ||
diff --git a/arch/arm/mach-shmobile/setup-r7s72100.c b/arch/arm/mach-shmobile/setup-r7s72100.c index d4eb509a1c87..55f0b9c7c482 100644 --- a/arch/arm/mach-shmobile/setup-r7s72100.c +++ b/arch/arm/mach-shmobile/setup-r7s72100.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <linux/kernel.h> | 22 | #include <linux/kernel.h> |
23 | #include <linux/of_platform.h> | 23 | #include <linux/of_platform.h> |
24 | #include <linux/serial_sci.h> | 24 | #include <linux/serial_sci.h> |
25 | #include <linux/sh_timer.h> | ||
25 | #include <mach/common.h> | 26 | #include <mach/common.h> |
26 | #include <mach/irqs.h> | 27 | #include <mach/irqs.h> |
27 | #include <mach/r7s72100.h> | 28 | #include <mach/r7s72100.h> |
@@ -58,6 +59,26 @@ static inline void r7s72100_register_scif(int idx) | |||
58 | sizeof(struct plat_sci_port)); | 59 | sizeof(struct plat_sci_port)); |
59 | } | 60 | } |
60 | 61 | ||
62 | |||
63 | static struct sh_timer_config mtu2_0_platform_data __initdata = { | ||
64 | .name = "MTU2_0", | ||
65 | .timer_bit = 0, | ||
66 | .channel_offset = -0x80, | ||
67 | .clockevent_rating = 200, | ||
68 | }; | ||
69 | |||
70 | static struct resource mtu2_0_resources[] __initdata = { | ||
71 | DEFINE_RES_MEM(0xfcff0300, 0x27), | ||
72 | DEFINE_RES_IRQ(gic_iid(139)), /* MTU2 TGI0A */ | ||
73 | }; | ||
74 | |||
75 | #define r7s72100_register_mtu2(idx) \ | ||
76 | platform_device_register_resndata(&platform_bus, "sh_mtu2", \ | ||
77 | idx, mtu2_##idx##_resources, \ | ||
78 | ARRAY_SIZE(mtu2_##idx##_resources), \ | ||
79 | &mtu2_##idx##_platform_data, \ | ||
80 | sizeof(struct sh_timer_config)) | ||
81 | |||
61 | void __init r7s72100_add_dt_devices(void) | 82 | void __init r7s72100_add_dt_devices(void) |
62 | { | 83 | { |
63 | r7s72100_register_scif(SCIF0); | 84 | r7s72100_register_scif(SCIF0); |
@@ -68,6 +89,7 @@ void __init r7s72100_add_dt_devices(void) | |||
68 | r7s72100_register_scif(SCIF5); | 89 | r7s72100_register_scif(SCIF5); |
69 | r7s72100_register_scif(SCIF6); | 90 | r7s72100_register_scif(SCIF6); |
70 | r7s72100_register_scif(SCIF7); | 91 | r7s72100_register_scif(SCIF7); |
92 | r7s72100_register_mtu2(0); | ||
71 | } | 93 | } |
72 | 94 | ||
73 | void __init r7s72100_init_early(void) | 95 | void __init r7s72100_init_early(void) |
diff --git a/arch/arm/mach-shmobile/setup-r8a73a4.c b/arch/arm/mach-shmobile/setup-r8a73a4.c index b0f2749071be..cc94b64c2ef5 100644 --- a/arch/arm/mach-shmobile/setup-r8a73a4.c +++ b/arch/arm/mach-shmobile/setup-r8a73a4.c | |||
@@ -275,7 +275,7 @@ static const struct sh_dmae_pdata dma_pdata = { | |||
275 | 275 | ||
276 | static struct resource dma_resources[] = { | 276 | static struct resource dma_resources[] = { |
277 | DEFINE_RES_MEM(0xe6700020, 0x89e0), | 277 | DEFINE_RES_MEM(0xe6700020, 0x89e0), |
278 | DEFINE_RES_IRQ_NAMED(gic_spi(220), "error_irq"), | 278 | DEFINE_RES_IRQ(gic_spi(220)), |
279 | { | 279 | { |
280 | /* IRQ for channels 0-19 */ | 280 | /* IRQ for channels 0-19 */ |
281 | .start = gic_spi(200), | 281 | .start = gic_spi(200), |
diff --git a/arch/arm/mach-shmobile/setup-r8a7778.c b/arch/arm/mach-shmobile/setup-r8a7778.c index 03fcc5974ef9..81701cfb6cc6 100644 --- a/arch/arm/mach-shmobile/setup-r8a7778.c +++ b/arch/arm/mach-shmobile/setup-r8a7778.c | |||
@@ -319,6 +319,29 @@ void __init r8a7778_add_dt_devices(void) | |||
319 | #define HPB_DMAE_ASYNCMDR_ASMD21_SINGLE BIT(1) /* SDHI0 */ | 319 | #define HPB_DMAE_ASYNCMDR_ASMD21_SINGLE BIT(1) /* SDHI0 */ |
320 | #define HPB_DMAE_ASYNCMDR_ASMD21_MULTI 0 /* SDHI0 */ | 320 | #define HPB_DMAE_ASYNCMDR_ASMD21_MULTI 0 /* SDHI0 */ |
321 | 321 | ||
322 | #define HPBDMA_HPBIF(_id) \ | ||
323 | { \ | ||
324 | .id = HPBDMA_SLAVE_HPBIF## _id ##_TX, \ | ||
325 | .addr = 0xffda0000 + (_id * 0x1000), \ | ||
326 | .dcr = HPB_DMAE_DCR_CT | \ | ||
327 | HPB_DMAE_DCR_DIP | \ | ||
328 | HPB_DMAE_DCR_SPDS_32BIT | \ | ||
329 | HPB_DMAE_DCR_DMDL | \ | ||
330 | HPB_DMAE_DCR_DPDS_32BIT, \ | ||
331 | .port = 0x1111, \ | ||
332 | .dma_ch = (28 + _id), \ | ||
333 | }, { \ | ||
334 | .id = HPBDMA_SLAVE_HPBIF## _id ##_RX, \ | ||
335 | .addr = 0xffda0000 + (_id * 0x1000), \ | ||
336 | .dcr = HPB_DMAE_DCR_CT | \ | ||
337 | HPB_DMAE_DCR_DIP | \ | ||
338 | HPB_DMAE_DCR_SMDL | \ | ||
339 | HPB_DMAE_DCR_SPDS_32BIT | \ | ||
340 | HPB_DMAE_DCR_DPDS_32BIT, \ | ||
341 | .port = 0x1111, \ | ||
342 | .dma_ch = (28 + _id), \ | ||
343 | } | ||
344 | |||
322 | static const struct hpb_dmae_slave_config hpb_dmae_slaves[] = { | 345 | static const struct hpb_dmae_slave_config hpb_dmae_slaves[] = { |
323 | { | 346 | { |
324 | .id = HPBDMA_SLAVE_SDHI0_TX, | 347 | .id = HPBDMA_SLAVE_SDHI0_TX, |
@@ -349,11 +372,39 @@ static const struct hpb_dmae_slave_config hpb_dmae_slaves[] = { | |||
349 | .flags = HPB_DMAE_SET_ASYNC_RESET | HPB_DMAE_SET_ASYNC_MODE, | 372 | .flags = HPB_DMAE_SET_ASYNC_RESET | HPB_DMAE_SET_ASYNC_MODE, |
350 | .dma_ch = 22, | 373 | .dma_ch = 22, |
351 | }, | 374 | }, |
375 | |||
376 | HPBDMA_HPBIF(0), | ||
377 | HPBDMA_HPBIF(1), | ||
378 | HPBDMA_HPBIF(2), | ||
379 | HPBDMA_HPBIF(3), | ||
380 | HPBDMA_HPBIF(4), | ||
381 | HPBDMA_HPBIF(5), | ||
382 | HPBDMA_HPBIF(6), | ||
383 | HPBDMA_HPBIF(7), | ||
384 | HPBDMA_HPBIF(8), | ||
352 | }; | 385 | }; |
353 | 386 | ||
354 | static const struct hpb_dmae_channel hpb_dmae_channels[] = { | 387 | static const struct hpb_dmae_channel hpb_dmae_channels[] = { |
355 | HPB_DMAE_CHANNEL(0x7e, HPBDMA_SLAVE_SDHI0_TX), /* ch. 21 */ | 388 | HPB_DMAE_CHANNEL(0x7e, HPBDMA_SLAVE_SDHI0_TX), /* ch. 21 */ |
356 | HPB_DMAE_CHANNEL(0x7e, HPBDMA_SLAVE_SDHI0_RX), /* ch. 22 */ | 389 | HPB_DMAE_CHANNEL(0x7e, HPBDMA_SLAVE_SDHI0_RX), /* ch. 22 */ |
390 | HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF0_TX), /* ch. 28 */ | ||
391 | HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF0_RX), /* ch. 28 */ | ||
392 | HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF1_TX), /* ch. 29 */ | ||
393 | HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF1_RX), /* ch. 29 */ | ||
394 | HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF2_TX), /* ch. 30 */ | ||
395 | HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF2_RX), /* ch. 30 */ | ||
396 | HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF3_TX), /* ch. 31 */ | ||
397 | HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF3_RX), /* ch. 31 */ | ||
398 | HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF4_TX), /* ch. 32 */ | ||
399 | HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF4_RX), /* ch. 32 */ | ||
400 | HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF5_TX), /* ch. 33 */ | ||
401 | HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF5_RX), /* ch. 33 */ | ||
402 | HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF6_TX), /* ch. 34 */ | ||
403 | HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF6_RX), /* ch. 34 */ | ||
404 | HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF7_TX), /* ch. 35 */ | ||
405 | HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF7_RX), /* ch. 35 */ | ||
406 | HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF8_TX), /* ch. 36 */ | ||
407 | HPB_DMAE_CHANNEL(0x7f, HPBDMA_SLAVE_HPBIF8_RX), /* ch. 36 */ | ||
357 | }; | 408 | }; |
358 | 409 | ||
359 | static struct hpb_dmae_pdata dma_platform_data __initdata = { | 410 | static struct hpb_dmae_pdata dma_platform_data __initdata = { |
diff --git a/arch/arm/mach-shmobile/setup-r8a7791.c b/arch/arm/mach-shmobile/setup-r8a7791.c index d9393d61ee27..cddca99b434f 100644 --- a/arch/arm/mach-shmobile/setup-r8a7791.c +++ b/arch/arm/mach-shmobile/setup-r8a7791.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <linux/irq.h> | 22 | #include <linux/irq.h> |
23 | #include <linux/kernel.h> | 23 | #include <linux/kernel.h> |
24 | #include <linux/of_platform.h> | 24 | #include <linux/of_platform.h> |
25 | #include <linux/platform_data/gpio-rcar.h> | ||
25 | #include <linux/platform_data/irq-renesas-irqc.h> | 26 | #include <linux/platform_data/irq-renesas-irqc.h> |
26 | #include <linux/serial_sci.h> | 27 | #include <linux/serial_sci.h> |
27 | #include <linux/sh_timer.h> | 28 | #include <linux/sh_timer.h> |
@@ -31,6 +32,58 @@ | |||
31 | #include <mach/rcar-gen2.h> | 32 | #include <mach/rcar-gen2.h> |
32 | #include <asm/mach/arch.h> | 33 | #include <asm/mach/arch.h> |
33 | 34 | ||
35 | static const struct resource pfc_resources[] __initconst = { | ||
36 | DEFINE_RES_MEM(0xe6060000, 0x250), | ||
37 | }; | ||
38 | |||
39 | #define r8a7791_register_pfc() \ | ||
40 | platform_device_register_simple("pfc-r8a7791", -1, pfc_resources, \ | ||
41 | ARRAY_SIZE(pfc_resources)) | ||
42 | |||
43 | #define R8A7791_GPIO(idx, base, nr) \ | ||
44 | static const struct resource r8a7791_gpio##idx##_resources[] __initconst = { \ | ||
45 | DEFINE_RES_MEM((base), 0x50), \ | ||
46 | DEFINE_RES_IRQ(gic_spi(4 + (idx))), \ | ||
47 | }; \ | ||
48 | \ | ||
49 | static const struct gpio_rcar_config \ | ||
50 | r8a7791_gpio##idx##_platform_data __initconst = { \ | ||
51 | .gpio_base = 32 * (idx), \ | ||
52 | .irq_base = 0, \ | ||
53 | .number_of_pins = (nr), \ | ||
54 | .pctl_name = "pfc-r8a7791", \ | ||
55 | .has_both_edge_trigger = 1, \ | ||
56 | }; \ | ||
57 | |||
58 | R8A7791_GPIO(0, 0xe6050000, 32); | ||
59 | R8A7791_GPIO(1, 0xe6051000, 32); | ||
60 | R8A7791_GPIO(2, 0xe6052000, 32); | ||
61 | R8A7791_GPIO(3, 0xe6053000, 32); | ||
62 | R8A7791_GPIO(4, 0xe6054000, 32); | ||
63 | R8A7791_GPIO(5, 0xe6055000, 32); | ||
64 | R8A7791_GPIO(6, 0xe6055400, 32); | ||
65 | R8A7791_GPIO(7, 0xe6055800, 26); | ||
66 | |||
67 | #define r8a7791_register_gpio(idx) \ | ||
68 | platform_device_register_resndata(&platform_bus, "gpio_rcar", idx, \ | ||
69 | r8a7791_gpio##idx##_resources, \ | ||
70 | ARRAY_SIZE(r8a7791_gpio##idx##_resources), \ | ||
71 | &r8a7791_gpio##idx##_platform_data, \ | ||
72 | sizeof(r8a7791_gpio##idx##_platform_data)) | ||
73 | |||
74 | void __init r8a7791_pinmux_init(void) | ||
75 | { | ||
76 | r8a7791_register_pfc(); | ||
77 | r8a7791_register_gpio(0); | ||
78 | r8a7791_register_gpio(1); | ||
79 | r8a7791_register_gpio(2); | ||
80 | r8a7791_register_gpio(3); | ||
81 | r8a7791_register_gpio(4); | ||
82 | r8a7791_register_gpio(5); | ||
83 | r8a7791_register_gpio(6); | ||
84 | r8a7791_register_gpio(7); | ||
85 | } | ||
86 | |||
34 | #define SCIF_COMMON(scif_type, baseaddr, irq) \ | 87 | #define SCIF_COMMON(scif_type, baseaddr, irq) \ |
35 | .type = scif_type, \ | 88 | .type = scif_type, \ |
36 | .mapbase = baseaddr, \ | 89 | .mapbase = baseaddr, \ |
@@ -136,6 +189,17 @@ static struct resource irqc0_resources[] = { | |||
136 | &irqc##idx##_data, \ | 189 | &irqc##idx##_data, \ |
137 | sizeof(struct renesas_irqc_config)) | 190 | sizeof(struct renesas_irqc_config)) |
138 | 191 | ||
192 | static const struct resource thermal_resources[] __initconst = { | ||
193 | DEFINE_RES_MEM(0xe61f0000, 0x14), | ||
194 | DEFINE_RES_MEM(0xe61f0100, 0x38), | ||
195 | DEFINE_RES_IRQ(gic_spi(69)), | ||
196 | }; | ||
197 | |||
198 | #define r8a7791_register_thermal() \ | ||
199 | platform_device_register_simple("rcar_thermal", -1, \ | ||
200 | thermal_resources, \ | ||
201 | ARRAY_SIZE(thermal_resources)) | ||
202 | |||
139 | void __init r8a7791_add_dt_devices(void) | 203 | void __init r8a7791_add_dt_devices(void) |
140 | { | 204 | { |
141 | r8a7791_register_scif(SCIFA0); | 205 | r8a7791_register_scif(SCIFA0); |
@@ -160,6 +224,7 @@ void __init r8a7791_add_standard_devices(void) | |||
160 | { | 224 | { |
161 | r8a7791_add_dt_devices(); | 225 | r8a7791_add_dt_devices(); |
162 | r8a7791_register_irqc(0); | 226 | r8a7791_register_irqc(0); |
227 | r8a7791_register_thermal(); | ||
163 | } | 228 | } |
164 | 229 | ||
165 | void __init r8a7791_init_early(void) | 230 | void __init r8a7791_init_early(void) |
diff --git a/drivers/Makefile b/drivers/Makefile index 3cc8214f9b26..8e3b8b06c0b2 100644 --- a/drivers/Makefile +++ b/drivers/Makefile | |||
@@ -118,7 +118,7 @@ obj-$(CONFIG_SGI_SN) += sn/ | |||
118 | obj-y += firmware/ | 118 | obj-y += firmware/ |
119 | obj-$(CONFIG_CRYPTO) += crypto/ | 119 | obj-$(CONFIG_CRYPTO) += crypto/ |
120 | obj-$(CONFIG_SUPERH) += sh/ | 120 | obj-$(CONFIG_SUPERH) += sh/ |
121 | obj-$(CONFIG_ARCH_SHMOBILE) += sh/ | 121 | obj-$(CONFIG_ARCH_SHMOBILE_LEGACY) += sh/ |
122 | ifndef CONFIG_ARCH_USES_GETTIMEOFFSET | 122 | ifndef CONFIG_ARCH_USES_GETTIMEOFFSET |
123 | obj-y += clocksource/ | 123 | obj-y += clocksource/ |
124 | endif | 124 | endif |