diff options
author | Paul Mundt <lethal@linux-sh.org> | 2008-10-23 12:35:43 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-10-23 12:35:43 +0900 |
commit | 61dc6eaeef87048af351c04fd0046a6e3f96f94f (patch) | |
tree | 72543a9d702d5e6bc4aea3b8bd053f0569c7b535 | |
parent | 0835f127e589f3a946add6a1f508e9402af8e70c (diff) | |
download | blackbird-op-linux-61dc6eaeef87048af351c04fd0046a6e3f96f94f.tar.gz blackbird-op-linux-61dc6eaeef87048af351c04fd0046a6e3f96f94f.zip |
sh: mach-highlander: Handle SCIF pinmuxing on R7785RP.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-rw-r--r-- | arch/sh/boards/mach-highlander/Kconfig | 1 | ||||
-rw-r--r-- | arch/sh/boards/mach-highlander/Makefile | 10 | ||||
-rw-r--r-- | arch/sh/boards/mach-highlander/pinmux-r7785rp.c | 20 | ||||
-rw-r--r-- | arch/sh/boards/mach-highlander/setup.c | 2 | ||||
-rw-r--r-- | arch/sh/include/mach-common/mach/highlander.h | 6 |
5 files changed, 34 insertions, 5 deletions
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 <linux/init.h> +#include <linux/gpio.h> +#include <cpu/sh7785.h> + +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 */ |