mirror of https://gitee.com/openkylin/linux.git
ARM: AB3550 board configuration and irq for U300
This patch adds the i2c board configuration needed for the Mixed Signal chip AB3550. It also adds the irq numbers needed for the irq_chip implementation. Signed-off-by: Mattias Wallin <mattias.wallin@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
parent
09bcb3f336
commit
d162251d1b
|
@ -46,6 +46,7 @@
|
|||
/* BUCK SLEEP 0xAC: 1.05V, Not used, SLEEP_A and B, Not used */
|
||||
#define BUCK_SLEEP_SETTING 0xAC
|
||||
|
||||
#ifdef CONFIG_AB3100_CORE
|
||||
static struct regulator_consumer_supply supply_ldo_c[] = {
|
||||
{
|
||||
.dev_name = "ab3100-codec",
|
||||
|
@ -253,14 +254,68 @@ static struct ab3100_platform_data ab3100_plf_data = {
|
|||
LDO_D_SETTING,
|
||||
},
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_AB3550_CORE
|
||||
static struct abx500_init_settings ab3550_init_settings[] = {
|
||||
{
|
||||
.bank = 0,
|
||||
.reg = AB3550_IMR1,
|
||||
.setting = 0xff
|
||||
},
|
||||
{
|
||||
.bank = 0,
|
||||
.reg = AB3550_IMR2,
|
||||
.setting = 0xff
|
||||
},
|
||||
{
|
||||
.bank = 0,
|
||||
.reg = AB3550_IMR3,
|
||||
.setting = 0xff
|
||||
},
|
||||
{
|
||||
.bank = 0,
|
||||
.reg = AB3550_IMR4,
|
||||
.setting = 0xff
|
||||
},
|
||||
{
|
||||
.bank = 0,
|
||||
.reg = AB3550_IMR5,
|
||||
/* The two most significant bits are not used */
|
||||
.setting = 0x3f
|
||||
},
|
||||
};
|
||||
|
||||
static struct ab3550_platform_data ab3550_plf_data = {
|
||||
.irq = {
|
||||
.base = IRQ_AB3550_BASE,
|
||||
.count = (IRQ_AB3550_END - IRQ_AB3550_BASE + 1),
|
||||
},
|
||||
.dev_data = {
|
||||
},
|
||||
.init_settings = ab3550_init_settings,
|
||||
.init_settings_sz = ARRAY_SIZE(ab3550_init_settings),
|
||||
};
|
||||
#endif
|
||||
|
||||
static struct i2c_board_info __initdata bus0_i2c_board_info[] = {
|
||||
#if defined(CONFIG_AB3550_CORE)
|
||||
{
|
||||
.type = "ab3550",
|
||||
.addr = 0x4A,
|
||||
.irq = IRQ_U300_IRQ0_EXT,
|
||||
.platform_data = &ab3550_plf_data,
|
||||
},
|
||||
#elif defined(CONFIG_AB3100_CORE)
|
||||
{
|
||||
.type = "ab3100",
|
||||
.addr = 0x48,
|
||||
.irq = IRQ_U300_IRQ0_EXT,
|
||||
.platform_data = &ab3100_plf_data,
|
||||
},
|
||||
#else
|
||||
{ },
|
||||
#endif
|
||||
};
|
||||
|
||||
static struct i2c_board_info __initdata bus1_i2c_board_info[] = {
|
||||
|
|
|
@ -109,6 +109,13 @@
|
|||
#define U300_NR_IRQS 48
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_AB3550_CORE
|
||||
#define IRQ_AB3550_BASE (U300_NR_IRQS)
|
||||
#define IRQ_AB3550_END (IRQ_AB3550_BASE + 37)
|
||||
|
||||
#define NR_IRQS (IRQ_AB3550_END + 1)
|
||||
#else
|
||||
#define NR_IRQS U300_NR_IRQS
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue