Commit fcb28d2e authored by Linus Walleij's avatar Linus Walleij
Browse files

ARM: u300: retire ancient platforms



This retires the B26/S26, B330/S330 and B365/S365 boards from
the U300 platform. The only board really used anywhere today
is the S335 so let's concentrate any efforts on that one board.
Also the board variants are selected at compile-time, which is
strictly a no-no these days, if multi-board support is to be
brought back it need to happen using run-time and device tree.

My work on ARM Linux started on the B26/S26 so it's a bit sad
to see it go, but there is a time to move on with all things
in life.

Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 0d7614f0
Loading
Loading
Loading
Loading
+2 −41
Original line number Diff line number Diff line
if ARCH_U300

menu "ST-Ericsson AB U300/U330/U335/U365 Platform"
menu "ST-Ericsson AB U300/U335 Platform"

comment "ST-Ericsson Mobile Platform Products"

@@ -10,46 +10,7 @@ config MACH_U300
	select PINCTRL_U300
	select PINCTRL_COH901

comment "ST-Ericsson U300/U330/U335/U365 Feature Selections"

choice
	prompt "U300/U330/U335/U365 system type"
	default MACH_U300_BS2X
	---help---
	You need to select the target system, i.e. the
	U300/U330/U335/U365 board that you want to compile your kernel
	for.

config MACH_U300_BS2X
	bool "S26/S26/B25/B26 Test Products"
	depends on MACH_U300
	help
		Select this if you're developing on the
		S26/S25 test products. (Also works on
		B26/B25 big boards.)

config MACH_U300_BS330
	bool "S330/B330 Test Products"
	depends on MACH_U300
	help
		Select this if you're developing on the
		S330/B330 test products.

config MACH_U300_BS335
	bool "S335/B335 Test Products"
	depends on MACH_U300
	help
		Select this if you're developing on the
		S335/B335 test products.

config MACH_U300_BS365
	bool "S365/B365 Test Products"
	depends on MACH_U300
	help
		Select this if you're developing on the
		S365/B365 test products.

endchoice
comment "ST-Ericsson U300/U335 Feature Selections"

config U300_DEBUG
	bool "Debug support for U300"
+1 −69
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
 * arch/arm/mach-u300/core.c
 *
 *
 * Copyright (C) 2007-2010 ST-Ericsson SA
 * Copyright (C) 2007-2012 ST-Ericsson SA
 * License terms: GNU General Public License (GPL) version 2
 * Core platform support, IRQ handling and device definitions.
 * Author: Linus Walleij <linus.walleij@stericsson.com>
@@ -101,7 +101,6 @@ static AMBA_APB_DEVICE(uart0, "uart0", 0, U300_UART0_BASE,
	{ IRQ_U300_UART0 }, &uart0_plat_data);

/* The U335 have an additional UART1 on the APP CPU */
#ifdef CONFIG_MACH_U300_BS335
static struct amba_pl011_data uart1_plat_data = {
#ifdef CONFIG_COH901318
	.dma_filter = coh901318_filter_id,
@@ -113,7 +112,6 @@ static struct amba_pl011_data uart1_plat_data = {
/* Fast device at 0x7000 offset */
static AMBA_APB_DEVICE(uart1, "uart1", 0, U300_UART1_BASE,
	{ IRQ_U300_UART1 }, &uart1_plat_data);
#endif

/* AHB device at 0x4000 offset */
static AMBA_APB_DEVICE(pl172, "pl172", 0, U300_EMIF_CFG_BASE, { }, NULL);
@@ -152,9 +150,7 @@ static AMBA_APB_DEVICE(mmcsd, "mmci", 0, U300_MMCSD_BASE,
 */
static struct amba_device *amba_devs[] __initdata = {
	&uart0_device,
#ifdef CONFIG_MACH_U300_BS335
	&uart1_device,
#endif
	&pl022_device,
	&pl172_device,
	&mmcsd_device,
@@ -188,7 +184,6 @@ static struct resource gpio_resources[] = {
		.end   = IRQ_U300_GPIO_PORT2,
		.flags = IORESOURCE_IRQ,
	},
#if defined(CONFIG_MACH_U300_BS365) || defined(CONFIG_MACH_U300_BS335)
	{
		.name  = "gpio3",
		.start = IRQ_U300_GPIO_PORT3,
@@ -201,8 +196,6 @@ static struct resource gpio_resources[] = {
		.end   = IRQ_U300_GPIO_PORT4,
		.flags = IORESOURCE_IRQ,
	},
#endif
#ifdef CONFIG_MACH_U300_BS335
	{
		.name  = "gpio5",
		.start = IRQ_U300_GPIO_PORT5,
@@ -215,7 +208,6 @@ static struct resource gpio_resources[] = {
		.end   = IRQ_U300_GPIO_PORT6,
		.flags = IORESOURCE_IRQ,
	},
#endif /* CONFIG_MACH_U300_BS335 */
};

static struct resource keypad_resources[] = {
@@ -323,7 +315,6 @@ static struct resource dma_resource[] = {
	}
};

#ifdef CONFIG_MACH_U300_BS335
/* points out all dma slave channels.
 * Syntax is [A1, B1, A2, B2, .... ,-1,-1]
 * Select all channels from A to B, end of list is marked with -1,-1
@@ -336,14 +327,6 @@ static int dma_slave_channels[] = {
static int dma_memcpy_channels[] = {
	U300_DMA_GENERAL_PURPOSE_0, U300_DMA_GENERAL_PURPOSE_8, -1, -1};

#else /* CONFIG_MACH_U300_BS335 */

static int dma_slave_channels[] = {U300_DMA_MSL_TX_0, U300_DMA_SPI_RX, -1, -1};
static int dma_memcpy_channels[] = {
	U300_DMA_GENERAL_PURPOSE_0, U300_DMA_GENERAL_PURPOSE_10, -1, -1};

#endif

/** register dma for memory access
 *
 * active  1 means dma intends to access memory
@@ -1395,7 +1378,6 @@ const struct coh_dma_channel chan_config[U300_DMA_CHANNELS] = {
		.param.ctrl_lli = flags_memcpy_lli,
		.param.ctrl_lli_last = flags_memcpy_lli_last,
	},
#ifdef CONFIG_MACH_U300_BS335
	{
		.number = U300_DMA_UART1_TX,
		.name = "UART1 TX",
@@ -1406,28 +1388,6 @@ const struct coh_dma_channel chan_config[U300_DMA_CHANNELS] = {
		.name = "UART1 RX",
		.priority_high = 0,
	}
#else
	{
		.number = U300_DMA_GENERAL_PURPOSE_9,
		.name = "GENERAL 09",
		.priority_high = 0,

		.param.config = flags_memcpy_config,
		.param.ctrl_lli_chained = flags_memcpy_lli_chained,
		.param.ctrl_lli = flags_memcpy_lli,
		.param.ctrl_lli_last = flags_memcpy_lli_last,
	},
	{
		.number = U300_DMA_GENERAL_PURPOSE_10,
		.name = "GENERAL 10",
		.priority_high = 0,

		.param.config = flags_memcpy_config,
		.param.ctrl_lli_chained = flags_memcpy_lli_chained,
		.param.ctrl_lli = flags_memcpy_lli,
		.param.ctrl_lli_last = flags_memcpy_lli_last,
	}
#endif
};


@@ -1480,18 +1440,8 @@ static struct platform_device pinctrl_device = {
 * GPIO block, with different number of ports.
 */
static struct u300_gpio_platform u300_gpio_plat = {
#if defined(CONFIG_MACH_U300_BS2X) || defined(CONFIG_MACH_U300_BS330)
	.variant = U300_GPIO_COH901335,
	.ports = 3,
#endif
#ifdef CONFIG_MACH_U300_BS335
	.variant = U300_GPIO_COH901571_3_BS335,
	.ports = 7,
#endif
#ifdef CONFIG_MACH_U300_BS365
	.variant = U300_GPIO_COH901571_3_BS365,
	.ports = 5,
#endif
	.gpio_base = 0,
	.gpio_irq_base = IRQ_U300_GPIO_BASE,
	.pinctrl_device = &pinctrl_device,
@@ -1756,29 +1706,11 @@ static void __init u300_init_check_chip(void)
	printk(KERN_INFO "Initializing U300 system on %s baseband chip " \
	       "(chip ID 0x%04x)\n", chipname, val);

#ifdef CONFIG_MACH_U300_BS330
	if ((val & 0xFF00U) != 0xd800) {
		printk(KERN_ERR "Platform configured for BS330 " \
		       "with DB3200 but %s detected, expect problems!",
		       chipname);
	}
#endif
#ifdef CONFIG_MACH_U300_BS335
	if ((val & 0xFF00U) != 0xf000 && (val & 0xFF00U) != 0xf100) {
		printk(KERN_ERR "Platform configured for BS335 " \
		       " with DB3350 but %s detected, expect problems!",
		       chipname);
	}
#endif
#ifdef CONFIG_MACH_U300_BS365
	if ((val & 0xFF00U) != 0xe800) {
		printk(KERN_ERR "Platform configured for BS365 " \
		       "with DB3210 but %s detected, expect problems!",
		       chipname);
	}
#endif


}

/*
+1 −5
Original line number Diff line number Diff line
/*
 * arch/arm/mach-u300/i2c.c
 *
 * Copyright (C) 2009 ST-Ericsson AB
 * Copyright (C) 2009-2012 ST-Ericsson AB
 * License terms: GNU General Public License (GPL) version 2
 *
 * Register board i2c devices
@@ -261,7 +261,6 @@ static struct i2c_board_info __initdata bus0_i2c_board_info[] = {
};

static struct i2c_board_info __initdata bus1_i2c_board_info[] = {
#ifdef CONFIG_MACH_U300_BS335
	{
		.type = "fwcam",
		.addr = 0x10,
@@ -270,9 +269,6 @@ static struct i2c_board_info __initdata bus1_i2c_board_info[] = {
		.type = "fwcam",
		.addr = 0x5d,
	},
#else
	{ },
#endif
};

void __init u300_i2c_register_board_devices(void)
+1 −10
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
 * arch/arm/mach-u300/include/mach/dma_channels.h
 *
 *
 * Copyright (C) 2007-2009 ST-Ericsson
 * Copyright (C) 2007-2012 ST-Ericsson
 * License terms: GNU General Public License (GPL) version 2
 * Map file for the U300 dma driver.
 * Author: Per Friden <per.friden@stericsson.com>
@@ -50,19 +50,10 @@
#define U300_DMA_GENERAL_PURPOSE_6    35
#define U300_DMA_GENERAL_PURPOSE_7    36
#define U300_DMA_GENERAL_PURPOSE_8    37
#ifdef CONFIG_MACH_U300_BS335
#define U300_DMA_UART1_TX             38
#define U300_DMA_UART1_RX             39
#else
#define U300_DMA_GENERAL_PURPOSE_9    38
#define U300_DMA_GENERAL_PURPOSE_10   39
#endif

#ifdef CONFIG_MACH_U300_BS335
#define U300_DMA_DEVICE_CHANNELS      32
#else
#define U300_DMA_DEVICE_CHANNELS      30
#endif
#define U300_DMA_CHANNELS             40


+1 −33
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
 * arch/arm/mach-u300/include/mach/irqs.h
 *
 *
 * Copyright (C) 2006-2009 ST-Ericsson AB
 * Copyright (C) 2006-2012 ST-Ericsson AB
 * License terms: GNU General Public License (GPL) version 2
 * IRQ channel definitions for the U300 platforms.
 * Author: Linus Walleij <linus.walleij@stericsson.com>
@@ -31,10 +31,6 @@
#define IRQ_U300_XGAM_GAMCON		14
#define IRQ_U300_XGAM_CDI		15
#define IRQ_U300_XGAM_CDICON		16
#if defined(CONFIG_MACH_U300_BS2X) || defined(CONFIG_MACH_U300_BS330)
/* MMIACC not used on the DB3210 or DB3350 chips */
#define IRQ_U300_XGAM_MMIACC		17
#endif
#define IRQ_U300_XGAM_PDI		18
#define IRQ_U300_XGAM_PDICON		19
#define IRQ_U300_XGAM_GAMEACC		20
@@ -55,8 +51,6 @@
#define IRQ_U300_GPIO_PORT1		34
#define IRQ_U300_GPIO_PORT2		35

#if defined(CONFIG_MACH_U300_BS2X) || defined(CONFIG_MACH_U300_BS330) || \
    defined(CONFIG_MACH_U300_BS335)
/* These are for DB3150, DB3200 and DB3350 */
#define IRQ_U300_WDOG			36
#define IRQ_U300_EVHIST			37
@@ -68,15 +62,8 @@
#define IRQ_U300_RTC			43
#define IRQ_U300_NFIF			44
#define IRQ_U300_NFIF2			45
#endif

/* DB3150 and DB3200 have only 45 IRQs */
#if defined(CONFIG_MACH_U300_BS2X) || defined(CONFIG_MACH_U300_BS330)
#define U300_VIC_IRQS_END		46
#endif

/* The DB3350-specific interrupt lines */
#ifdef CONFIG_MACH_U300_BS335
#define IRQ_U300_ISP_F0			46
#define IRQ_U300_ISP_F1			47
#define IRQ_U300_ISP_F2			48
@@ -89,25 +76,6 @@
#define IRQ_U300_GPIO_PORT5		55
#define IRQ_U300_GPIO_PORT6		56
#define U300_VIC_IRQS_END		57
#endif

/* The DB3210-specific interrupt lines */
#ifdef CONFIG_MACH_U300_BS365
#define IRQ_U300_GPIO_PORT3		36
#define IRQ_U300_GPIO_PORT4		37
#define IRQ_U300_WDOG			38
#define IRQ_U300_EVHIST			39
#define IRQ_U300_MSPRO			40
#define IRQ_U300_MMCSD_MCIINTR0		41
#define IRQ_U300_MMCSD_MCIINTR1		42
#define IRQ_U300_I2C0			43
#define IRQ_U300_I2C1			44
#define IRQ_U300_RTC			45
#define IRQ_U300_NFIF			46
#define IRQ_U300_NFIF2			47
#define IRQ_U300_SYSCON_PLL_LOCK	48
#define U300_VIC_IRQS_END		49
#endif

/* Maximum 8*7 GPIO lines */
#ifdef CONFIG_PINCTRL_COH901
Loading