diff options
-rw-r--r-- | arch/sh/boards/mach-se/7343/setup.c | 33 | ||||
-rw-r--r-- | arch/sh/include/mach-se/mach/se7343.h | 6 |
2 files changed, 38 insertions, 1 deletions
diff --git a/arch/sh/boards/mach-se/7343/setup.c b/arch/sh/boards/mach-se/7343/setup.c index 9308660cff59..69dac91c2a6a 100644 --- a/arch/sh/boards/mach-se/7343/setup.c +++ b/arch/sh/boards/mach-se/7343/setup.c | |||
@@ -1,6 +1,8 @@ | |||
1 | #include <linux/init.h> | 1 | #include <linux/init.h> |
2 | #include <linux/platform_device.h> | 2 | #include <linux/platform_device.h> |
3 | #include <linux/mtd/physmap.h> | 3 | #include <linux/mtd/physmap.h> |
4 | #include <linux/serial_8250.h> | ||
5 | #include <linux/serial_reg.h> | ||
4 | #include <asm/machvec.h> | 6 | #include <asm/machvec.h> |
5 | #include <mach-se/mach/se7343.h> | 7 | #include <mach-se/mach/se7343.h> |
6 | #include <asm/heartbeat.h> | 8 | #include <asm/heartbeat.h> |
@@ -94,10 +96,41 @@ static struct platform_device nor_flash_device = { | |||
94 | .resource = nor_flash_resources, | 96 | .resource = nor_flash_resources, |
95 | }; | 97 | }; |
96 | 98 | ||
99 | #define ST16C2550C_FLAGS (UPF_BOOT_AUTOCONF | UPF_IOREMAP) | ||
100 | |||
101 | static struct plat_serial8250_port serial_platform_data[] = { | ||
102 | [0] = { | ||
103 | .iotype = UPIO_MEM, | ||
104 | .mapbase = 0x16000000, | ||
105 | .regshift = 1, | ||
106 | .flags = ST16C2550C_FLAGS, | ||
107 | .irq = UARTA_IRQ, | ||
108 | .uartclk = 7372800, | ||
109 | }, | ||
110 | [1] = { | ||
111 | .iotype = UPIO_MEM, | ||
112 | .mapbase = 0x17000000, | ||
113 | .regshift = 1, | ||
114 | .flags = ST16C2550C_FLAGS, | ||
115 | .irq = UARTB_IRQ, | ||
116 | .uartclk = 7372800, | ||
117 | }, | ||
118 | { }, | ||
119 | }; | ||
120 | |||
121 | static struct platform_device uart_device = { | ||
122 | .name = "serial8250", | ||
123 | .id = PLAT8250_DEV_PLATFORM, | ||
124 | .dev = { | ||
125 | .platform_data = serial_platform_data, | ||
126 | }, | ||
127 | }; | ||
128 | |||
97 | static struct platform_device *sh7343se_platform_devices[] __initdata = { | 129 | static struct platform_device *sh7343se_platform_devices[] __initdata = { |
98 | &smc91x_device, | 130 | &smc91x_device, |
99 | &heartbeat_device, | 131 | &heartbeat_device, |
100 | &nor_flash_device, | 132 | &nor_flash_device, |
133 | &uart_device, | ||
101 | }; | 134 | }; |
102 | 135 | ||
103 | static int __init sh7343se_devices_setup(void) | 136 | static int __init sh7343se_devices_setup(void) |
diff --git a/arch/sh/include/mach-se/mach/se7343.h b/arch/sh/include/mach-se/mach/se7343.h index 98458460e632..798d851343de 100644 --- a/arch/sh/include/mach-se/mach/se7343.h +++ b/arch/sh/include/mach-se/mach/se7343.h | |||
@@ -132,8 +132,10 @@ | |||
132 | #define SE7343_FPGA_IRQ_MRSHPC3 3 | 132 | #define SE7343_FPGA_IRQ_MRSHPC3 3 |
133 | #define SE7343_FPGA_IRQ_SMC 6 /* EXT_IRQ2 */ | 133 | #define SE7343_FPGA_IRQ_SMC 6 /* EXT_IRQ2 */ |
134 | #define SE7343_FPGA_IRQ_USB 8 | 134 | #define SE7343_FPGA_IRQ_USB 8 |
135 | #define SE7343_FPGA_IRQ_UARTA 10 | ||
136 | #define SE7343_FPGA_IRQ_UARTB 11 | ||
135 | 137 | ||
136 | #define SE7343_FPGA_IRQ_NR 11 | 138 | #define SE7343_FPGA_IRQ_NR 12 |
137 | #define SE7343_FPGA_IRQ_BASE 120 | 139 | #define SE7343_FPGA_IRQ_BASE 120 |
138 | 140 | ||
139 | #define MRSHPC_IRQ3 (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_MRSHPC3) | 141 | #define MRSHPC_IRQ3 (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_MRSHPC3) |
@@ -142,6 +144,8 @@ | |||
142 | #define MRSHPC_IRQ0 (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_MRSHPC0) | 144 | #define MRSHPC_IRQ0 (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_MRSHPC0) |
143 | #define SMC_IRQ (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_SMC) | 145 | #define SMC_IRQ (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_SMC) |
144 | #define USB_IRQ (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_USB) | 146 | #define USB_IRQ (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_USB) |
147 | #define UARTA_IRQ (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_UARTA) | ||
148 | #define UARTB_IRQ (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_UARTB) | ||
145 | 149 | ||
146 | /* arch/sh/boards/se/7343/irq.c */ | 150 | /* arch/sh/boards/se/7343/irq.c */ |
147 | void init_7343se_IRQ(void); | 151 | void init_7343se_IRQ(void); |