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 Original line Diff line number Diff line
@@ -561,7 +561,6 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y
#
#
CONFIG_SERIAL_S3C2410=y
CONFIG_SERIAL_S3C2410=y
CONFIG_SERIAL_S3C2410_CONSOLE=y
CONFIG_SERIAL_S3C2410_CONSOLE=y
CONFIG_SERIAL_BAST_SIO=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTYS=y
+0 −1
Original line number Original line Diff line number Diff line
@@ -570,7 +570,6 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y
#
#
CONFIG_SERIAL_S3C2410=y
CONFIG_SERIAL_S3C2410=y
CONFIG_SERIAL_S3C2410_CONSOLE=y
CONFIG_SERIAL_S3C2410_CONSOLE=y
CONFIG_SERIAL_BAST_SIO=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTYS=y
+37 −0
Original line number Original line Diff line number Diff line
@@ -28,6 +28,7 @@
 *     14-Mar-2006 BJD  Updated for __iomem changes
 *     14-Mar-2006 BJD  Updated for __iomem changes
 *     22-Jun-2006 BJD  Added DM9000 platform information
 *     22-Jun-2006 BJD  Added DM9000 platform information
 *     28-Jun-2006 BJD  Moved pm functionality out to common code
 *     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>
#include <linux/kernel.h>
@@ -64,6 +65,8 @@
#include <linux/mtd/nand_ecc.h>
#include <linux/mtd/nand_ecc.h>
#include <linux/mtd/partitions.h>
#include <linux/mtd/partitions.h>


#include <linux/serial_8250.h>

#include "clock.h"
#include "clock.h"
#include "devs.h"
#include "devs.h"
#include "cpu.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 */
/* Standard BAST devices */


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


static struct clk *bast_clocks[] = {
static struct clk *bast_clocks[] = {
+0 −7
Original line number Original line 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
	  your boot loader about how to pass options to the kernel at
	  boot time.)
	  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
config SERIAL_DZ
	bool "DECstation DZ serial driver"
	bool "DECstation DZ serial driver"
	depends on MACH_DECSTATION && MIPS32
	depends on MACH_DECSTATION && MIPS32
+0 −1
Original line number Original line 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_AU1X00) += au1x00_uart.o
obj-$(CONFIG_SERIAL_DZ) += dz.o
obj-$(CONFIG_SERIAL_DZ) += dz.o
obj-$(CONFIG_SERIAL_SH_SCI) += sh-sci.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_SGI_L1_CONSOLE) += sn_console.o
obj-$(CONFIG_SERIAL_CPM) += cpm_uart/
obj-$(CONFIG_SERIAL_CPM) += cpm_uart/
obj-$(CONFIG_SERIAL_IMX) += imx.o
obj-$(CONFIG_SERIAL_IMX) += imx.o
Loading