diff options
Diffstat (limited to 'arch/arm/plat-omap')
-rw-r--r-- | arch/arm/plat-omap/gpio.c | 12 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/display.h | 9 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/omap_hwmod.h | 2 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/panel-generic-dpi.h | 37 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/voltage.h | 17 |
5 files changed, 68 insertions, 9 deletions
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c index 99f57b9c7fa3..971d18636942 100644 --- a/arch/arm/plat-omap/gpio.c +++ b/arch/arm/plat-omap/gpio.c | |||
@@ -718,7 +718,7 @@ static int _set_gpio_triggering(struct gpio_bank *bank, int gpio, int trigger) | |||
718 | case METHOD_GPIO_24XX: | 718 | case METHOD_GPIO_24XX: |
719 | case METHOD_GPIO_44XX: | 719 | case METHOD_GPIO_44XX: |
720 | set_24xx_gpio_triggering(bank, gpio, trigger); | 720 | set_24xx_gpio_triggering(bank, gpio, trigger); |
721 | break; | 721 | return 0; |
722 | #endif | 722 | #endif |
723 | default: | 723 | default: |
724 | goto bad; | 724 | goto bad; |
@@ -756,8 +756,10 @@ static int gpio_irq_type(struct irq_data *d, unsigned type) | |||
756 | spin_lock_irqsave(&bank->lock, flags); | 756 | spin_lock_irqsave(&bank->lock, flags); |
757 | retval = _set_gpio_triggering(bank, get_gpio_index(gpio), type); | 757 | retval = _set_gpio_triggering(bank, get_gpio_index(gpio), type); |
758 | if (retval == 0) { | 758 | if (retval == 0) { |
759 | irq_desc[d->irq].status &= ~IRQ_TYPE_SENSE_MASK; | 759 | struct irq_desc *desc = irq_to_desc(d->irq); |
760 | irq_desc[d->irq].status |= type; | 760 | |
761 | desc->status &= ~IRQ_TYPE_SENSE_MASK; | ||
762 | desc->status |= type; | ||
761 | } | 763 | } |
762 | spin_unlock_irqrestore(&bank->lock, flags); | 764 | spin_unlock_irqrestore(&bank->lock, flags); |
763 | 765 | ||
@@ -1670,7 +1672,9 @@ static void __init omap_gpio_chip_init(struct gpio_bank *bank) | |||
1670 | 1672 | ||
1671 | for (j = bank->virtual_irq_start; | 1673 | for (j = bank->virtual_irq_start; |
1672 | j < bank->virtual_irq_start + bank_width; j++) { | 1674 | j < bank->virtual_irq_start + bank_width; j++) { |
1673 | lockdep_set_class(&irq_desc[j].lock, &gpio_lock_class); | 1675 | struct irq_desc *d = irq_to_desc(j); |
1676 | |||
1677 | lockdep_set_class(&d->lock, &gpio_lock_class); | ||
1674 | set_irq_chip_data(j, bank); | 1678 | set_irq_chip_data(j, bank); |
1675 | if (bank_is_mpuio(bank)) | 1679 | if (bank_is_mpuio(bank)) |
1676 | set_irq_chip(j, &mpuio_irq_chip); | 1680 | set_irq_chip(j, &mpuio_irq_chip); |
diff --git a/arch/arm/plat-omap/include/plat/display.h b/arch/arm/plat-omap/include/plat/display.h index c915a661f1f5..537f4e449f50 100644 --- a/arch/arm/plat-omap/include/plat/display.h +++ b/arch/arm/plat-omap/include/plat/display.h | |||
@@ -42,6 +42,10 @@ | |||
42 | #define DISPC_IRQ_SYNC_LOST (1 << 14) | 42 | #define DISPC_IRQ_SYNC_LOST (1 << 14) |
43 | #define DISPC_IRQ_SYNC_LOST_DIGIT (1 << 15) | 43 | #define DISPC_IRQ_SYNC_LOST_DIGIT (1 << 15) |
44 | #define DISPC_IRQ_WAKEUP (1 << 16) | 44 | #define DISPC_IRQ_WAKEUP (1 << 16) |
45 | #define DISPC_IRQ_SYNC_LOST2 (1 << 17) | ||
46 | #define DISPC_IRQ_VSYNC2 (1 << 18) | ||
47 | #define DISPC_IRQ_ACBIAS_COUNT_STAT2 (1 << 21) | ||
48 | #define DISPC_IRQ_FRAMEDONE2 (1 << 22) | ||
45 | 49 | ||
46 | struct omap_dss_device; | 50 | struct omap_dss_device; |
47 | struct omap_overlay_manager; | 51 | struct omap_overlay_manager; |
@@ -64,6 +68,7 @@ enum omap_plane { | |||
64 | enum omap_channel { | 68 | enum omap_channel { |
65 | OMAP_DSS_CHANNEL_LCD = 0, | 69 | OMAP_DSS_CHANNEL_LCD = 0, |
66 | OMAP_DSS_CHANNEL_DIGIT = 1, | 70 | OMAP_DSS_CHANNEL_DIGIT = 1, |
71 | OMAP_DSS_CHANNEL_LCD2 = 2, | ||
67 | }; | 72 | }; |
68 | 73 | ||
69 | enum omap_color_mode { | 74 | enum omap_color_mode { |
@@ -142,6 +147,7 @@ enum omap_dss_display_state { | |||
142 | enum omap_dss_overlay_managers { | 147 | enum omap_dss_overlay_managers { |
143 | OMAP_DSS_OVL_MGR_LCD, | 148 | OMAP_DSS_OVL_MGR_LCD, |
144 | OMAP_DSS_OVL_MGR_TV, | 149 | OMAP_DSS_OVL_MGR_TV, |
150 | OMAP_DSS_OVL_MGR_LCD2, | ||
145 | }; | 151 | }; |
146 | 152 | ||
147 | enum omap_dss_rotation_type { | 153 | enum omap_dss_rotation_type { |
@@ -268,6 +274,7 @@ struct omap_overlay_info { | |||
268 | u16 out_width; /* if 0, out_width == width */ | 274 | u16 out_width; /* if 0, out_width == width */ |
269 | u16 out_height; /* if 0, out_height == height */ | 275 | u16 out_height; /* if 0, out_height == height */ |
270 | u8 global_alpha; | 276 | u8 global_alpha; |
277 | u8 pre_mult_alpha; | ||
271 | }; | 278 | }; |
272 | 279 | ||
273 | struct omap_overlay { | 280 | struct omap_overlay { |
@@ -351,6 +358,8 @@ struct omap_dss_device { | |||
351 | 358 | ||
352 | enum omap_display_type type; | 359 | enum omap_display_type type; |
353 | 360 | ||
361 | enum omap_channel channel; | ||
362 | |||
354 | union { | 363 | union { |
355 | struct { | 364 | struct { |
356 | u8 data_lines; | 365 | u8 data_lines; |
diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h b/arch/arm/plat-omap/include/plat/omap_hwmod.h index 6864a997f2ca..1eee85a8abb3 100644 --- a/arch/arm/plat-omap/include/plat/omap_hwmod.h +++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h | |||
@@ -351,7 +351,7 @@ struct omap_hwmod_omap2_prcm { | |||
351 | /** | 351 | /** |
352 | * struct omap_hwmod_omap4_prcm - OMAP4-specific PRCM data | 352 | * struct omap_hwmod_omap4_prcm - OMAP4-specific PRCM data |
353 | * @clkctrl_reg: PRCM address of the clock control register | 353 | * @clkctrl_reg: PRCM address of the clock control register |
354 | * @rstctrl_reg: adress of the XXX_RSTCTRL register located in the PRM | 354 | * @rstctrl_reg: address of the XXX_RSTCTRL register located in the PRM |
355 | * @submodule_wkdep_bit: bit shift of the WKDEP range | 355 | * @submodule_wkdep_bit: bit shift of the WKDEP range |
356 | */ | 356 | */ |
357 | struct omap_hwmod_omap4_prcm { | 357 | struct omap_hwmod_omap4_prcm { |
diff --git a/arch/arm/plat-omap/include/plat/panel-generic-dpi.h b/arch/arm/plat-omap/include/plat/panel-generic-dpi.h new file mode 100644 index 000000000000..790619734bcd --- /dev/null +++ b/arch/arm/plat-omap/include/plat/panel-generic-dpi.h | |||
@@ -0,0 +1,37 @@ | |||
1 | /* | ||
2 | * Header for generic DPI panel driver | ||
3 | * | ||
4 | * Copyright (C) 2010 Canonical Ltd. | ||
5 | * Author: Bryan Wu <bryan.wu@canonical.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify it | ||
8 | * under the terms of the GNU General Public License version 2 as published by | ||
9 | * the Free Software Foundation. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
14 | * more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License along with | ||
17 | * this program. If not, see <http://www.gnu.org/licenses/>. | ||
18 | */ | ||
19 | |||
20 | #ifndef __ARCH_ARM_PLAT_OMAP_PANEL_GENERIC_DPI_H | ||
21 | #define __ARCH_ARM_PLAT_OMAP_PANEL_GENERIC_DPI_H | ||
22 | |||
23 | #include "display.h" | ||
24 | |||
25 | /** | ||
26 | * struct panel_generic_dpi_data - panel driver configuration data | ||
27 | * @name: panel name | ||
28 | * @platform_enable: platform specific panel enable function | ||
29 | * @platform_disable: platform specific panel disable function | ||
30 | */ | ||
31 | struct panel_generic_dpi_data { | ||
32 | const char *name; | ||
33 | int (*platform_enable)(struct omap_dss_device *dssdev); | ||
34 | void (*platform_disable)(struct omap_dss_device *dssdev); | ||
35 | }; | ||
36 | |||
37 | #endif /* __ARCH_ARM_PLAT_OMAP_PANEL_GENERIC_DPI_H */ | ||
diff --git a/arch/arm/plat-omap/include/plat/voltage.h b/arch/arm/plat-omap/include/plat/voltage.h index 0ff123399f3b..5bd204e55c32 100644 --- a/arch/arm/plat-omap/include/plat/voltage.h +++ b/arch/arm/plat-omap/include/plat/voltage.h | |||
@@ -14,6 +14,8 @@ | |||
14 | #ifndef __ARCH_ARM_MACH_OMAP2_VOLTAGE_H | 14 | #ifndef __ARCH_ARM_MACH_OMAP2_VOLTAGE_H |
15 | #define __ARCH_ARM_MACH_OMAP2_VOLTAGE_H | 15 | #define __ARCH_ARM_MACH_OMAP2_VOLTAGE_H |
16 | 16 | ||
17 | #include <linux/err.h> | ||
18 | |||
17 | #define VOLTSCALE_VPFORCEUPDATE 1 | 19 | #define VOLTSCALE_VPFORCEUPDATE 1 |
18 | #define VOLTSCALE_VCBYPASS 2 | 20 | #define VOLTSCALE_VCBYPASS 2 |
19 | 21 | ||
@@ -65,9 +67,6 @@ struct voltagedomain { | |||
65 | char *name; | 67 | char *name; |
66 | }; | 68 | }; |
67 | 69 | ||
68 | /* API to get the voltagedomain pointer */ | ||
69 | struct voltagedomain *omap_voltage_domain_lookup(char *name); | ||
70 | |||
71 | /** | 70 | /** |
72 | * struct omap_volt_data - Omap voltage specific data. | 71 | * struct omap_volt_data - Omap voltage specific data. |
73 | * @voltage_nominal: The possible voltage value in uV | 72 | * @voltage_nominal: The possible voltage value in uV |
@@ -131,16 +130,26 @@ int omap_voltage_register_pmic(struct voltagedomain *voltdm, | |||
131 | struct omap_volt_pmic_info *pmic_info); | 130 | struct omap_volt_pmic_info *pmic_info); |
132 | void omap_change_voltscale_method(struct voltagedomain *voltdm, | 131 | void omap_change_voltscale_method(struct voltagedomain *voltdm, |
133 | int voltscale_method); | 132 | int voltscale_method); |
133 | /* API to get the voltagedomain pointer */ | ||
134 | struct voltagedomain *omap_voltage_domain_lookup(char *name); | ||
135 | |||
134 | int omap_voltage_late_init(void); | 136 | int omap_voltage_late_init(void); |
135 | #else | 137 | #else |
136 | static inline int omap_voltage_register_pmic(struct voltagedomain *voltdm, | 138 | static inline int omap_voltage_register_pmic(struct voltagedomain *voltdm, |
137 | struct omap_volt_pmic_info *pmic_info) {} | 139 | struct omap_volt_pmic_info *pmic_info) |
140 | { | ||
141 | return -EINVAL; | ||
142 | } | ||
138 | static inline void omap_change_voltscale_method(struct voltagedomain *voltdm, | 143 | static inline void omap_change_voltscale_method(struct voltagedomain *voltdm, |
139 | int voltscale_method) {} | 144 | int voltscale_method) {} |
140 | static inline int omap_voltage_late_init(void) | 145 | static inline int omap_voltage_late_init(void) |
141 | { | 146 | { |
142 | return -EINVAL; | 147 | return -EINVAL; |
143 | } | 148 | } |
149 | static inline struct voltagedomain *omap_voltage_domain_lookup(char *name) | ||
150 | { | ||
151 | return ERR_PTR(-EINVAL); | ||
152 | } | ||
144 | #endif | 153 | #endif |
145 | 154 | ||
146 | #endif | 155 | #endif |