Loading arch/arm/mach-pxa/include/mach/littleton.h +8 −3 Original line number Diff line number Diff line #ifndef __ASM_ARCH_ZYLONITE_H #define __ASM_ARCH_ZYLONITE_H #ifndef __ASM_ARCH_LITTLETON_H #define __ASM_ARCH_LITTLETON_H #include <mach/gpio.h> #define LITTLETON_ETH_PHYS 0x30000000 #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 */ arch/arm/mach-pxa/littleton.c +73 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,10 @@ #include <linux/gpio.h> #include <linux/spi/spi.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/setup.h> Loading @@ -40,6 +44,7 @@ #include <mach/pxafb.h> #include <mach/ssp.h> #include <mach/pxa2xx_spi.h> #include <mach/i2c.h> #include <mach/pxa27x_keypad.h> #include <mach/pxa3xx_nand.h> #include <mach/littleton.h> Loading Loading @@ -314,6 +319,73 @@ static void __init littleton_init_nand(void) static inline void littleton_init_nand(void) {} #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) { /* initialize MFP configurations */ Loading @@ -326,6 +398,7 @@ static void __init littleton_init(void) platform_device_register(&smc91x_device); littleton_init_spi(); littleton_init_i2c(); littleton_init_lcd(); littleton_init_keypad(); littleton_init_nand(); Loading Loading
arch/arm/mach-pxa/include/mach/littleton.h +8 −3 Original line number Diff line number Diff line #ifndef __ASM_ARCH_ZYLONITE_H #define __ASM_ARCH_ZYLONITE_H #ifndef __ASM_ARCH_LITTLETON_H #define __ASM_ARCH_LITTLETON_H #include <mach/gpio.h> #define LITTLETON_ETH_PHYS 0x30000000 #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 */
arch/arm/mach-pxa/littleton.c +73 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,10 @@ #include <linux/gpio.h> #include <linux/spi/spi.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/setup.h> Loading @@ -40,6 +44,7 @@ #include <mach/pxafb.h> #include <mach/ssp.h> #include <mach/pxa2xx_spi.h> #include <mach/i2c.h> #include <mach/pxa27x_keypad.h> #include <mach/pxa3xx_nand.h> #include <mach/littleton.h> Loading Loading @@ -314,6 +319,73 @@ static void __init littleton_init_nand(void) static inline void littleton_init_nand(void) {} #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) { /* initialize MFP configurations */ Loading @@ -326,6 +398,7 @@ static void __init littleton_init(void) platform_device_register(&smc91x_device); littleton_init_spi(); littleton_init_i2c(); littleton_init_lcd(); littleton_init_keypad(); littleton_init_nand(); Loading