diff options
Diffstat (limited to 'arch/arm/mach-omap1')
-rw-r--r-- | arch/arm/mach-omap1/board-h2.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-h3.c | 22 | ||||
-rw-r--r-- | arch/arm/mach-omap1/pm.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap1/time.c | 12 |
4 files changed, 37 insertions, 3 deletions
diff --git a/arch/arm/mach-omap1/board-h2.c b/arch/arm/mach-omap1/board-h2.c index 070345ee39a5..507987720015 100644 --- a/arch/arm/mach-omap1/board-h2.c +++ b/arch/arm/mach-omap1/board-h2.c | |||
@@ -350,6 +350,10 @@ static void __init h2_init_smc91x(void) | |||
350 | 350 | ||
351 | static struct i2c_board_info __initdata h2_i2c_board_info[] = { | 351 | static struct i2c_board_info __initdata h2_i2c_board_info[] = { |
352 | { | 352 | { |
353 | I2C_BOARD_INFO("tps65010", 0x48), | ||
354 | .type = "tps65010", | ||
355 | .irq = OMAP_GPIO_IRQ(58), | ||
356 | }, { | ||
353 | I2C_BOARD_INFO("isp1301_omap", 0x2d), | 357 | I2C_BOARD_INFO("isp1301_omap", 0x2d), |
354 | .type = "isp1301_omap", | 358 | .type = "isp1301_omap", |
355 | .irq = OMAP_GPIO_IRQ(2), | 359 | .irq = OMAP_GPIO_IRQ(2), |
diff --git a/arch/arm/mach-omap1/board-h3.c b/arch/arm/mach-omap1/board-h3.c index 6fc516855a8c..c3ef1ee5f77b 100644 --- a/arch/arm/mach-omap1/board-h3.c +++ b/arch/arm/mach-omap1/board-h3.c | |||
@@ -26,6 +26,7 @@ | |||
26 | #include <linux/mtd/nand.h> | 26 | #include <linux/mtd/nand.h> |
27 | #include <linux/mtd/partitions.h> | 27 | #include <linux/mtd/partitions.h> |
28 | #include <linux/input.h> | 28 | #include <linux/input.h> |
29 | #include <linux/spi/spi.h> | ||
29 | #include <linux/i2c/tps65010.h> | 30 | #include <linux/i2c/tps65010.h> |
30 | 31 | ||
31 | #include <asm/setup.h> | 32 | #include <asm/setup.h> |
@@ -51,6 +52,8 @@ | |||
51 | #include <asm/arch/mcbsp.h> | 52 | #include <asm/arch/mcbsp.h> |
52 | #include <asm/arch/omap-alsa.h> | 53 | #include <asm/arch/omap-alsa.h> |
53 | 54 | ||
55 | #define H3_TS_GPIO 48 | ||
56 | |||
54 | static int h3_keymap[] = { | 57 | static int h3_keymap[] = { |
55 | KEY(0, 0, KEY_LEFT), | 58 | KEY(0, 0, KEY_LEFT), |
56 | KEY(0, 1, KEY_RIGHT), | 59 | KEY(0, 1, KEY_RIGHT), |
@@ -373,6 +376,17 @@ static struct platform_device h3_lcd_device = { | |||
373 | .id = -1, | 376 | .id = -1, |
374 | }; | 377 | }; |
375 | 378 | ||
379 | static struct spi_board_info h3_spi_board_info[] __initdata = { | ||
380 | [0] = { | ||
381 | .modalias = "tsc2101", | ||
382 | .bus_num = 2, | ||
383 | .chip_select = 0, | ||
384 | .irq = OMAP_GPIO_IRQ(H3_TS_GPIO), | ||
385 | .max_speed_hz = 16000000, | ||
386 | /* .platform_data = &tsc_platform_data, */ | ||
387 | }, | ||
388 | }; | ||
389 | |||
376 | static struct omap_mcbsp_reg_cfg mcbsp_regs = { | 390 | static struct omap_mcbsp_reg_cfg mcbsp_regs = { |
377 | .spcr2 = FREE | FRST | GRST | XRST | XINTM(3), | 391 | .spcr2 = FREE | FRST | GRST | XRST | XINTM(3), |
378 | .spcr1 = RINTM(3) | RRST, | 392 | .spcr1 = RINTM(3) | RRST, |
@@ -457,6 +471,14 @@ static struct omap_board_config_kernel h3_config[] __initdata = { | |||
457 | { OMAP_TAG_LCD, &h3_lcd_config }, | 471 | { OMAP_TAG_LCD, &h3_lcd_config }, |
458 | }; | 472 | }; |
459 | 473 | ||
474 | static struct i2c_board_info __initdata h3_i2c_board_info[] = { | ||
475 | { | ||
476 | I2C_BOARD_INFO("tps65010", 0x48), | ||
477 | .type = "tps65013", | ||
478 | /* .irq = OMAP_GPIO_IRQ(??), */ | ||
479 | }, | ||
480 | }; | ||
481 | |||
460 | static struct omap_gpio_switch h3_gpio_switches[] __initdata = { | 482 | static struct omap_gpio_switch h3_gpio_switches[] __initdata = { |
461 | { | 483 | { |
462 | .name = "mmc_slot", | 484 | .name = "mmc_slot", |
diff --git a/arch/arm/mach-omap1/pm.c b/arch/arm/mach-omap1/pm.c index 8eb5dcdaead2..e6c64e10b7ec 100644 --- a/arch/arm/mach-omap1/pm.c +++ b/arch/arm/mach-omap1/pm.c | |||
@@ -717,7 +717,7 @@ static int __init omap_pm_init(void) | |||
717 | #endif | 717 | #endif |
718 | 718 | ||
719 | #ifdef CONFIG_OMAP_32K_TIMER | 719 | #ifdef CONFIG_OMAP_32K_TIMER |
720 | error = sysfs_create_file(power_kobj, &sleep_while_idle_attr); | 720 | error = sysfs_create_file(power_kobj, &sleep_while_idle_attr.attr); |
721 | if (error) | 721 | if (error) |
722 | printk(KERN_ERR "sysfs_create_file failed: %d\n", error); | 722 | printk(KERN_ERR "sysfs_create_file failed: %d\n", error); |
723 | #endif | 723 | #endif |
diff --git a/arch/arm/mach-omap1/time.c b/arch/arm/mach-omap1/time.c index 237651ebae5d..a4f8b2055437 100644 --- a/arch/arm/mach-omap1/time.c +++ b/arch/arm/mach-omap1/time.c | |||
@@ -132,13 +132,20 @@ static inline void omap_mpu_timer_start(int nr, unsigned long load_val, | |||
132 | timer->cntl = timerflags; | 132 | timer->cntl = timerflags; |
133 | } | 133 | } |
134 | 134 | ||
135 | static inline void omap_mpu_timer_stop(int nr) | ||
136 | { | ||
137 | volatile omap_mpu_timer_regs_t* timer = omap_mpu_timer_base(nr); | ||
138 | |||
139 | timer->cntl &= ~MPU_TIMER_ST; | ||
140 | } | ||
141 | |||
135 | /* | 142 | /* |
136 | * --------------------------------------------------------------------------- | 143 | * --------------------------------------------------------------------------- |
137 | * MPU timer 1 ... count down to zero, interrupt, reload | 144 | * MPU timer 1 ... count down to zero, interrupt, reload |
138 | * --------------------------------------------------------------------------- | 145 | * --------------------------------------------------------------------------- |
139 | */ | 146 | */ |
140 | static int omap_mpu_set_next_event(unsigned long cycles, | 147 | static int omap_mpu_set_next_event(unsigned long cycles, |
141 | struct clock_event_device *evt) | 148 | struct clock_event_device *evt) |
142 | { | 149 | { |
143 | omap_mpu_timer_start(0, cycles, 0); | 150 | omap_mpu_timer_start(0, cycles, 0); |
144 | return 0; | 151 | return 0; |
@@ -152,6 +159,7 @@ static void omap_mpu_set_mode(enum clock_event_mode mode, | |||
152 | omap_mpu_set_autoreset(0); | 159 | omap_mpu_set_autoreset(0); |
153 | break; | 160 | break; |
154 | case CLOCK_EVT_MODE_ONESHOT: | 161 | case CLOCK_EVT_MODE_ONESHOT: |
162 | omap_mpu_timer_stop(0); | ||
155 | omap_mpu_remove_autoreset(0); | 163 | omap_mpu_remove_autoreset(0); |
156 | break; | 164 | break; |
157 | case CLOCK_EVT_MODE_UNUSED: | 165 | case CLOCK_EVT_MODE_UNUSED: |
@@ -163,7 +171,7 @@ static void omap_mpu_set_mode(enum clock_event_mode mode, | |||
163 | 171 | ||
164 | static struct clock_event_device clockevent_mpu_timer1 = { | 172 | static struct clock_event_device clockevent_mpu_timer1 = { |
165 | .name = "mpu_timer1", | 173 | .name = "mpu_timer1", |
166 | .features = CLOCK_EVT_FEAT_PERIODIC, CLOCK_EVT_FEAT_ONESHOT, | 174 | .features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT, |
167 | .shift = 32, | 175 | .shift = 32, |
168 | .set_next_event = omap_mpu_set_next_event, | 176 | .set_next_event = omap_mpu_set_next_event, |
169 | .set_mode = omap_mpu_set_mode, | 177 | .set_mode = omap_mpu_set_mode, |