mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-19 02:34:01 +08:00
[ARM] pxa/littleton: add preliminary I2C board info (da9034 + max7320)
Signed-off-by: Eric Miao <eric.miao@marvell.com>
This commit is contained in:
parent
111059e7f4
commit
3b24f30c4f
@ -1,8 +1,13 @@
|
|||||||
#ifndef __ASM_ARCH_ZYLONITE_H
|
#ifndef __ASM_ARCH_LITTLETON_H
|
||||||
#define __ASM_ARCH_ZYLONITE_H
|
#define __ASM_ARCH_LITTLETON_H
|
||||||
|
|
||||||
|
#include <mach/gpio.h>
|
||||||
|
|
||||||
#define LITTLETON_ETH_PHYS 0x30000000
|
#define LITTLETON_ETH_PHYS 0x30000000
|
||||||
|
|
||||||
#define LITTLETON_GPIO_LCD_CS (17)
|
#define LITTLETON_GPIO_LCD_CS (17)
|
||||||
|
|
||||||
#endif /* __ASM_ARCH_ZYLONITE_H */
|
#define EXT0_GPIO_BASE (NR_BUILTIN_GPIO)
|
||||||
|
#define EXT0_GPIO(x) (EXT0_GPIO_BASE + (x))
|
||||||
|
|
||||||
|
#endif /* __ASM_ARCH_LITTLETON_H */
|
||||||
|
@ -23,6 +23,10 @@
|
|||||||
#include <linux/gpio.h>
|
#include <linux/gpio.h>
|
||||||
#include <linux/spi/spi.h>
|
#include <linux/spi/spi.h>
|
||||||
#include <linux/smc91x.h>
|
#include <linux/smc91x.h>
|
||||||
|
#include <linux/i2c.h>
|
||||||
|
#include <linux/leds.h>
|
||||||
|
#include <linux/mfd/da903x.h>
|
||||||
|
#include <linux/i2c/max732x.h>
|
||||||
|
|
||||||
#include <asm/types.h>
|
#include <asm/types.h>
|
||||||
#include <asm/setup.h>
|
#include <asm/setup.h>
|
||||||
@ -40,6 +44,7 @@
|
|||||||
#include <mach/pxafb.h>
|
#include <mach/pxafb.h>
|
||||||
#include <mach/ssp.h>
|
#include <mach/ssp.h>
|
||||||
#include <mach/pxa2xx_spi.h>
|
#include <mach/pxa2xx_spi.h>
|
||||||
|
#include <mach/i2c.h>
|
||||||
#include <mach/pxa27x_keypad.h>
|
#include <mach/pxa27x_keypad.h>
|
||||||
#include <mach/pxa3xx_nand.h>
|
#include <mach/pxa3xx_nand.h>
|
||||||
#include <mach/littleton.h>
|
#include <mach/littleton.h>
|
||||||
@ -314,6 +319,73 @@ static void __init littleton_init_nand(void)
|
|||||||
static inline void littleton_init_nand(void) {}
|
static inline void littleton_init_nand(void) {}
|
||||||
#endif /* CONFIG_MTD_NAND_PXA3xx || CONFIG_MTD_NAND_PXA3xx_MODULE */
|
#endif /* CONFIG_MTD_NAND_PXA3xx || CONFIG_MTD_NAND_PXA3xx_MODULE */
|
||||||
|
|
||||||
|
#if defined(CONFIG_I2C_PXA) || defined(CONFIG_I2C_PXA_MODULE)
|
||||||
|
static struct led_info littleton_da9034_leds[] = {
|
||||||
|
[0] = {
|
||||||
|
.name = "littleton:keypad1",
|
||||||
|
.flags = DA9034_LED_RAMP,
|
||||||
|
},
|
||||||
|
[1] = {
|
||||||
|
.name = "littleton:keypad2",
|
||||||
|
.flags = DA9034_LED_RAMP,
|
||||||
|
},
|
||||||
|
[2] = {
|
||||||
|
.name = "littleton:vibra",
|
||||||
|
.flags = 0,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct da903x_subdev_info littleton_da9034_subdevs[] = {
|
||||||
|
{
|
||||||
|
.name = "da903x-led",
|
||||||
|
.id = DA9034_ID_LED_1,
|
||||||
|
.platform_data = &littleton_da9034_leds[0],
|
||||||
|
}, {
|
||||||
|
.name = "da903x-led",
|
||||||
|
.id = DA9034_ID_LED_2,
|
||||||
|
.platform_data = &littleton_da9034_leds[1],
|
||||||
|
}, {
|
||||||
|
.name = "da903x-led",
|
||||||
|
.id = DA9034_ID_VIBRA,
|
||||||
|
.platform_data = &littleton_da9034_leds[2],
|
||||||
|
}, {
|
||||||
|
.name = "da903x-backlight",
|
||||||
|
.id = DA9034_ID_WLED,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct da903x_platform_data littleton_da9034_info = {
|
||||||
|
.num_subdevs = ARRAY_SIZE(littleton_da9034_subdevs),
|
||||||
|
.subdevs = littleton_da9034_subdevs,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct max732x_platform_data littleton_max7320_info = {
|
||||||
|
.gpio_base = EXT0_GPIO_BASE,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct i2c_board_info littleton_i2c_info[] = {
|
||||||
|
[0] = {
|
||||||
|
.type = "da9034",
|
||||||
|
.addr = 0x34,
|
||||||
|
.platform_data = &littleton_da9034_info,
|
||||||
|
.irq = gpio_to_irq(mfp_to_gpio(MFP_PIN_GPIO18)),
|
||||||
|
},
|
||||||
|
[1] = {
|
||||||
|
.type = "max7320",
|
||||||
|
.addr = 0x50,
|
||||||
|
.platform_data = &littleton_max7320_info,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static void __init littleton_init_i2c(void)
|
||||||
|
{
|
||||||
|
pxa_set_i2c_info(NULL);
|
||||||
|
i2c_register_board_info(0, ARRAY_AND_SIZE(littleton_i2c_info));
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static inline void littleton_init_i2c(void) {}
|
||||||
|
#endif /* CONFIG_I2C_PXA || CONFIG_I2C_PXA_MODULE */
|
||||||
|
|
||||||
static void __init littleton_init(void)
|
static void __init littleton_init(void)
|
||||||
{
|
{
|
||||||
/* initialize MFP configurations */
|
/* initialize MFP configurations */
|
||||||
@ -326,6 +398,7 @@ static void __init littleton_init(void)
|
|||||||
platform_device_register(&smc91x_device);
|
platform_device_register(&smc91x_device);
|
||||||
|
|
||||||
littleton_init_spi();
|
littleton_init_spi();
|
||||||
|
littleton_init_i2c();
|
||||||
littleton_init_lcd();
|
littleton_init_lcd();
|
||||||
littleton_init_keypad();
|
littleton_init_keypad();
|
||||||
littleton_init_nand();
|
littleton_init_nand();
|
||||||
|
Loading…
Reference in New Issue
Block a user