aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorMagnus Damm <damm@igel.co.jp>2008-07-15 08:51:39 -0400
committerPaul Mundt <lethal@linux-sh.org>2008-07-28 05:10:34 -0400
commitc901c96cc25f6143a7d2fb59c3287f868e84a69e (patch)
tree4d69ad00608872487e0699cc03f5b79821655a93 /arch
parent6e80f5e8c4c685eb7bc34c3916e3d986b03f9981 (diff)
sh: Export sh7343 VPU and VEU using uio_pdrv_genirq
This patch exports the VPU and VEU blocks of the sh7343 to user space using the uio_pdrv_genirq platform driver. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/sh/kernel/cpu/sh4a/setup-sh7343.c53
1 files changed, 53 insertions, 0 deletions
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7343.c b/arch/sh/kernel/cpu/sh4a/setup-sh7343.c
index 3e3b5029599a..bcc4255acd84 100644
--- a/arch/sh/kernel/cpu/sh4a/setup-sh7343.c
+++ b/arch/sh/kernel/cpu/sh4a/setup-sh7343.c
@@ -11,6 +11,7 @@
11#include <linux/init.h> 11#include <linux/init.h>
12#include <linux/serial.h> 12#include <linux/serial.h>
13#include <linux/serial_sci.h> 13#include <linux/serial_sci.h>
14#include <linux/uio_driver.h>
14 15
15static struct resource iic0_resources[] = { 16static struct resource iic0_resources[] = {
16 [0] = { 17 [0] = {
@@ -52,6 +53,56 @@ static struct platform_device iic1_device = {
52 .resource = iic1_resources, 53 .resource = iic1_resources,
53}; 54};
54 55
56static struct uio_info vpu_platform_data = {
57 .name = "VPU4",
58 .version = "0",
59 .irq = 60,
60};
61
62static struct resource vpu_resources[] = {
63 [0] = {
64 .name = "VPU",
65 .start = 0xfe900000,
66 .end = 0xfe9022eb,
67 .flags = IORESOURCE_MEM,
68 },
69};
70
71static struct platform_device vpu_device = {
72 .name = "uio_pdrv_genirq",
73 .id = 0,
74 .dev = {
75 .platform_data = &vpu_platform_data,
76 },
77 .resource = vpu_resources,
78 .num_resources = ARRAY_SIZE(vpu_resources),
79};
80
81static struct uio_info veu_platform_data = {
82 .name = "VEU",
83 .version = "0",
84 .irq = 54,
85};
86
87static struct resource veu_resources[] = {
88 [0] = {
89 .name = "VEU",
90 .start = 0xfe920000,
91 .end = 0xfe9200b7,
92 .flags = IORESOURCE_MEM,
93 },
94};
95
96static struct platform_device veu_device = {
97 .name = "uio_pdrv_genirq",
98 .id = 1,
99 .dev = {
100 .platform_data = &veu_platform_data,
101 },
102 .resource = veu_resources,
103 .num_resources = ARRAY_SIZE(veu_resources),
104};
105
55static struct plat_sci_port sci_platform_data[] = { 106static struct plat_sci_port sci_platform_data[] = {
56 { 107 {
57 .mapbase = 0xffe00000, 108 .mapbase = 0xffe00000,
@@ -75,6 +126,8 @@ static struct platform_device *sh7343_devices[] __initdata = {
75 &iic0_device, 126 &iic0_device,
76 &iic1_device, 127 &iic1_device,
77 &sci_device, 128 &sci_device,
129 &vpu_device,
130 &veu_device,
78}; 131};
79 132
80static int __init sh7343_devices_setup(void) 133static int __init sh7343_devices_setup(void)