ARM: mach-shmobile: r8a7779 and Marzen base support V2
Magnus Damm
maintainerPATCH 1/5 ARM: mach-shmobile: r8a7779 and Marzen base support V2
From: Magnus Damm <[email protected]>
Initial support for the r8a7779 SoC and the Marzen board (V2).
Only SCIF ports and the TMU are supported at this point.
To keep things simple only entity-mapped virt-to-phys mappings are supported. This forces drivers and other SoC glue code to make use of ioremap(). We cannot support early serial console due to virtual address space collisions with the ARM kernel.
Signed-off-by Magnus Damm <[email protected]>
---
Changes since V1:
- Nothing, just dropped prototype status.
arch/arm/mach-shmobile/Kconfig | 10 + arch/arm/mach-shmobile/Makefile | 3 arch/arm/mach-shmobile/board-marzen.c | 110 +++++++++++ arch/arm/mach-shmobile/clock-r8a7779.c | 105 +++++++++++ arch/arm/mach-shmobile/include/mach/common.h | 5 arch/arm/mach-shmobile/include/mach/r8a7779.h | 6 arch/arm/mach-shmobile/intc-r8a7779.c | 58 ++++++ arch/arm/mach-shmobile/setup-r8a7779.c | 231 +++++++++++++++++++++++++ 8 files changed, 528 insertions(+)
arch/arm/mach-shmobile/Kconfig +10 -0
@@ -28,6 +28,12 @@ config ARCH_SH73A0 select ARM_GIC select I2C +config ARCH_R8A7779 + bool "R-Car H1 (R8A77790)" + select CPU_V7 + select SH_CLK_CPG + select ARM_GIC + comment "SH-Mobile Board Type" config MACH_G3EVM
@@ -75,6 +81,10 @@ config MACH_KOTA2 select ARCH_REQUIRE_GPIOLIB depends on ARCH_SH73A0 +config MACH_MARZEN + bool "MARZEN board" + depends on ARCH_R8A7779 + comment "SH-Mobile System Configuration" menu "Memory configuration"
arch/arm/mach-shmobile/Makefile +3 -0
@@ -10,6 +10,7 @@ obj-$(CONFIG_ARCH_SH7367) += setup-sh736 obj-$(CONFIG_ARCH_SH7377) += setup-sh7377.o clock-sh7377.o intc-sh7377.o obj-$(CONFIG_ARCH_SH7372) += setup-sh7372.o clock-sh7372.o intc-sh7372.o obj-$(CONFIG_ARCH_SH73A0) += setup-sh73a0.o clock-sh73a0.o intc-sh73a0.o +obj-$(CONFIG_ARCH_R8A7779) += setup-r8a7779.o clock-r8a7779.o # SMP objects smp-y := platsmp.o headsmp.o
@@ -29,6 +30,7 @@ obj-$(CONFIG_ARCH_SH7367) += entry-intc. obj-$(CONFIG_ARCH_SH7377) += entry-intc.o obj-$(CONFIG_ARCH_SH7372) += entry-intc.o obj-$(CONFIG_ARCH_SH73A0) += entry-gic.o +obj-$(CONFIG_ARCH_R8A7779) += entry-gic.o intc-r8a7779.o # PM objects obj-$(CONFIG_SUSPEND) += suspend.o
@@ -42,6 +44,7 @@ obj-$(CONFIG_MACH_AP4EVB) += board-ap4ev obj-$(CONFIG_MACH_AG5EVM) += board-ag5evm.o obj-$(CONFIG_MACH_MACKEREL) += board-mackerel.o obj-$(CONFIG_MACH_KOTA2) += board-kota2.o +obj-$(CONFIG_MACH_MARZEN) += board-marzen.o # Framework support obj-$(CONFIG_SMP) += $(smp-y)
arch/arm/mach-shmobile/board-marzen.c new file +110 -0
110 lines not on this page · raw message
arch/arm/mach-shmobile/clock-r8a7779.c new file +105 -0
105 lines not on this page · raw message
arch/arm/mach-shmobile/include/mach/common.h +5 -0
@@ -53,4 +53,9 @@ extern void sh73a0_secondary_init(unsignextern int sh73a0_boot_secondary (unsigned int cpu);extern void sh73a0_smp_prepare_cpus (void ); +extern void r8a7779_init_irq (void ); +extern void r8a7779_add_early_devices (void ); +extern void r8a7779_add_standard_devices (void ); +extern void r8a7779_clock_init (void ); +#endif /* __ARCH_MACH_COMMON_H */
arch/arm/mach-shmobile/include/mach/r8a7779.h new file +6 -0
@@ -0,0 +1,6 @@ +#ifndef __ASM_R8A7779_H__ +#define __ASM_R8A7779_H__ + +/* Nothing at this point */ + +#endif /* __ASM_R8A7779_H__ */
arch/arm/mach-shmobile/intc-r8a7779.c new file +58 -0
58 lines not on this page · raw message
arch/arm/mach-shmobile/setup-r8a7779.c new file +231 -0
231 lines not on this page · raw message