diff options
-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 fc8f28e04ba..08057f62687 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 20a10080b11..d93aaf88013 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 00000000000..c77a2bea8f2 --- /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 c5a40f7906d..806438b42ca 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 306f7359f7d..bd26a848cb0 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 */ |