Commit 6dd937e8 authored by Lee Jones's avatar Lee Jones Committed by Linus Walleij

ARM: ux500: Delete U8500 UIB support when booting with ATAGs

It's time to remove all ATAG support from ux500 and rely solely on
Device Tree booting. This patch is part of that endeavour.
Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent f368a087
...@@ -9,7 +9,6 @@ obj-$(CONFIG_UX500_SOC_DB8500) += cpu-db8500.o devices-db8500.o ...@@ -9,7 +9,6 @@ obj-$(CONFIG_UX500_SOC_DB8500) += cpu-db8500.o devices-db8500.o
obj-$(CONFIG_MACH_MOP500) += board-mop500.o board-mop500-sdi.o \ obj-$(CONFIG_MACH_MOP500) += board-mop500.o board-mop500-sdi.o \
board-mop500-regulators.o \ board-mop500-regulators.o \
board-mop500-uib.o board-mop500-stuib.o \ board-mop500-uib.o board-mop500-stuib.o \
board-mop500-u8500uib.o \
board-mop500-pins.o \ board-mop500-pins.o \
board-mop500-audio.o board-mop500-audio.o
obj-$(CONFIG_SMP) += platsmp.o headsmp.o obj-$(CONFIG_SMP) += platsmp.o headsmp.o
......
/*
* Copyright (C) ST-Ericsson SA 2010
*
* Board data for the U8500 UIB, also known as the New UIB
* License terms: GNU General Public License (GPL), version 2
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include "board-mop500.h"
void __init mop500_u8500uib_init(void)
{
}
...@@ -16,7 +16,6 @@ ...@@ -16,7 +16,6 @@
enum mop500_uib { enum mop500_uib {
STUIB, STUIB,
U8500UIB,
}; };
struct uib { struct uib {
...@@ -31,11 +30,6 @@ static struct uib __initdata mop500_uibs[] = { ...@@ -31,11 +30,6 @@ static struct uib __initdata mop500_uibs[] = {
.option = "stuib", .option = "stuib",
.init = mop500_stuib_init, .init = mop500_stuib_init,
}, },
[U8500UIB] = {
.name = "U8500-UIB",
.option = "u8500uib",
.init = mop500_u8500uib_init,
},
}; };
static struct uib *mop500_uib; static struct uib *mop500_uib;
...@@ -93,14 +87,9 @@ static void __init __mop500_uib_init(struct uib *uib, const char *why) ...@@ -93,14 +87,9 @@ static void __init __mop500_uib_init(struct uib *uib, const char *why)
uib->init(); uib->init();
} }
/*
* Detect the UIB attached based on the presence or absence of i2c devices.
*/
int __init mop500_uib_init(void) int __init mop500_uib_init(void)
{ {
struct uib *uib = mop500_uib; struct uib *uib = mop500_uib;
struct i2c_adapter *i2c0;
int ret;
if (!cpu_is_u8500_family()) if (!cpu_is_u8500_family())
return -ENODEV; return -ENODEV;
...@@ -110,24 +99,7 @@ int __init mop500_uib_init(void) ...@@ -110,24 +99,7 @@ int __init mop500_uib_init(void)
return 0; return 0;
} }
i2c0 = i2c_get_adapter(0); __mop500_uib_init(&mop500_uibs[STUIB], "detected");
if (!i2c0) {
__mop500_uib_init(&mop500_uibs[STUIB],
"fallback, could not get i2c0");
return -ENODEV;
}
/* U8500-UIB has the TC35893 at 0x44 on I2C0, the ST-UIB doesn't. */
ret = i2c_smbus_xfer(i2c0, 0x44, 0, I2C_SMBUS_WRITE, 0,
I2C_SMBUS_QUICK, NULL);
i2c_put_adapter(i2c0);
if (ret == 0)
uib = &mop500_uibs[U8500UIB];
else
uib = &mop500_uibs[STUIB];
__mop500_uib_init(uib, "detected");
return 0; return 0;
} }
...@@ -89,7 +89,6 @@ extern struct msp_i2s_platform_data msp2_platform_data; ...@@ -89,7 +89,6 @@ extern struct msp_i2s_platform_data msp2_platform_data;
extern struct msp_i2s_platform_data msp3_platform_data; extern struct msp_i2s_platform_data msp3_platform_data;
extern struct pl022_ssp_controller ssp0_plat; extern struct pl022_ssp_controller ssp0_plat;
void __init mop500_u8500uib_init(void);
void __init mop500_stuib_init(void); void __init mop500_stuib_init(void);
void __init mop500_pinmaps_init(void); void __init mop500_pinmaps_init(void);
void __init snowball_pinmaps_init(void); void __init snowball_pinmaps_init(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