aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/sh/Makefile2
-rw-r--r--arch/sh/boards/renesas/rts7751r2d/irq.c2
-rw-r--r--arch/sh/boards/renesas/rts7751r2d/setup.c39
-rw-r--r--arch/sh/cchips/Kconfig13
4 files changed, 25 insertions, 31 deletions
diff --git a/arch/sh/Makefile b/arch/sh/Makefile
index 37cf636fba55..6c73a5b2b014 100644
--- a/arch/sh/Makefile
+++ b/arch/sh/Makefile
@@ -136,7 +136,7 @@ endif
136 136
137# Companion chips 137# Companion chips
138core-$(CONFIG_HD6446X_SERIES) += arch/sh/cchips/hd6446x/ 138core-$(CONFIG_HD6446X_SERIES) += arch/sh/cchips/hd6446x/
139core-$(CONFIG_VOYAGERGX) += arch/sh/cchips/voyagergx/ 139core-$(CONFIG_MFD_SM501) += arch/sh/cchips/voyagergx/
140 140
141cpuincdir-$(CONFIG_CPU_SH2) := cpu-sh2 141cpuincdir-$(CONFIG_CPU_SH2) := cpu-sh2
142cpuincdir-$(CONFIG_CPU_SH2A) := cpu-sh2a 142cpuincdir-$(CONFIG_CPU_SH2A) := cpu-sh2a
diff --git a/arch/sh/boards/renesas/rts7751r2d/irq.c b/arch/sh/boards/renesas/rts7751r2d/irq.c
index e89932903caf..878852158b45 100644
--- a/arch/sh/boards/renesas/rts7751r2d/irq.c
+++ b/arch/sh/boards/renesas/rts7751r2d/irq.c
@@ -153,5 +153,7 @@ void __init init_rts7751r2d_IRQ(void)
153 } 153 }
154 154
155 register_intc_controller(d); 155 register_intc_controller(d);
156#ifdef CONFIG_MFD_SM501
156 setup_voyagergx_irq(); 157 setup_voyagergx_irq();
158#endif
157} 159}
diff --git a/arch/sh/boards/renesas/rts7751r2d/setup.c b/arch/sh/boards/renesas/rts7751r2d/setup.c
index 90703d5d1230..bea9848e5ff8 100644
--- a/arch/sh/boards/renesas/rts7751r2d/setup.c
+++ b/arch/sh/boards/renesas/rts7751r2d/setup.c
@@ -73,6 +73,22 @@ static struct platform_device cf_ide_device = {
73 }, 73 },
74}; 74};
75 75
76static struct resource heartbeat_resources[] = {
77 [0] = {
78 .start = PA_OUTPORT,
79 .end = PA_OUTPORT + 8 - 1,
80 .flags = IORESOURCE_MEM,
81 },
82};
83
84static struct platform_device heartbeat_device = {
85 .name = "heartbeat",
86 .id = -1,
87 .num_resources = ARRAY_SIZE(heartbeat_resources),
88 .resource = heartbeat_resources,
89};
90
91#ifdef CONFIG_MFD_SM501
76static struct plat_serial8250_port uart_platform_data[] = { 92static struct plat_serial8250_port uart_platform_data[] = {
77 { 93 {
78 .membase = (void __iomem *)VOYAGER_UART_BASE, 94 .membase = (void __iomem *)VOYAGER_UART_BASE,
@@ -94,21 +110,6 @@ static struct platform_device uart_device = {
94 }, 110 },
95}; 111};
96 112
97static struct resource heartbeat_resources[] = {
98 [0] = {
99 .start = PA_OUTPORT,
100 .end = PA_OUTPORT + 8 - 1,
101 .flags = IORESOURCE_MEM,
102 },
103};
104
105static struct platform_device heartbeat_device = {
106 .name = "heartbeat",
107 .id = -1,
108 .num_resources = ARRAY_SIZE(heartbeat_resources),
109 .resource = heartbeat_resources,
110};
111
112static struct resource sm501_resources[] = { 113static struct resource sm501_resources[] = {
113 [0] = { 114 [0] = {
114 .start = 0x10000000, 115 .start = 0x10000000,
@@ -133,10 +134,14 @@ static struct platform_device sm501_device = {
133 .resource = sm501_resources, 134 .resource = sm501_resources,
134}; 135};
135 136
137#endif /* CONFIG_MFD_SM501 */
138
136static struct platform_device *rts7751r2d_devices[] __initdata = { 139static struct platform_device *rts7751r2d_devices[] __initdata = {
140#ifdef CONFIG_MFD_SM501
137 &uart_device, 141 &uart_device,
138 &heartbeat_device,
139 &sm501_device, 142 &sm501_device,
143#endif
144 &heartbeat_device,
140}; 145};
141 146
142static int __init rts7751r2d_devices_setup(void) 147static int __init rts7751r2d_devices_setup(void)
@@ -187,7 +192,7 @@ static struct sh_machine_vector mv_rts7751r2d __initmv = {
187 .mv_init_irq = init_rts7751r2d_IRQ, 192 .mv_init_irq = init_rts7751r2d_IRQ,
188 .mv_irq_demux = rts7751r2d_irq_demux, 193 .mv_irq_demux = rts7751r2d_irq_demux,
189 194
190#ifdef CONFIG_USB_SM501 195#if defined(CONFIG_MFD_SM501) && defined(CONFIG_USB_OHCI_HCD)
191 .mv_consistent_alloc = voyagergx_consistent_alloc, 196 .mv_consistent_alloc = voyagergx_consistent_alloc,
192 .mv_consistent_free = voyagergx_consistent_free, 197 .mv_consistent_free = voyagergx_consistent_free,
193#endif 198#endif
diff --git a/arch/sh/cchips/Kconfig b/arch/sh/cchips/Kconfig
index 2e516e9a6ede..7892361eedc8 100644
--- a/arch/sh/cchips/Kconfig
+++ b/arch/sh/cchips/Kconfig
@@ -1,18 +1,5 @@
1menu "Companion Chips" 1menu "Companion Chips"
2 2
3config VOYAGERGX
4 bool "VoyagerGX chip support"
5 depends on SH_RTS7751R2D
6 help
7 Selecting this option will support Silicon Motion, Inc. SM501.
8 Designed to complement needs for the embedded industry, it
9 provides video and 2D capability. To reduce system cost a
10 wide variety of include I/O is supported, including analog RGB
11 and digital LCD Panel interface, 8-bit parallel interface, USB,
12 UART, IrDA, Zoom Video, AC97 or I2S, SSP, PWM, and I2C. There
13 are additional GPIO bits that can be used to interface to
14 external as well.
15
16config HD6446X_SERIES 3config HD6446X_SERIES
17 bool 4 bool
18 5