aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorMoiz Sonasath <m-sonasath@ti.com>2011-07-24 15:57:43 -0400
committerPaolo Pisati <paolo.pisati@canonical.com>2012-08-17 04:18:01 -0400
commit512317f7898f3171451df76828971225e4c68676 (patch)
tree634196ce6022ab2ca7a97cff5bd93c37bf1364f6 /arch/arm
parenta34b0da08b6da4f30c10ebbf420ed724b86d1215 (diff)
OMAP4460: hwmod: Do not reset GPIO1 during hwmod init
For OMAP4460, GPIO-7 of bank1 is used for controling the TPS modes, hence GPIO1 should not be reset during init as reset will cause the TPS voltage to drop to 0.9 V. IMPORTANT: this patch has been rejected upstream: http://marc.info/?t=130637509100002&r=1&w=2 Recommendation is: omap_hwmod_no_setup_reset in board files we fork in that respect to make it easier for boards following TI reference schematics. Originally from: http://git.omapzoom.org/?p=kernel/omap.git;a=commitdiff;h=52ae4f0de03b17c064d9ce90a580230f1a596ec1 [nm@ti.com: upstream version] Signed-off-by: Nishanth Menon <nm@ti.com> Signed-off-by: Moiz Sonasath <m-sonasath@ti.com>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_44xx_data.c27
1 files changed, 24 insertions, 3 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
index 7532ed2c7a2..1ff9fb015dd 100644
--- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
@@ -1745,7 +1745,7 @@ static struct omap_hwmod_opt_clk gpio1_opt_clks[] = {
1745 { .role = "dbclk", .clk = "gpio1_dbclk" }, 1745 { .role = "dbclk", .clk = "gpio1_dbclk" },
1746}; 1746};
1747 1747
1748static struct omap_hwmod omap44xx_gpio1_hwmod = { 1748static struct omap_hwmod omap443x_gpio1_hwmod = {
1749 .name = "gpio1", 1749 .name = "gpio1",
1750 .class = &omap44xx_gpio_hwmod_class, 1750 .class = &omap44xx_gpio_hwmod_class,
1751 .mpu_irqs = omap44xx_gpio1_irqs, 1751 .mpu_irqs = omap44xx_gpio1_irqs,
@@ -1761,7 +1761,27 @@ static struct omap_hwmod omap44xx_gpio1_hwmod = {
1761 .dev_attr = &gpio_dev_attr, 1761 .dev_attr = &gpio_dev_attr,
1762 .slaves = omap44xx_gpio1_slaves, 1762 .slaves = omap44xx_gpio1_slaves,
1763 .slaves_cnt = ARRAY_SIZE(omap44xx_gpio1_slaves), 1763 .slaves_cnt = ARRAY_SIZE(omap44xx_gpio1_slaves),
1764 .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP44XX), 1764 .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
1765};
1766
1767static struct omap_hwmod omap446x_gpio1_hwmod = {
1768 .name = "gpio1",
1769 .class = &omap44xx_gpio_hwmod_class,
1770 .flags = HWMOD_INIT_NO_RESET,
1771 .mpu_irqs = omap44xx_gpio1_irqs,
1772 .mpu_irqs_cnt = ARRAY_SIZE(omap44xx_gpio1_irqs),
1773 .main_clk = "gpio1_ick",
1774 .prcm = {
1775 .omap4 = {
1776 .clkctrl_reg = OMAP4430_CM_WKUP_GPIO1_CLKCTRL,
1777 },
1778 },
1779 .opt_clks = gpio1_opt_clks,
1780 .opt_clks_cnt = ARRAY_SIZE(gpio1_opt_clks),
1781 .dev_attr = &gpio_dev_attr,
1782 .slaves = omap44xx_gpio1_slaves,
1783 .slaves_cnt = ARRAY_SIZE(omap44xx_gpio1_slaves),
1784 .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP446X),
1765}; 1785};
1766 1786
1767/* gpio2 */ 1787/* gpio2 */
@@ -5080,7 +5100,8 @@ static __initdata struct omap_hwmod *omap44xx_hwmods[] = {
5080 &omap44xx_dss_venc_hwmod, 5100 &omap44xx_dss_venc_hwmod,
5081 5101
5082 /* gpio class */ 5102 /* gpio class */
5083 &omap44xx_gpio1_hwmod, 5103 &omap443x_gpio1_hwmod,
5104 &omap446x_gpio1_hwmod,
5084 &omap44xx_gpio2_hwmod, 5105 &omap44xx_gpio2_hwmod,
5085 &omap44xx_gpio3_hwmod, 5106 &omap44xx_gpio3_hwmod,
5086 &omap44xx_gpio4_hwmod, 5107 &omap44xx_gpio4_hwmod,