Skip to contentSkip to conversation

ARM: mach-shmobile: r8a7779 PFC GPIO-only prototype

PATCH New Magnus Damm 1 participant 1 message Dec 6, 2011

Subsystems (4)
lore
Share & tools
lore

Magnus Damm

author maintainer
#0 lore raw

PATCH 5/7 ARM: mach-shmobile: r8a7779 PFC GPIO-only prototype

From: Magnus Damm <[email protected]>

Initial r8a7779 PFC prototype support.

Only regular GPIOs are supported at this time. GPIO_FN are not supported because they require variable bit width support in be the shared pfc code.

This prototype requires a filthy mapping hack for the PFC/GPIO base addresses applied on top of this patch to workt. The pfc code needs to be extended to make use of ioremap() to support this SoC.

Not-yet-signed-off-by Magnus Damm <[email protected]>

---

 arch/arm/mach-shmobile/Kconfig                |    2 
 arch/arm/mach-shmobile/Makefile               |    1 
 arch/arm/mach-shmobile/board-marzen.c         |    2 
 arch/arm/mach-shmobile/include/mach/common.h  |    1 
 arch/arm/mach-shmobile/include/mach/r8a7779.h |   63 +++
 arch/arm/mach-shmobile/pfc-r8a7779.c          |  452 +++++++++++++++++++++++++
 6 files changed, 520 insertions(+), 1 deletion(-)
arch/arm/mach-shmobile/Kconfig +2 -0
@@ -33,6 +33,7 @@ config ARCH_R8A7779
 	select CPU_V7
 	select SH_CLK_CPG
 	select ARM_GIC
+	select ARCH_WANT_OPTIONAL_GPIOLIB
 
 comment "SH-Mobile Board Type"
 
@@ -84,6 +85,7 @@ config MACH_KOTA2
 config MACH_MARZEN
 	bool "MARZEN board"
 	depends on ARCH_R8A7779
+	select ARCH_REQUIRE_GPIOLIB
 
 comment "SH-Mobile System Configuration"
 
arch/arm/mach-shmobile/Makefile +1 -0
@@ -24,6 +24,7 @@ pfc-$(CONFIG_ARCH_SH7367)	+= pfc-sh7367.
 pfc-$(CONFIG_ARCH_SH7377)	+= pfc-sh7377.o
 pfc-$(CONFIG_ARCH_SH7372)	+= pfc-sh7372.o
 pfc-$(CONFIG_ARCH_SH73A0)	+= pfc-sh73a0.o
+pfc-$(CONFIG_ARCH_R8A7779)	+= pfc-r8a7779.o
 
 # IRQ objects
 obj-$(CONFIG_ARCH_SH7367)	+= entry-intc.o
arch/arm/mach-shmobile/board-marzen.c +2 -0
@@ -92,6 +92,8 @@ static void __init marzen_init_early(voi
 
 static void __init marzen_init(void)
 {
+	r8a7779_pinmux_init();
+
 	r8a7779_add_standard_devices();
 	platform_add_devices(marzen_devices, ARRAY_SIZE(marzen_devices));
 }
arch/arm/mach-shmobile/include/mach/common.h +1 -0
@@ -57,5 +57,6 @@ 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);
+extern void r8a7779_pinmux_init(void);
 
 #endif /* __ARCH_MACH_COMMON_H */
arch/arm/mach-shmobile/include/mach/r8a7779.h +62 -1

68 lines not on this page · raw message

arch/arm/mach-shmobile/pfc-r8a7779.c new file +452 -0

452 lines not on this page · raw message