From 61dc6eaeef87048af351c04fd0046a6e3f96f94f Mon Sep 17 00:00:00 2001 From: Paul Mundt Date: Thu, 23 Oct 2008 12:35:43 +0900 Subject: [PATCH] sh: mach-highlander: Handle SCIF pinmuxing on R7785RP. Signed-off-by: Paul Mundt --- arch/sh/boards/mach-highlander/Kconfig | 1 + arch/sh/boards/mach-highlander/Makefile | 10 +++++----- .../boards/mach-highlander/pinmux-r7785rp.c | 20 +++++++++++++++++++ arch/sh/boards/mach-highlander/setup.c | 2 ++ arch/sh/include/mach-common/mach/highlander.h | 6 ++++++ 5 files changed, 34 insertions(+), 5 deletions(-) create mode 100644 arch/sh/boards/mach-highlander/pinmux-r7785rp.c diff --git a/arch/sh/boards/mach-highlander/Kconfig b/arch/sh/boards/mach-highlander/Kconfig index fc8f28e04ba3..08057f62687b 100644 --- a/arch/sh/boards/mach-highlander/Kconfig +++ b/arch/sh/boards/mach-highlander/Kconfig @@ -18,6 +18,7 @@ config SH_R7780MP config SH_R7785RP bool "R7785RP board support" depends on CPU_SUBTYPE_SH7785 + select GENERIC_GPIO endchoice diff --git a/arch/sh/boards/mach-highlander/Makefile b/arch/sh/boards/mach-highlander/Makefile index 20a10080b11f..d93aaf880134 100644 --- a/arch/sh/boards/mach-highlander/Makefile +++ b/arch/sh/boards/mach-highlander/Makefile @@ -1,10 +1,10 @@ # -# Makefile for the R7780RP-1 specific parts of the kernel +# Makefile for the Highlander specific parts of the kernel # -irqinit-$(CONFIG_SH_R7780MP) := irq-r7780mp.o -irqinit-$(CONFIG_SH_R7785RP) := irq-r7785rp.o -irqinit-$(CONFIG_SH_R7780RP) := irq-r7780rp.o -obj-y := setup.o $(irqinit-y) +obj-y := setup.o +obj-$(CONFIG_SH_R7780RP) += irq-r7780rp.o +obj-$(CONFIG_SH_R7780MP) += irq-r7780mp.o +obj-$(CONFIG_SH_R7785RP) += irq-r7785rp.o pinmux-r7785rp.o ifneq ($(CONFIG_SH_R7785RP),y) obj-$(CONFIG_PUSH_SWITCH) += psw.o diff --git a/arch/sh/boards/mach-highlander/pinmux-r7785rp.c b/arch/sh/boards/mach-highlander/pinmux-r7785rp.c new file mode 100644 index 000000000000..c77a2bea8f2a --- /dev/null +++ b/arch/sh/boards/mach-highlander/pinmux-r7785rp.c @@ -0,0 +1,20 @@ +/* + * Copyright (C) 2008 Paul Mundt + * + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + */ +#include +#include +#include + +void __init highlander_plat_pinmux_setup(void) +{ + /* SCIF0 */ + gpio_request(GPIO_FN_SCIF0_CTS, NULL); + gpio_request(GPIO_FN_SCIF0_RTS, NULL); + gpio_request(GPIO_FN_SCIF0_SCK, NULL); + gpio_request(GPIO_FN_SCIF0_RXD, NULL); + gpio_request(GPIO_FN_SCIF0_TXD, NULL); +} diff --git a/arch/sh/boards/mach-highlander/setup.c b/arch/sh/boards/mach-highlander/setup.c index c5a40f7906d7..806438b42cac 100644 --- a/arch/sh/boards/mach-highlander/setup.c +++ b/arch/sh/boards/mach-highlander/setup.c @@ -294,6 +294,8 @@ static void __init highlander_setup(char **cmdline_p) (ver >> 12) & 0xf, (ver >> 8) & 0xf, (ver >> 4) & 0xf, ver & 0xf); + highlander_plat_pinmux_setup(); + /* * Enable the important clocks right away.. */ diff --git a/arch/sh/include/mach-common/mach/highlander.h b/arch/sh/include/mach-common/mach/highlander.h index 306f7359f7d4..bd26a848cb0b 100644 --- a/arch/sh/include/mach-common/mach/highlander.h +++ b/arch/sh/include/mach-common/mach/highlander.h @@ -195,4 +195,10 @@ unsigned char *highlander_plat_irq_setup(void); +#ifdef CONFIG_SH_R7785RP +void highlander_plat_pinmux_setup(void); +#else +#define highlander_plat_pinmux_setup() do { } while (0) +#endif + #endif /* __ASM_SH_RENESAS_R7780RP */