Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 65cc3370 authored by Ben Dooks's avatar Ben Dooks Committed by Russell King
Browse files

[PATCH] ARM: 2818/1: BAST - Use platform device for SuperIO 16550s



Patch from Ben Dooks

Use platform device for the 16500 UARTs in the onboard
SuperIO controller.

Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent f60f7008
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -561,7 +561,6 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y
#
CONFIG_SERIAL_S3C2410=y
CONFIG_SERIAL_S3C2410_CONSOLE=y
CONFIG_SERIAL_BAST_SIO=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
+0 −1
Original line number Diff line number Diff line
@@ -570,7 +570,6 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y
#
CONFIG_SERIAL_S3C2410=y
CONFIG_SERIAL_S3C2410_CONSOLE=y
CONFIG_SERIAL_BAST_SIO=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
+37 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@
 *     14-Mar-2006 BJD  Updated for __iomem changes
 *     22-Jun-2006 BJD  Added DM9000 platform information
 *     28-Jun-2006 BJD  Moved pm functionality out to common code
 *     17-Jul-2006 BJD  Changed to platform device for SuperIO 16550s
*/

#include <linux/kernel.h>
@@ -64,6 +65,8 @@
#include <linux/mtd/nand_ecc.h>
#include <linux/mtd/partitions.h>

#include <linux/serial_8250.h>

#include "clock.h"
#include "devs.h"
#include "cpu.h"
@@ -351,6 +354,39 @@ static struct platform_device bast_device_dm9k = {
	}
};

/* serial devices */

#define SERIAL_BASE  (S3C2410_CS2 + BAST_PA_SUPERIO)
#define SERIAL_FLAGS (UPF_BOOT_AUTOCONF | UPF_IOREMAP | UPF_SHARE_IRQ)
#define SERIAL_CLK   (1843200)

static struct plat_serial8250_port bast_sio_data[] = {
	[0] = {
		.mapbase	= SERIAL_BASE + 0x2f8,
		.irq		= IRQ_PCSERIAL1,
		.flags		= SERIAL_FLAGS,
		.iotype		= UPIO_MEM,
		.regshift	= 0,
		.uartclk	= SERIAL_CLK,
	},
	[1] = {
		.mapbase	= SERIAL_BASE + 0x3f8,
		.irq		= IRQ_PCSERIAL2,
		.flags		= SERIAL_FLAGS,
		.iotype		= UPIO_MEM,
		.regshift	= 0,
		.uartclk	= SERIAL_CLK,
	},
	{ }
};

static struct platform_device bast_sio = {
	.name			= "serial8250",
	.id			= 0,
	.dev			= {
		.platform_data	= &bast_sio_data,
	},
};

/* Standard BAST devices */

@@ -364,6 +400,7 @@ static struct platform_device *bast_devices[] __initdata = {
	&s3c_device_nand,
	&bast_device_nor,
	&bast_device_dm9k,
	&bast_sio,
};

static struct clk *bast_clocks[] = {
+0 −7
Original line number Diff line number Diff line
@@ -306,13 +306,6 @@ config SERIAL_S3C2410_CONSOLE
	  your boot loader about how to pass options to the kernel at
	  boot time.)

config SERIAL_BAST_SIO
	bool "Support for BAST SuperIO serial ports"
	depends on ARCH_BAST && SERIAL_8250=y
	help
	  Support for registerin the SuperIO chip on BAST board with
	  the 8250/16550 uart code.

config SERIAL_DZ
	bool "DECstation DZ serial driver"
	depends on MACH_DECSTATION && MIPS32
+0 −1
Original line number Diff line number Diff line
@@ -44,7 +44,6 @@ obj-$(CONFIG_SERIAL_LH7A40X) += serial_lh7a40x.o
obj-$(CONFIG_SERIAL_AU1X00) += au1x00_uart.o
obj-$(CONFIG_SERIAL_DZ) += dz.o
obj-$(CONFIG_SERIAL_SH_SCI) += sh-sci.o
obj-$(CONFIG_SERIAL_BAST_SIO) += bast_sio.o
obj-$(CONFIG_SERIAL_SGI_L1_CONSOLE) += sn_console.o
obj-$(CONFIG_SERIAL_CPM) += cpm_uart/
obj-$(CONFIG_SERIAL_IMX) += imx.o
Loading