Commit 6aacba72 authored by Magnus Damm's avatar Magnus Damm Committed by Paul Mundt

sh: add st16c2550 devices to se7343

Add 8250 platform data to setup the ST16C2550C chip on se7343.
Signed-off-by: default avatarMagnus Damm <damm@igel.co.jp>
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent 5727003b
#include <linux/init.h> #include <linux/init.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/mtd/physmap.h> #include <linux/mtd/physmap.h>
#include <linux/serial_8250.h>
#include <linux/serial_reg.h>
#include <asm/machvec.h> #include <asm/machvec.h>
#include <mach-se/mach/se7343.h> #include <mach-se/mach/se7343.h>
#include <asm/heartbeat.h> #include <asm/heartbeat.h>
...@@ -94,10 +96,41 @@ static struct platform_device nor_flash_device = { ...@@ -94,10 +96,41 @@ static struct platform_device nor_flash_device = {
.resource = nor_flash_resources, .resource = nor_flash_resources,
}; };
#define ST16C2550C_FLAGS (UPF_BOOT_AUTOCONF | UPF_IOREMAP)
static struct plat_serial8250_port serial_platform_data[] = {
[0] = {
.iotype = UPIO_MEM,
.mapbase = 0x16000000,
.regshift = 1,
.flags = ST16C2550C_FLAGS,
.irq = UARTA_IRQ,
.uartclk = 7372800,
},
[1] = {
.iotype = UPIO_MEM,
.mapbase = 0x17000000,
.regshift = 1,
.flags = ST16C2550C_FLAGS,
.irq = UARTB_IRQ,
.uartclk = 7372800,
},
{ },
};
static struct platform_device uart_device = {
.name = "serial8250",
.id = PLAT8250_DEV_PLATFORM,
.dev = {
.platform_data = serial_platform_data,
},
};
static struct platform_device *sh7343se_platform_devices[] __initdata = { static struct platform_device *sh7343se_platform_devices[] __initdata = {
&smc91x_device, &smc91x_device,
&heartbeat_device, &heartbeat_device,
&nor_flash_device, &nor_flash_device,
&uart_device,
}; };
static int __init sh7343se_devices_setup(void) static int __init sh7343se_devices_setup(void)
......
...@@ -132,8 +132,10 @@ ...@@ -132,8 +132,10 @@
#define SE7343_FPGA_IRQ_MRSHPC3 3 #define SE7343_FPGA_IRQ_MRSHPC3 3
#define SE7343_FPGA_IRQ_SMC 6 /* EXT_IRQ2 */ #define SE7343_FPGA_IRQ_SMC 6 /* EXT_IRQ2 */
#define SE7343_FPGA_IRQ_USB 8 #define SE7343_FPGA_IRQ_USB 8
#define SE7343_FPGA_IRQ_UARTA 10
#define SE7343_FPGA_IRQ_UARTB 11
#define SE7343_FPGA_IRQ_NR 11 #define SE7343_FPGA_IRQ_NR 12
#define SE7343_FPGA_IRQ_BASE 120 #define SE7343_FPGA_IRQ_BASE 120
#define MRSHPC_IRQ3 (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_MRSHPC3) #define MRSHPC_IRQ3 (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_MRSHPC3)
...@@ -142,6 +144,8 @@ ...@@ -142,6 +144,8 @@
#define MRSHPC_IRQ0 (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_MRSHPC0) #define MRSHPC_IRQ0 (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_MRSHPC0)
#define SMC_IRQ (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_SMC) #define SMC_IRQ (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_SMC)
#define USB_IRQ (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_USB) #define USB_IRQ (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_USB)
#define UARTA_IRQ (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_UARTA)
#define UARTB_IRQ (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_UARTB)
/* arch/sh/boards/se/7343/irq.c */ /* arch/sh/boards/se/7343/irq.c */
void init_7343se_IRQ(void); void init_7343se_IRQ(void);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment