diff options
author | Arnd Bergmann <arnd@arndb.de> | 2012-07-05 06:16:13 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2012-07-05 06:16:13 -0400 |
commit | e15ebe05cce44c5164dbf8489841c18a887bcfc2 (patch) | |
tree | bfe51edae55d24097ae1804e5c9f3aa7e1a0c2c1 /arch/arm | |
parent | 8d111444bde8949f1df442907e261b2558cec5cb (diff) | |
parent | fa2976a811a764573b2a9c79126d4d66f1f16268 (diff) |
Merge tag 'omap-fixes-for-v3.5-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
PM related fixes for omaps mostly to get suspend/resume
working again.
* tag 'omap-fixes-for-v3.5-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP2+: hwmod data: Fix wrong McBSP clock alias on OMAP4
ARM: OMAP4: hwmod data: temporarily comment out data for the usb_host_fs and aess IP blocks
ARM: OMAP4: TWL6030: ensure sys_nirq1 is mux'd and wakeup enabled
ARM: OMAP2: Overo: init I2C before MMC to fix MMC suspend/resume failure
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-omap2/board-overo.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 28 | ||||
-rw-r--r-- | arch/arm/mach-omap2/twl-common.c | 2 |
3 files changed, 17 insertions, 15 deletions
diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c index 8fa2fc3a4c3c..779734d8ba37 100644 --- a/arch/arm/mach-omap2/board-overo.c +++ b/arch/arm/mach-omap2/board-overo.c | |||
@@ -494,8 +494,8 @@ static void __init overo_init(void) | |||
494 | 494 | ||
495 | regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies)); | 495 | regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies)); |
496 | omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); | 496 | omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); |
497 | omap_hsmmc_init(mmc); | ||
498 | overo_i2c_init(); | 497 | overo_i2c_init(); |
498 | omap_hsmmc_init(mmc); | ||
499 | omap_display_init(&overo_dss_data); | 499 | omap_display_init(&overo_dss_data); |
500 | omap_serial_init(); | 500 | omap_serial_init(); |
501 | omap_sdrc_init(mt46h32m32lf6_sdrc_params, | 501 | omap_sdrc_init(mt46h32m32lf6_sdrc_params, |
diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c index f30e861ce6d9..b7bcba5221ba 100644 --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c | |||
@@ -1928,7 +1928,7 @@ static struct omap_hwmod_dma_info omap44xx_mcbsp1_sdma_reqs[] = { | |||
1928 | 1928 | ||
1929 | static struct omap_hwmod_opt_clk mcbsp1_opt_clks[] = { | 1929 | static struct omap_hwmod_opt_clk mcbsp1_opt_clks[] = { |
1930 | { .role = "pad_fck", .clk = "pad_clks_ck" }, | 1930 | { .role = "pad_fck", .clk = "pad_clks_ck" }, |
1931 | { .role = "prcm_clk", .clk = "mcbsp1_sync_mux_ck" }, | 1931 | { .role = "prcm_fck", .clk = "mcbsp1_sync_mux_ck" }, |
1932 | }; | 1932 | }; |
1933 | 1933 | ||
1934 | static struct omap_hwmod omap44xx_mcbsp1_hwmod = { | 1934 | static struct omap_hwmod omap44xx_mcbsp1_hwmod = { |
@@ -1963,7 +1963,7 @@ static struct omap_hwmod_dma_info omap44xx_mcbsp2_sdma_reqs[] = { | |||
1963 | 1963 | ||
1964 | static struct omap_hwmod_opt_clk mcbsp2_opt_clks[] = { | 1964 | static struct omap_hwmod_opt_clk mcbsp2_opt_clks[] = { |
1965 | { .role = "pad_fck", .clk = "pad_clks_ck" }, | 1965 | { .role = "pad_fck", .clk = "pad_clks_ck" }, |
1966 | { .role = "prcm_clk", .clk = "mcbsp2_sync_mux_ck" }, | 1966 | { .role = "prcm_fck", .clk = "mcbsp2_sync_mux_ck" }, |
1967 | }; | 1967 | }; |
1968 | 1968 | ||
1969 | static struct omap_hwmod omap44xx_mcbsp2_hwmod = { | 1969 | static struct omap_hwmod omap44xx_mcbsp2_hwmod = { |
@@ -1998,7 +1998,7 @@ static struct omap_hwmod_dma_info omap44xx_mcbsp3_sdma_reqs[] = { | |||
1998 | 1998 | ||
1999 | static struct omap_hwmod_opt_clk mcbsp3_opt_clks[] = { | 1999 | static struct omap_hwmod_opt_clk mcbsp3_opt_clks[] = { |
2000 | { .role = "pad_fck", .clk = "pad_clks_ck" }, | 2000 | { .role = "pad_fck", .clk = "pad_clks_ck" }, |
2001 | { .role = "prcm_clk", .clk = "mcbsp3_sync_mux_ck" }, | 2001 | { .role = "prcm_fck", .clk = "mcbsp3_sync_mux_ck" }, |
2002 | }; | 2002 | }; |
2003 | 2003 | ||
2004 | static struct omap_hwmod omap44xx_mcbsp3_hwmod = { | 2004 | static struct omap_hwmod omap44xx_mcbsp3_hwmod = { |
@@ -2033,7 +2033,7 @@ static struct omap_hwmod_dma_info omap44xx_mcbsp4_sdma_reqs[] = { | |||
2033 | 2033 | ||
2034 | static struct omap_hwmod_opt_clk mcbsp4_opt_clks[] = { | 2034 | static struct omap_hwmod_opt_clk mcbsp4_opt_clks[] = { |
2035 | { .role = "pad_fck", .clk = "pad_clks_ck" }, | 2035 | { .role = "pad_fck", .clk = "pad_clks_ck" }, |
2036 | { .role = "prcm_clk", .clk = "mcbsp4_sync_mux_ck" }, | 2036 | { .role = "prcm_fck", .clk = "mcbsp4_sync_mux_ck" }, |
2037 | }; | 2037 | }; |
2038 | 2038 | ||
2039 | static struct omap_hwmod omap44xx_mcbsp4_hwmod = { | 2039 | static struct omap_hwmod omap44xx_mcbsp4_hwmod = { |
@@ -3864,7 +3864,7 @@ static struct omap_hwmod_ocp_if omap44xx_l4_cfg__l3_main_2 = { | |||
3864 | }; | 3864 | }; |
3865 | 3865 | ||
3866 | /* usb_host_fs -> l3_main_2 */ | 3866 | /* usb_host_fs -> l3_main_2 */ |
3867 | static struct omap_hwmod_ocp_if omap44xx_usb_host_fs__l3_main_2 = { | 3867 | static struct omap_hwmod_ocp_if __maybe_unused omap44xx_usb_host_fs__l3_main_2 = { |
3868 | .master = &omap44xx_usb_host_fs_hwmod, | 3868 | .master = &omap44xx_usb_host_fs_hwmod, |
3869 | .slave = &omap44xx_l3_main_2_hwmod, | 3869 | .slave = &omap44xx_l3_main_2_hwmod, |
3870 | .clk = "l3_div_ck", | 3870 | .clk = "l3_div_ck", |
@@ -3922,7 +3922,7 @@ static struct omap_hwmod_ocp_if omap44xx_l4_cfg__l3_main_3 = { | |||
3922 | }; | 3922 | }; |
3923 | 3923 | ||
3924 | /* aess -> l4_abe */ | 3924 | /* aess -> l4_abe */ |
3925 | static struct omap_hwmod_ocp_if omap44xx_aess__l4_abe = { | 3925 | static struct omap_hwmod_ocp_if __maybe_unused omap44xx_aess__l4_abe = { |
3926 | .master = &omap44xx_aess_hwmod, | 3926 | .master = &omap44xx_aess_hwmod, |
3927 | .slave = &omap44xx_l4_abe_hwmod, | 3927 | .slave = &omap44xx_l4_abe_hwmod, |
3928 | .clk = "ocp_abe_iclk", | 3928 | .clk = "ocp_abe_iclk", |
@@ -4013,7 +4013,7 @@ static struct omap_hwmod_addr_space omap44xx_aess_addrs[] = { | |||
4013 | }; | 4013 | }; |
4014 | 4014 | ||
4015 | /* l4_abe -> aess */ | 4015 | /* l4_abe -> aess */ |
4016 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__aess = { | 4016 | static struct omap_hwmod_ocp_if __maybe_unused omap44xx_l4_abe__aess = { |
4017 | .master = &omap44xx_l4_abe_hwmod, | 4017 | .master = &omap44xx_l4_abe_hwmod, |
4018 | .slave = &omap44xx_aess_hwmod, | 4018 | .slave = &omap44xx_aess_hwmod, |
4019 | .clk = "ocp_abe_iclk", | 4019 | .clk = "ocp_abe_iclk", |
@@ -4031,7 +4031,7 @@ static struct omap_hwmod_addr_space omap44xx_aess_dma_addrs[] = { | |||
4031 | }; | 4031 | }; |
4032 | 4032 | ||
4033 | /* l4_abe -> aess (dma) */ | 4033 | /* l4_abe -> aess (dma) */ |
4034 | static struct omap_hwmod_ocp_if omap44xx_l4_abe__aess_dma = { | 4034 | static struct omap_hwmod_ocp_if __maybe_unused omap44xx_l4_abe__aess_dma = { |
4035 | .master = &omap44xx_l4_abe_hwmod, | 4035 | .master = &omap44xx_l4_abe_hwmod, |
4036 | .slave = &omap44xx_aess_hwmod, | 4036 | .slave = &omap44xx_aess_hwmod, |
4037 | .clk = "ocp_abe_iclk", | 4037 | .clk = "ocp_abe_iclk", |
@@ -5857,7 +5857,7 @@ static struct omap_hwmod_addr_space omap44xx_usb_host_fs_addrs[] = { | |||
5857 | }; | 5857 | }; |
5858 | 5858 | ||
5859 | /* l4_cfg -> usb_host_fs */ | 5859 | /* l4_cfg -> usb_host_fs */ |
5860 | static struct omap_hwmod_ocp_if omap44xx_l4_cfg__usb_host_fs = { | 5860 | static struct omap_hwmod_ocp_if __maybe_unused omap44xx_l4_cfg__usb_host_fs = { |
5861 | .master = &omap44xx_l4_cfg_hwmod, | 5861 | .master = &omap44xx_l4_cfg_hwmod, |
5862 | .slave = &omap44xx_usb_host_fs_hwmod, | 5862 | .slave = &omap44xx_usb_host_fs_hwmod, |
5863 | .clk = "l4_div_ck", | 5863 | .clk = "l4_div_ck", |
@@ -6014,13 +6014,13 @@ static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = { | |||
6014 | &omap44xx_iva__l3_main_2, | 6014 | &omap44xx_iva__l3_main_2, |
6015 | &omap44xx_l3_main_1__l3_main_2, | 6015 | &omap44xx_l3_main_1__l3_main_2, |
6016 | &omap44xx_l4_cfg__l3_main_2, | 6016 | &omap44xx_l4_cfg__l3_main_2, |
6017 | &omap44xx_usb_host_fs__l3_main_2, | 6017 | /* &omap44xx_usb_host_fs__l3_main_2, */ |
6018 | &omap44xx_usb_host_hs__l3_main_2, | 6018 | &omap44xx_usb_host_hs__l3_main_2, |
6019 | &omap44xx_usb_otg_hs__l3_main_2, | 6019 | &omap44xx_usb_otg_hs__l3_main_2, |
6020 | &omap44xx_l3_main_1__l3_main_3, | 6020 | &omap44xx_l3_main_1__l3_main_3, |
6021 | &omap44xx_l3_main_2__l3_main_3, | 6021 | &omap44xx_l3_main_2__l3_main_3, |
6022 | &omap44xx_l4_cfg__l3_main_3, | 6022 | &omap44xx_l4_cfg__l3_main_3, |
6023 | &omap44xx_aess__l4_abe, | 6023 | /* &omap44xx_aess__l4_abe, */ |
6024 | &omap44xx_dsp__l4_abe, | 6024 | &omap44xx_dsp__l4_abe, |
6025 | &omap44xx_l3_main_1__l4_abe, | 6025 | &omap44xx_l3_main_1__l4_abe, |
6026 | &omap44xx_mpu__l4_abe, | 6026 | &omap44xx_mpu__l4_abe, |
@@ -6029,8 +6029,8 @@ static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = { | |||
6029 | &omap44xx_l4_cfg__l4_wkup, | 6029 | &omap44xx_l4_cfg__l4_wkup, |
6030 | &omap44xx_mpu__mpu_private, | 6030 | &omap44xx_mpu__mpu_private, |
6031 | &omap44xx_l4_cfg__ocp_wp_noc, | 6031 | &omap44xx_l4_cfg__ocp_wp_noc, |
6032 | &omap44xx_l4_abe__aess, | 6032 | /* &omap44xx_l4_abe__aess, */ |
6033 | &omap44xx_l4_abe__aess_dma, | 6033 | /* &omap44xx_l4_abe__aess_dma, */ |
6034 | &omap44xx_l3_main_2__c2c, | 6034 | &omap44xx_l3_main_2__c2c, |
6035 | &omap44xx_l4_wkup__counter_32k, | 6035 | &omap44xx_l4_wkup__counter_32k, |
6036 | &omap44xx_l4_cfg__ctrl_module_core, | 6036 | &omap44xx_l4_cfg__ctrl_module_core, |
@@ -6136,7 +6136,7 @@ static struct omap_hwmod_ocp_if *omap44xx_hwmod_ocp_ifs[] __initdata = { | |||
6136 | &omap44xx_l4_per__uart2, | 6136 | &omap44xx_l4_per__uart2, |
6137 | &omap44xx_l4_per__uart3, | 6137 | &omap44xx_l4_per__uart3, |
6138 | &omap44xx_l4_per__uart4, | 6138 | &omap44xx_l4_per__uart4, |
6139 | &omap44xx_l4_cfg__usb_host_fs, | 6139 | /* &omap44xx_l4_cfg__usb_host_fs, */ |
6140 | &omap44xx_l4_cfg__usb_host_hs, | 6140 | &omap44xx_l4_cfg__usb_host_hs, |
6141 | &omap44xx_l4_cfg__usb_otg_hs, | 6141 | &omap44xx_l4_cfg__usb_otg_hs, |
6142 | &omap44xx_l4_cfg__usb_tll_hs, | 6142 | &omap44xx_l4_cfg__usb_tll_hs, |
diff --git a/arch/arm/mach-omap2/twl-common.c b/arch/arm/mach-omap2/twl-common.c index 119d5a910f3a..43a979075338 100644 --- a/arch/arm/mach-omap2/twl-common.c +++ b/arch/arm/mach-omap2/twl-common.c | |||
@@ -32,6 +32,7 @@ | |||
32 | #include "twl-common.h" | 32 | #include "twl-common.h" |
33 | #include "pm.h" | 33 | #include "pm.h" |
34 | #include "voltage.h" | 34 | #include "voltage.h" |
35 | #include "mux.h" | ||
35 | 36 | ||
36 | static struct i2c_board_info __initdata pmic_i2c_board_info = { | 37 | static struct i2c_board_info __initdata pmic_i2c_board_info = { |
37 | .addr = 0x48, | 38 | .addr = 0x48, |
@@ -77,6 +78,7 @@ void __init omap4_pmic_init(const char *pmic_type, | |||
77 | struct twl6040_platform_data *twl6040_data, int twl6040_irq) | 78 | struct twl6040_platform_data *twl6040_data, int twl6040_irq) |
78 | { | 79 | { |
79 | /* PMIC part*/ | 80 | /* PMIC part*/ |
81 | omap_mux_init_signal("sys_nirq1", OMAP_PIN_INPUT_PULLUP | OMAP_PIN_OFF_WAKEUPENABLE); | ||
80 | strncpy(omap4_i2c1_board_info[0].type, pmic_type, | 82 | strncpy(omap4_i2c1_board_info[0].type, pmic_type, |
81 | sizeof(omap4_i2c1_board_info[0].type)); | 83 | sizeof(omap4_i2c1_board_info[0].type)); |
82 | omap4_i2c1_board_info[0].irq = OMAP44XX_IRQ_SYS_1N; | 84 | omap4_i2c1_board_info[0].irq = OMAP44XX_IRQ_SYS_1N; |