diff options
Diffstat (limited to 'arch/arm/mach-omap2')
| -rw-r--r-- | arch/arm/mach-omap2/board-n8x0.c | 6 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/board-omap3beagle.c | 28 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/board-rx51-peripherals.c | 6 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/clock3xxx_data.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/clock44xx_data.c | 5 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/cm.h | 11 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/cminst44xx.c | 4 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/display.c | 4 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/dsp.c | 3 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/id.c | 11 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/irq.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/mux.c | 4 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/mux.h | 11 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/omap_hwmod.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 8 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/omap_l3_smx.c | 3 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/omap_phy_internal.c | 6 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/pm34xx.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/prm2xxx_3xxx.c | 14 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/serial.c | 67 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/usb-musb.c | 6 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/usb-tusb6010.c | 2 |
22 files changed, 154 insertions, 51 deletions
diff --git a/arch/arm/mach-omap2/board-n8x0.c b/arch/arm/mach-omap2/board-n8x0.c index 8ca14e88a31a..2c5d0ed75285 100644 --- a/arch/arm/mach-omap2/board-n8x0.c +++ b/arch/arm/mach-omap2/board-n8x0.c | |||
| @@ -83,11 +83,9 @@ static struct musb_hdrc_config musb_config = { | |||
| 83 | }; | 83 | }; |
| 84 | 84 | ||
| 85 | static struct musb_hdrc_platform_data tusb_data = { | 85 | static struct musb_hdrc_platform_data tusb_data = { |
| 86 | #if defined(CONFIG_USB_MUSB_OTG) | 86 | #ifdef CONFIG_USB_GADGET_MUSB_HDRC |
| 87 | .mode = MUSB_OTG, | 87 | .mode = MUSB_OTG, |
| 88 | #elif defined(CONFIG_USB_MUSB_PERIPHERAL) | 88 | #else |
| 89 | .mode = MUSB_PERIPHERAL, | ||
| 90 | #else /* defined(CONFIG_USB_MUSB_HOST) */ | ||
| 91 | .mode = MUSB_HOST, | 89 | .mode = MUSB_HOST, |
| 92 | #endif | 90 | #endif |
| 93 | .set_power = tusb_set_power, | 91 | .set_power = tusb_set_power, |
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index 79c6909eeb78..580fd17208da 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c | |||
| @@ -81,13 +81,13 @@ static u8 omap3_beagle_version; | |||
| 81 | static struct { | 81 | static struct { |
| 82 | int mmc1_gpio_wp; | 82 | int mmc1_gpio_wp; |
| 83 | int usb_pwr_level; | 83 | int usb_pwr_level; |
| 84 | int reset_gpio; | 84 | int dvi_pd_gpio; |
| 85 | int usr_button_gpio; | 85 | int usr_button_gpio; |
| 86 | int mmc_caps; | 86 | int mmc_caps; |
| 87 | } beagle_config = { | 87 | } beagle_config = { |
| 88 | .mmc1_gpio_wp = -EINVAL, | 88 | .mmc1_gpio_wp = -EINVAL, |
| 89 | .usb_pwr_level = GPIOF_OUT_INIT_LOW, | 89 | .usb_pwr_level = GPIOF_OUT_INIT_LOW, |
| 90 | .reset_gpio = 129, | 90 | .dvi_pd_gpio = -EINVAL, |
| 91 | .usr_button_gpio = 4, | 91 | .usr_button_gpio = 4, |
| 92 | .mmc_caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA, | 92 | .mmc_caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA, |
| 93 | }; | 93 | }; |
| @@ -126,21 +126,21 @@ static void __init omap3_beagle_init_rev(void) | |||
| 126 | printk(KERN_INFO "OMAP3 Beagle Rev: Ax/Bx\n"); | 126 | printk(KERN_INFO "OMAP3 Beagle Rev: Ax/Bx\n"); |
| 127 | omap3_beagle_version = OMAP3BEAGLE_BOARD_AXBX; | 127 | omap3_beagle_version = OMAP3BEAGLE_BOARD_AXBX; |
| 128 | beagle_config.mmc1_gpio_wp = 29; | 128 | beagle_config.mmc1_gpio_wp = 29; |
| 129 | beagle_config.reset_gpio = 170; | 129 | beagle_config.dvi_pd_gpio = 170; |
| 130 | beagle_config.usr_button_gpio = 7; | 130 | beagle_config.usr_button_gpio = 7; |
| 131 | break; | 131 | break; |
| 132 | case 6: | 132 | case 6: |
| 133 | printk(KERN_INFO "OMAP3 Beagle Rev: C1/C2/C3\n"); | 133 | printk(KERN_INFO "OMAP3 Beagle Rev: C1/C2/C3\n"); |
| 134 | omap3_beagle_version = OMAP3BEAGLE_BOARD_C1_3; | 134 | omap3_beagle_version = OMAP3BEAGLE_BOARD_C1_3; |
| 135 | beagle_config.mmc1_gpio_wp = 23; | 135 | beagle_config.mmc1_gpio_wp = 23; |
| 136 | beagle_config.reset_gpio = 170; | 136 | beagle_config.dvi_pd_gpio = 170; |
| 137 | beagle_config.usr_button_gpio = 7; | 137 | beagle_config.usr_button_gpio = 7; |
| 138 | break; | 138 | break; |
| 139 | case 5: | 139 | case 5: |
| 140 | printk(KERN_INFO "OMAP3 Beagle Rev: C4\n"); | 140 | printk(KERN_INFO "OMAP3 Beagle Rev: C4\n"); |
| 141 | omap3_beagle_version = OMAP3BEAGLE_BOARD_C4; | 141 | omap3_beagle_version = OMAP3BEAGLE_BOARD_C4; |
| 142 | beagle_config.mmc1_gpio_wp = 23; | 142 | beagle_config.mmc1_gpio_wp = 23; |
| 143 | beagle_config.reset_gpio = 170; | 143 | beagle_config.dvi_pd_gpio = 170; |
| 144 | beagle_config.usr_button_gpio = 7; | 144 | beagle_config.usr_button_gpio = 7; |
| 145 | break; | 145 | break; |
| 146 | case 0: | 146 | case 0: |
| @@ -274,11 +274,9 @@ static int beagle_twl_gpio_setup(struct device *dev, | |||
| 274 | if (r) | 274 | if (r) |
| 275 | pr_err("%s: unable to configure nDVI_PWR_EN\n", | 275 | pr_err("%s: unable to configure nDVI_PWR_EN\n", |
| 276 | __func__); | 276 | __func__); |
| 277 | r = gpio_request_one(gpio + 2, GPIOF_OUT_INIT_HIGH, | 277 | |
| 278 | "DVI_LDO_EN"); | 278 | beagle_config.dvi_pd_gpio = gpio + 2; |
| 279 | if (r) | 279 | |
| 280 | pr_err("%s: unable to configure DVI_LDO_EN\n", | ||
| 281 | __func__); | ||
| 282 | } else { | 280 | } else { |
| 283 | /* | 281 | /* |
| 284 | * REVISIT: need ehci-omap hooks for external VBUS | 282 | * REVISIT: need ehci-omap hooks for external VBUS |
| @@ -287,7 +285,7 @@ static int beagle_twl_gpio_setup(struct device *dev, | |||
| 287 | if (gpio_request_one(gpio + 1, GPIOF_IN, "EHCI_nOC")) | 285 | if (gpio_request_one(gpio + 1, GPIOF_IN, "EHCI_nOC")) |
| 288 | pr_err("%s: unable to configure EHCI_nOC\n", __func__); | 286 | pr_err("%s: unable to configure EHCI_nOC\n", __func__); |
| 289 | } | 287 | } |
| 290 | dvi_panel.power_down_gpio = beagle_config.reset_gpio; | 288 | dvi_panel.power_down_gpio = beagle_config.dvi_pd_gpio; |
| 291 | 289 | ||
| 292 | gpio_request_one(gpio + TWL4030_GPIO_MAX, beagle_config.usb_pwr_level, | 290 | gpio_request_one(gpio + TWL4030_GPIO_MAX, beagle_config.usb_pwr_level, |
| 293 | "nEN_USB_PWR"); | 291 | "nEN_USB_PWR"); |
| @@ -499,7 +497,7 @@ static void __init omap3_beagle_init(void) | |||
| 499 | omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); | 497 | omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); |
| 500 | omap3_beagle_init_rev(); | 498 | omap3_beagle_init_rev(); |
| 501 | 499 | ||
| 502 | if (beagle_config.mmc1_gpio_wp != -EINVAL) | 500 | if (gpio_is_valid(beagle_config.mmc1_gpio_wp)) |
| 503 | omap_mux_init_gpio(beagle_config.mmc1_gpio_wp, OMAP_PIN_INPUT); | 501 | omap_mux_init_gpio(beagle_config.mmc1_gpio_wp, OMAP_PIN_INPUT); |
| 504 | mmc[0].caps = beagle_config.mmc_caps; | 502 | mmc[0].caps = beagle_config.mmc_caps; |
| 505 | omap_hsmmc_init(mmc); | 503 | omap_hsmmc_init(mmc); |
| @@ -510,15 +508,13 @@ static void __init omap3_beagle_init(void) | |||
| 510 | 508 | ||
| 511 | platform_add_devices(omap3_beagle_devices, | 509 | platform_add_devices(omap3_beagle_devices, |
| 512 | ARRAY_SIZE(omap3_beagle_devices)); | 510 | ARRAY_SIZE(omap3_beagle_devices)); |
| 511 | if (gpio_is_valid(beagle_config.dvi_pd_gpio)) | ||
| 512 | omap_mux_init_gpio(beagle_config.dvi_pd_gpio, OMAP_PIN_OUTPUT); | ||
| 513 | omap_display_init(&beagle_dss_data); | 513 | omap_display_init(&beagle_dss_data); |
| 514 | omap_serial_init(); | 514 | omap_serial_init(); |
| 515 | omap_sdrc_init(mt46h32m32lf6_sdrc_params, | 515 | omap_sdrc_init(mt46h32m32lf6_sdrc_params, |
| 516 | mt46h32m32lf6_sdrc_params); | 516 | mt46h32m32lf6_sdrc_params); |
| 517 | 517 | ||
| 518 | omap_mux_init_gpio(170, OMAP_PIN_INPUT); | ||
| 519 | /* REVISIT leave DVI powered down until it's needed ... */ | ||
| 520 | gpio_request_one(170, GPIOF_OUT_INIT_HIGH, "DVI_nPD"); | ||
| 521 | |||
| 522 | usb_musb_init(NULL); | 518 | usb_musb_init(NULL); |
| 523 | usbhs_init(&usbhs_bdata); | 519 | usbhs_init(&usbhs_bdata); |
| 524 | omap_nand_flash_init(NAND_BUSWIDTH_16, omap3beagle_nand_partitions, | 520 | omap_nand_flash_init(NAND_BUSWIDTH_16, omap3beagle_nand_partitions, |
diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c index ff53deccecab..df2534de3361 100644 --- a/arch/arm/mach-omap2/board-rx51-peripherals.c +++ b/arch/arm/mach-omap2/board-rx51-peripherals.c | |||
| @@ -144,7 +144,6 @@ static struct lis3lv02d_platform_data rx51_lis3lv02d_data = { | |||
| 144 | .release_resources = lis302_release, | 144 | .release_resources = lis302_release, |
| 145 | .st_min_limits = {-32, 3, 3}, | 145 | .st_min_limits = {-32, 3, 3}, |
| 146 | .st_max_limits = {-3, 32, 32}, | 146 | .st_max_limits = {-3, 32, 32}, |
| 147 | .irq2 = OMAP_GPIO_IRQ(LIS302_IRQ2_GPIO), | ||
| 148 | }; | 147 | }; |
| 149 | #endif | 148 | #endif |
| 150 | 149 | ||
| @@ -1030,7 +1029,6 @@ static struct i2c_board_info __initdata rx51_peripherals_i2c_board_info_3[] = { | |||
| 1030 | { | 1029 | { |
| 1031 | I2C_BOARD_INFO("lis3lv02d", 0x1d), | 1030 | I2C_BOARD_INFO("lis3lv02d", 0x1d), |
| 1032 | .platform_data = &rx51_lis3lv02d_data, | 1031 | .platform_data = &rx51_lis3lv02d_data, |
| 1033 | .irq = OMAP_GPIO_IRQ(LIS302_IRQ1_GPIO), | ||
| 1034 | }, | 1032 | }, |
| 1035 | #endif | 1033 | #endif |
| 1036 | }; | 1034 | }; |
| @@ -1056,6 +1054,10 @@ static int __init rx51_i2c_init(void) | |||
| 1056 | omap_pmic_init(1, 2200, "twl5030", INT_34XX_SYS_NIRQ, &rx51_twldata); | 1054 | omap_pmic_init(1, 2200, "twl5030", INT_34XX_SYS_NIRQ, &rx51_twldata); |
| 1057 | omap_register_i2c_bus(2, 100, rx51_peripherals_i2c_board_info_2, | 1055 | omap_register_i2c_bus(2, 100, rx51_peripherals_i2c_board_info_2, |
| 1058 | ARRAY_SIZE(rx51_peripherals_i2c_board_info_2)); | 1056 | ARRAY_SIZE(rx51_peripherals_i2c_board_info_2)); |
| 1057 | #if defined(CONFIG_SENSORS_LIS3_I2C) || defined(CONFIG_SENSORS_LIS3_I2C_MODULE) | ||
| 1058 | rx51_lis3lv02d_data.irq2 = gpio_to_irq(LIS302_IRQ2_GPIO); | ||
| 1059 | rx51_peripherals_i2c_board_info_3[0].irq = gpio_to_irq(LIS302_IRQ1_GPIO); | ||
| 1060 | #endif | ||
| 1059 | omap_register_i2c_bus(3, 400, rx51_peripherals_i2c_board_info_3, | 1061 | omap_register_i2c_bus(3, 400, rx51_peripherals_i2c_board_info_3, |
| 1060 | ARRAY_SIZE(rx51_peripherals_i2c_board_info_3)); | 1062 | ARRAY_SIZE(rx51_peripherals_i2c_board_info_3)); |
| 1061 | return 0; | 1063 | return 0; |
diff --git a/arch/arm/mach-omap2/clock3xxx_data.c b/arch/arm/mach-omap2/clock3xxx_data.c index 4e1a3b0e8cc8..1efdec236ae8 100644 --- a/arch/arm/mach-omap2/clock3xxx_data.c +++ b/arch/arm/mach-omap2/clock3xxx_data.c | |||
| @@ -3514,7 +3514,7 @@ int __init omap3xxx_clk_init(void) | |||
| 3514 | struct omap_clk *c; | 3514 | struct omap_clk *c; |
| 3515 | u32 cpu_clkflg = 0; | 3515 | u32 cpu_clkflg = 0; |
| 3516 | 3516 | ||
| 3517 | if (cpu_is_omap3517()) { | 3517 | if (soc_is_am35xx()) { |
| 3518 | cpu_mask = RATE_IN_34XX; | 3518 | cpu_mask = RATE_IN_34XX; |
| 3519 | cpu_clkflg = CK_AM35XX; | 3519 | cpu_clkflg = CK_AM35XX; |
| 3520 | } else if (cpu_is_omap3630()) { | 3520 | } else if (cpu_is_omap3630()) { |
diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c index 2172f6603848..e2b701e164f6 100644 --- a/arch/arm/mach-omap2/clock44xx_data.c +++ b/arch/arm/mach-omap2/clock44xx_data.c | |||
| @@ -84,6 +84,7 @@ static struct clk slimbus_clk = { | |||
| 84 | 84 | ||
| 85 | static struct clk sys_32k_ck = { | 85 | static struct clk sys_32k_ck = { |
| 86 | .name = "sys_32k_ck", | 86 | .name = "sys_32k_ck", |
| 87 | .clkdm_name = "prm_clkdm", | ||
| 87 | .rate = 32768, | 88 | .rate = 32768, |
| 88 | .ops = &clkops_null, | 89 | .ops = &clkops_null, |
| 89 | }; | 90 | }; |
| @@ -512,6 +513,7 @@ static struct clk ddrphy_ck = { | |||
| 512 | .name = "ddrphy_ck", | 513 | .name = "ddrphy_ck", |
| 513 | .parent = &dpll_core_m2_ck, | 514 | .parent = &dpll_core_m2_ck, |
| 514 | .ops = &clkops_null, | 515 | .ops = &clkops_null, |
| 516 | .clkdm_name = "l3_emif_clkdm", | ||
| 515 | .fixed_div = 2, | 517 | .fixed_div = 2, |
| 516 | .recalc = &omap_fixed_divisor_recalc, | 518 | .recalc = &omap_fixed_divisor_recalc, |
| 517 | }; | 519 | }; |
| @@ -769,6 +771,7 @@ static const struct clksel dpll_mpu_m2_div[] = { | |||
| 769 | static struct clk dpll_mpu_m2_ck = { | 771 | static struct clk dpll_mpu_m2_ck = { |
| 770 | .name = "dpll_mpu_m2_ck", | 772 | .name = "dpll_mpu_m2_ck", |
| 771 | .parent = &dpll_mpu_ck, | 773 | .parent = &dpll_mpu_ck, |
| 774 | .clkdm_name = "cm_clkdm", | ||
| 772 | .clksel = dpll_mpu_m2_div, | 775 | .clksel = dpll_mpu_m2_div, |
| 773 | .clksel_reg = OMAP4430_CM_DIV_M2_DPLL_MPU, | 776 | .clksel_reg = OMAP4430_CM_DIV_M2_DPLL_MPU, |
| 774 | .clksel_mask = OMAP4430_DPLL_CLKOUT_DIV_MASK, | 777 | .clksel_mask = OMAP4430_DPLL_CLKOUT_DIV_MASK, |
| @@ -1149,6 +1152,7 @@ static const struct clksel l3_div_div[] = { | |||
| 1149 | static struct clk l3_div_ck = { | 1152 | static struct clk l3_div_ck = { |
| 1150 | .name = "l3_div_ck", | 1153 | .name = "l3_div_ck", |
| 1151 | .parent = &div_core_ck, | 1154 | .parent = &div_core_ck, |
| 1155 | .clkdm_name = "cm_clkdm", | ||
| 1152 | .clksel = l3_div_div, | 1156 | .clksel = l3_div_div, |
| 1153 | .clksel_reg = OMAP4430_CM_CLKSEL_CORE, | 1157 | .clksel_reg = OMAP4430_CM_CLKSEL_CORE, |
| 1154 | .clksel_mask = OMAP4430_CLKSEL_L3_MASK, | 1158 | .clksel_mask = OMAP4430_CLKSEL_L3_MASK, |
| @@ -2824,6 +2828,7 @@ static const struct clksel trace_clk_div_div[] = { | |||
| 2824 | static struct clk trace_clk_div_ck = { | 2828 | static struct clk trace_clk_div_ck = { |
| 2825 | .name = "trace_clk_div_ck", | 2829 | .name = "trace_clk_div_ck", |
| 2826 | .parent = &pmd_trace_clk_mux_ck, | 2830 | .parent = &pmd_trace_clk_mux_ck, |
| 2831 | .clkdm_name = "emu_sys_clkdm", | ||
| 2827 | .clksel = trace_clk_div_div, | 2832 | .clksel = trace_clk_div_div, |
| 2828 | .clksel_reg = OMAP4430_CM_EMU_DEBUGSS_CLKCTRL, | 2833 | .clksel_reg = OMAP4430_CM_EMU_DEBUGSS_CLKCTRL, |
| 2829 | .clksel_mask = OMAP4430_CLKSEL_PMD_TRACE_CLK_MASK, | 2834 | .clksel_mask = OMAP4430_CLKSEL_PMD_TRACE_CLK_MASK, |
diff --git a/arch/arm/mach-omap2/cm.h b/arch/arm/mach-omap2/cm.h index a7bc096bd407..f24e3f7a2bbc 100644 --- a/arch/arm/mach-omap2/cm.h +++ b/arch/arm/mach-omap2/cm.h | |||
| @@ -22,4 +22,15 @@ | |||
| 22 | */ | 22 | */ |
| 23 | #define MAX_MODULE_READY_TIME 2000 | 23 | #define MAX_MODULE_READY_TIME 2000 |
| 24 | 24 | ||
| 25 | /* | ||
| 26 | * MAX_MODULE_DISABLE_TIME: max duration in microseconds to wait for | ||
| 27 | * the PRCM to request that a module enter the inactive state in the | ||
| 28 | * case of OMAP2 & 3. In the case of OMAP4 this is the max duration | ||
| 29 | * in microseconds for the module to reach the inactive state from | ||
| 30 | * a functional state. | ||
| 31 | * XXX FSUSB on OMAP4430 takes ~4ms to idle after reset during | ||
| 32 | * kernel init. | ||
| 33 | */ | ||
| 34 | #define MAX_MODULE_DISABLE_TIME 5000 | ||
| 35 | |||
| 25 | #endif | 36 | #endif |
diff --git a/arch/arm/mach-omap2/cminst44xx.c b/arch/arm/mach-omap2/cminst44xx.c index 8c86d294b1a3..1a39945d9ff8 100644 --- a/arch/arm/mach-omap2/cminst44xx.c +++ b/arch/arm/mach-omap2/cminst44xx.c | |||
| @@ -313,9 +313,9 @@ int omap4_cminst_wait_module_idle(u8 part, u16 inst, s16 cdoffs, u16 clkctrl_off | |||
| 313 | 313 | ||
| 314 | omap_test_timeout((_clkctrl_idlest(part, inst, cdoffs, clkctrl_offs) == | 314 | omap_test_timeout((_clkctrl_idlest(part, inst, cdoffs, clkctrl_offs) == |
| 315 | CLKCTRL_IDLEST_DISABLED), | 315 | CLKCTRL_IDLEST_DISABLED), |
| 316 | MAX_MODULE_READY_TIME, i); | 316 | MAX_MODULE_DISABLE_TIME, i); |
| 317 | 317 | ||
| 318 | return (i < MAX_MODULE_READY_TIME) ? 0 : -EBUSY; | 318 | return (i < MAX_MODULE_DISABLE_TIME) ? 0 : -EBUSY; |
| 319 | } | 319 | } |
| 320 | 320 | ||
| 321 | /** | 321 | /** |
diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c index 54d49ddb9b81..5fb47a14f4ba 100644 --- a/arch/arm/mach-omap2/display.c +++ b/arch/arm/mach-omap2/display.c | |||
| @@ -271,9 +271,9 @@ static struct platform_device *create_simple_dss_pdev(const char *pdev_name, | |||
| 271 | goto err; | 271 | goto err; |
| 272 | } | 272 | } |
| 273 | 273 | ||
| 274 | r = omap_device_register(pdev); | 274 | r = platform_device_add(pdev); |
| 275 | if (r) { | 275 | if (r) { |
| 276 | pr_err("Could not register omap_device for %s\n", pdev_name); | 276 | pr_err("Could not register platform_device for %s\n", pdev_name); |
| 277 | goto err; | 277 | goto err; |
| 278 | } | 278 | } |
| 279 | 279 | ||
diff --git a/arch/arm/mach-omap2/dsp.c b/arch/arm/mach-omap2/dsp.c index 845309f146fe..88ffa1e645cd 100644 --- a/arch/arm/mach-omap2/dsp.c +++ b/arch/arm/mach-omap2/dsp.c | |||
| @@ -20,6 +20,9 @@ | |||
| 20 | 20 | ||
| 21 | #include <linux/module.h> | 21 | #include <linux/module.h> |
| 22 | #include <linux/platform_device.h> | 22 | #include <linux/platform_device.h> |
| 23 | |||
| 24 | #include <asm/memblock.h> | ||
| 25 | |||
| 23 | #include "cm2xxx_3xxx.h" | 26 | #include "cm2xxx_3xxx.h" |
| 24 | #include "prm2xxx_3xxx.h" | 27 | #include "prm2xxx_3xxx.h" |
| 25 | #ifdef CONFIG_BRIDGE_DVFS | 28 | #ifdef CONFIG_BRIDGE_DVFS |
diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c index 0389b3264abe..00486a8564fd 100644 --- a/arch/arm/mach-omap2/id.c +++ b/arch/arm/mach-omap2/id.c | |||
| @@ -247,6 +247,17 @@ void __init omap3xxx_check_features(void) | |||
| 247 | omap_features |= OMAP3_HAS_SDRC; | 247 | omap_features |= OMAP3_HAS_SDRC; |
| 248 | 248 | ||
| 249 | /* | 249 | /* |
| 250 | * am35x fixups: | ||
| 251 | * - The am35x Chip ID register has bits 12, 7:5, and 3:2 marked as | ||
| 252 | * reserved and therefore return 0 when read. Unfortunately, | ||
| 253 | * OMAP3_CHECK_FEATURE() will interpret some of those zeroes to | ||
| 254 | * mean that a feature is present even though it isn't so clear | ||
| 255 | * the incorrectly set feature bits. | ||
| 256 | */ | ||
| 257 | if (soc_is_am35xx()) | ||
| 258 | omap_features &= ~(OMAP3_HAS_IVA | OMAP3_HAS_ISP); | ||
| 259 | |||
| 260 | /* | ||
| 250 | * TODO: Get additional info (where applicable) | 261 | * TODO: Get additional info (where applicable) |
| 251 | * e.g. Size of L2 cache. | 262 | * e.g. Size of L2 cache. |
| 252 | */ | 263 | */ |
diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c index fdc4303be563..6038a8c84b74 100644 --- a/arch/arm/mach-omap2/irq.c +++ b/arch/arm/mach-omap2/irq.c | |||
| @@ -149,6 +149,7 @@ omap_alloc_gc(void __iomem *base, unsigned int irq_start, unsigned int num) | |||
| 149 | ct->chip.irq_ack = omap_mask_ack_irq; | 149 | ct->chip.irq_ack = omap_mask_ack_irq; |
| 150 | ct->chip.irq_mask = irq_gc_mask_disable_reg; | 150 | ct->chip.irq_mask = irq_gc_mask_disable_reg; |
| 151 | ct->chip.irq_unmask = irq_gc_unmask_enable_reg; | 151 | ct->chip.irq_unmask = irq_gc_unmask_enable_reg; |
| 152 | ct->chip.flags |= IRQCHIP_SKIP_SET_WAKE; | ||
| 152 | 153 | ||
| 153 | ct->regs.enable = INTC_MIR_CLEAR0; | 154 | ct->regs.enable = INTC_MIR_CLEAR0; |
| 154 | ct->regs.disable = INTC_MIR_SET0; | 155 | ct->regs.disable = INTC_MIR_SET0; |
diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c index 80e55c5c9998..9fe6829f4c16 100644 --- a/arch/arm/mach-omap2/mux.c +++ b/arch/arm/mach-omap2/mux.c | |||
| @@ -41,6 +41,7 @@ | |||
| 41 | #include "control.h" | 41 | #include "control.h" |
| 42 | #include "mux.h" | 42 | #include "mux.h" |
| 43 | #include "prm.h" | 43 | #include "prm.h" |
| 44 | #include "common.h" | ||
| 44 | 45 | ||
| 45 | #define OMAP_MUX_BASE_OFFSET 0x30 /* Offset from CTRL_BASE */ | 46 | #define OMAP_MUX_BASE_OFFSET 0x30 /* Offset from CTRL_BASE */ |
| 46 | #define OMAP_MUX_BASE_SZ 0x5ca | 47 | #define OMAP_MUX_BASE_SZ 0x5ca |
| @@ -217,8 +218,7 @@ static int __init _omap_mux_get_by_name(struct omap_mux_partition *partition, | |||
| 217 | return -ENODEV; | 218 | return -ENODEV; |
| 218 | } | 219 | } |
| 219 | 220 | ||
| 220 | static int __init | 221 | int __init omap_mux_get_by_name(const char *muxname, |
| 221 | omap_mux_get_by_name(const char *muxname, | ||
| 222 | struct omap_mux_partition **found_partition, | 222 | struct omap_mux_partition **found_partition, |
| 223 | struct omap_mux **found_mux) | 223 | struct omap_mux **found_mux) |
| 224 | { | 224 | { |
diff --git a/arch/arm/mach-omap2/mux.h b/arch/arm/mach-omap2/mux.h index 69fe060a0b75..471e62a74a16 100644 --- a/arch/arm/mach-omap2/mux.h +++ b/arch/arm/mach-omap2/mux.h | |||
| @@ -59,6 +59,7 @@ | |||
| 59 | #define OMAP_PIN_OFF_WAKEUPENABLE OMAP_WAKEUP_EN | 59 | #define OMAP_PIN_OFF_WAKEUPENABLE OMAP_WAKEUP_EN |
| 60 | 60 | ||
| 61 | #define OMAP_MODE_GPIO(x) (((x) & OMAP_MUX_MODE7) == OMAP_MUX_MODE4) | 61 | #define OMAP_MODE_GPIO(x) (((x) & OMAP_MUX_MODE7) == OMAP_MUX_MODE4) |
| 62 | #define OMAP_MODE_UART(x) (((x) & OMAP_MUX_MODE7) == OMAP_MUX_MODE0) | ||
| 62 | 63 | ||
| 63 | /* Flags for omapX_mux_init */ | 64 | /* Flags for omapX_mux_init */ |
| 64 | #define OMAP_PACKAGE_MASK 0xffff | 65 | #define OMAP_PACKAGE_MASK 0xffff |
| @@ -225,8 +226,18 @@ omap_hwmod_mux_init(struct omap_device_pad *bpads, int nr_pads); | |||
| 225 | */ | 226 | */ |
| 226 | void omap_hwmod_mux(struct omap_hwmod_mux_info *hmux, u8 state); | 227 | void omap_hwmod_mux(struct omap_hwmod_mux_info *hmux, u8 state); |
| 227 | 228 | ||
| 229 | int omap_mux_get_by_name(const char *muxname, | ||
| 230 | struct omap_mux_partition **found_partition, | ||
| 231 | struct omap_mux **found_mux); | ||
| 228 | #else | 232 | #else |
| 229 | 233 | ||
| 234 | static inline int omap_mux_get_by_name(const char *muxname, | ||
| 235 | struct omap_mux_partition **found_partition, | ||
| 236 | struct omap_mux **found_mux) | ||
| 237 | { | ||
| 238 | return 0; | ||
| 239 | } | ||
| 240 | |||
| 230 | static inline int omap_mux_init_gpio(int gpio, int val) | 241 | static inline int omap_mux_init_gpio(int gpio, int val) |
| 231 | { | 242 | { |
| 232 | return 0; | 243 | return 0; |
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c index bf86f7e8f91f..773193670ea2 100644 --- a/arch/arm/mach-omap2/omap_hwmod.c +++ b/arch/arm/mach-omap2/omap_hwmod.c | |||
| @@ -530,7 +530,7 @@ static int _disable_wakeup(struct omap_hwmod *oh, u32 *v) | |||
| 530 | if (oh->class->sysc->idlemodes & SIDLE_SMART_WKUP) | 530 | if (oh->class->sysc->idlemodes & SIDLE_SMART_WKUP) |
| 531 | _set_slave_idlemode(oh, HWMOD_IDLEMODE_SMART, v); | 531 | _set_slave_idlemode(oh, HWMOD_IDLEMODE_SMART, v); |
| 532 | if (oh->class->sysc->idlemodes & MSTANDBY_SMART_WKUP) | 532 | if (oh->class->sysc->idlemodes & MSTANDBY_SMART_WKUP) |
| 533 | _set_master_standbymode(oh, HWMOD_IDLEMODE_SMART_WKUP, v); | 533 | _set_master_standbymode(oh, HWMOD_IDLEMODE_SMART, v); |
| 534 | 534 | ||
| 535 | /* XXX test pwrdm_get_wken for this hwmod's subsystem */ | 535 | /* XXX test pwrdm_get_wken for this hwmod's subsystem */ |
| 536 | 536 | ||
diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c index 950454a3fa31..f30e861ce6d9 100644 --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c | |||
| @@ -393,8 +393,7 @@ static struct omap_hwmod_class_sysconfig omap44xx_counter_sysc = { | |||
| 393 | .rev_offs = 0x0000, | 393 | .rev_offs = 0x0000, |
| 394 | .sysc_offs = 0x0004, | 394 | .sysc_offs = 0x0004, |
| 395 | .sysc_flags = SYSC_HAS_SIDLEMODE, | 395 | .sysc_flags = SYSC_HAS_SIDLEMODE, |
| 396 | .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | | 396 | .idlemodes = (SIDLE_FORCE | SIDLE_NO), |
| 397 | SIDLE_SMART_WKUP), | ||
| 398 | .sysc_fields = &omap_hwmod_sysc_type1, | 397 | .sysc_fields = &omap_hwmod_sysc_type1, |
| 399 | }; | 398 | }; |
| 400 | 399 | ||
| @@ -854,6 +853,11 @@ static struct omap_hwmod omap44xx_dss_hdmi_hwmod = { | |||
| 854 | .name = "dss_hdmi", | 853 | .name = "dss_hdmi", |
| 855 | .class = &omap44xx_hdmi_hwmod_class, | 854 | .class = &omap44xx_hdmi_hwmod_class, |
| 856 | .clkdm_name = "l3_dss_clkdm", | 855 | .clkdm_name = "l3_dss_clkdm", |
| 856 | /* | ||
| 857 | * HDMI audio requires to use no-idle mode. Hence, | ||
| 858 | * set idle mode by software. | ||
| 859 | */ | ||
| 860 | .flags = HWMOD_SWSUP_SIDLE, | ||
| 857 | .mpu_irqs = omap44xx_dss_hdmi_irqs, | 861 | .mpu_irqs = omap44xx_dss_hdmi_irqs, |
| 858 | .sdma_reqs = omap44xx_dss_hdmi_sdma_reqs, | 862 | .sdma_reqs = omap44xx_dss_hdmi_sdma_reqs, |
| 859 | .main_clk = "dss_48mhz_clk", | 863 | .main_clk = "dss_48mhz_clk", |
diff --git a/arch/arm/mach-omap2/omap_l3_smx.c b/arch/arm/mach-omap2/omap_l3_smx.c index a05a62f9ee5b..acc216491b8a 100644 --- a/arch/arm/mach-omap2/omap_l3_smx.c +++ b/arch/arm/mach-omap2/omap_l3_smx.c | |||
| @@ -155,10 +155,11 @@ static irqreturn_t omap3_l3_block_irq(struct omap3_l3 *l3, | |||
| 155 | u8 multi = error & L3_ERROR_LOG_MULTI; | 155 | u8 multi = error & L3_ERROR_LOG_MULTI; |
| 156 | u32 address = omap3_l3_decode_addr(error_addr); | 156 | u32 address = omap3_l3_decode_addr(error_addr); |
| 157 | 157 | ||
| 158 | WARN(true, "%s seen by %s %s at address %x\n", | 158 | pr_err("%s seen by %s %s at address %x\n", |
| 159 | omap3_l3_code_string(code), | 159 | omap3_l3_code_string(code), |
| 160 | omap3_l3_initiator_string(initid), | 160 | omap3_l3_initiator_string(initid), |
| 161 | multi ? "Multiple Errors" : "", address); | 161 | multi ? "Multiple Errors" : "", address); |
| 162 | WARN_ON(1); | ||
| 162 | 163 | ||
| 163 | return IRQ_HANDLED; | 164 | return IRQ_HANDLED; |
| 164 | } | 165 | } |
diff --git a/arch/arm/mach-omap2/omap_phy_internal.c b/arch/arm/mach-omap2/omap_phy_internal.c index 4c90477e6f82..d52651a05daa 100644 --- a/arch/arm/mach-omap2/omap_phy_internal.c +++ b/arch/arm/mach-omap2/omap_phy_internal.c | |||
| @@ -239,21 +239,15 @@ void am35x_set_mode(u8 musb_mode) | |||
| 239 | 239 | ||
| 240 | devconf2 &= ~CONF2_OTGMODE; | 240 | devconf2 &= ~CONF2_OTGMODE; |
| 241 | switch (musb_mode) { | 241 | switch (musb_mode) { |
| 242 | #ifdef CONFIG_USB_MUSB_HDRC_HCD | ||
| 243 | case MUSB_HOST: /* Force VBUS valid, ID = 0 */ | 242 | case MUSB_HOST: /* Force VBUS valid, ID = 0 */ |
| 244 | devconf2 |= CONF2_FORCE_HOST; | 243 | devconf2 |= CONF2_FORCE_HOST; |
| 245 | break; | 244 | break; |
| 246 | #endif | ||
| 247 | #ifdef CONFIG_USB_GADGET_MUSB_HDRC | ||
| 248 | case MUSB_PERIPHERAL: /* Force VBUS valid, ID = 1 */ | 245 | case MUSB_PERIPHERAL: /* Force VBUS valid, ID = 1 */ |
| 249 | devconf2 |= CONF2_FORCE_DEVICE; | 246 | devconf2 |= CONF2_FORCE_DEVICE; |
| 250 | break; | 247 | break; |
| 251 | #endif | ||
| 252 | #ifdef CONFIG_USB_MUSB_OTG | ||
| 253 | case MUSB_OTG: /* Don't override the VBUS/ID comparators */ | 248 | case MUSB_OTG: /* Don't override the VBUS/ID comparators */ |
| 254 | devconf2 |= CONF2_NO_OVERRIDE; | 249 | devconf2 |= CONF2_NO_OVERRIDE; |
| 255 | break; | 250 | break; |
| 256 | #endif | ||
| 257 | default: | 251 | default: |
| 258 | pr_info(KERN_INFO "Unsupported mode %u\n", musb_mode); | 252 | pr_info(KERN_INFO "Unsupported mode %u\n", musb_mode); |
| 259 | } | 253 | } |
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c index a34023d0ca7c..3a595e899724 100644 --- a/arch/arm/mach-omap2/pm34xx.c +++ b/arch/arm/mach-omap2/pm34xx.c | |||
| @@ -724,6 +724,7 @@ int __init omap3_pm_init(void) | |||
| 724 | ret = request_irq(omap_prcm_event_to_irq("io"), | 724 | ret = request_irq(omap_prcm_event_to_irq("io"), |
| 725 | _prcm_int_handle_io, IRQF_SHARED | IRQF_NO_SUSPEND, "pm_io", | 725 | _prcm_int_handle_io, IRQF_SHARED | IRQF_NO_SUSPEND, "pm_io", |
| 726 | omap3_pm_init); | 726 | omap3_pm_init); |
| 727 | enable_irq(omap_prcm_event_to_irq("io")); | ||
| 727 | 728 | ||
| 728 | if (ret) { | 729 | if (ret) { |
| 729 | pr_err("pm: Failed to request pm_io irq\n"); | 730 | pr_err("pm: Failed to request pm_io irq\n"); |
diff --git a/arch/arm/mach-omap2/prm2xxx_3xxx.c b/arch/arm/mach-omap2/prm2xxx_3xxx.c index 9ce765407ad5..21cb74003a56 100644 --- a/arch/arm/mach-omap2/prm2xxx_3xxx.c +++ b/arch/arm/mach-omap2/prm2xxx_3xxx.c | |||
| @@ -15,6 +15,7 @@ | |||
| 15 | #include <linux/errno.h> | 15 | #include <linux/errno.h> |
| 16 | #include <linux/err.h> | 16 | #include <linux/err.h> |
| 17 | #include <linux/io.h> | 17 | #include <linux/io.h> |
| 18 | #include <linux/irq.h> | ||
| 18 | 19 | ||
| 19 | #include "common.h" | 20 | #include "common.h" |
| 20 | #include <plat/cpu.h> | 21 | #include <plat/cpu.h> |
| @@ -303,8 +304,15 @@ void omap3xxx_prm_restore_irqen(u32 *saved_mask) | |||
| 303 | 304 | ||
| 304 | static int __init omap3xxx_prcm_init(void) | 305 | static int __init omap3xxx_prcm_init(void) |
| 305 | { | 306 | { |
| 306 | if (cpu_is_omap34xx()) | 307 | int ret = 0; |
| 307 | return omap_prcm_register_chain_handler(&omap3_prcm_irq_setup); | 308 | |
| 308 | return 0; | 309 | if (cpu_is_omap34xx()) { |
| 310 | ret = omap_prcm_register_chain_handler(&omap3_prcm_irq_setup); | ||
| 311 | if (!ret) | ||
| 312 | irq_set_status_flags(omap_prcm_event_to_irq("io"), | ||
| 313 | IRQ_NOAUTOEN); | ||
| 314 | } | ||
| 315 | |||
| 316 | return ret; | ||
| 309 | } | 317 | } |
| 310 | subsys_initcall(omap3xxx_prcm_init); | 318 | subsys_initcall(omap3xxx_prcm_init); |
diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c index 292d4aaca068..c1b93c752d70 100644 --- a/arch/arm/mach-omap2/serial.c +++ b/arch/arm/mach-omap2/serial.c | |||
| @@ -57,6 +57,7 @@ struct omap_uart_state { | |||
| 57 | 57 | ||
| 58 | struct list_head node; | 58 | struct list_head node; |
| 59 | struct omap_hwmod *oh; | 59 | struct omap_hwmod *oh; |
| 60 | struct omap_device_pad default_omap_uart_pads[2]; | ||
| 60 | }; | 61 | }; |
| 61 | 62 | ||
| 62 | static LIST_HEAD(uart_list); | 63 | static LIST_HEAD(uart_list); |
| @@ -126,11 +127,70 @@ static void omap_uart_set_smartidle(struct platform_device *pdev) {} | |||
| 126 | #endif /* CONFIG_PM */ | 127 | #endif /* CONFIG_PM */ |
| 127 | 128 | ||
| 128 | #ifdef CONFIG_OMAP_MUX | 129 | #ifdef CONFIG_OMAP_MUX |
| 129 | static void omap_serial_fill_default_pads(struct omap_board_data *bdata) | 130 | |
| 131 | #define OMAP_UART_DEFAULT_PAD_NAME_LEN 28 | ||
| 132 | static char rx_pad_name[OMAP_UART_DEFAULT_PAD_NAME_LEN], | ||
| 133 | tx_pad_name[OMAP_UART_DEFAULT_PAD_NAME_LEN] __initdata; | ||
| 134 | |||
| 135 | static void __init | ||
| 136 | omap_serial_fill_uart_tx_rx_pads(struct omap_board_data *bdata, | ||
| 137 | struct omap_uart_state *uart) | ||
| 138 | { | ||
| 139 | uart->default_omap_uart_pads[0].name = rx_pad_name; | ||
| 140 | uart->default_omap_uart_pads[0].flags = OMAP_DEVICE_PAD_REMUX | | ||
| 141 | OMAP_DEVICE_PAD_WAKEUP; | ||
| 142 | uart->default_omap_uart_pads[0].enable = OMAP_PIN_INPUT | | ||
| 143 | OMAP_MUX_MODE0; | ||
| 144 | uart->default_omap_uart_pads[0].idle = OMAP_PIN_INPUT | OMAP_MUX_MODE0; | ||
| 145 | uart->default_omap_uart_pads[1].name = tx_pad_name; | ||
| 146 | uart->default_omap_uart_pads[1].enable = OMAP_PIN_OUTPUT | | ||
| 147 | OMAP_MUX_MODE0; | ||
| 148 | bdata->pads = uart->default_omap_uart_pads; | ||
| 149 | bdata->pads_cnt = ARRAY_SIZE(uart->default_omap_uart_pads); | ||
| 150 | } | ||
| 151 | |||
| 152 | static void __init omap_serial_check_wakeup(struct omap_board_data *bdata, | ||
| 153 | struct omap_uart_state *uart) | ||
| 130 | { | 154 | { |
| 155 | struct omap_mux_partition *tx_partition = NULL, *rx_partition = NULL; | ||
| 156 | struct omap_mux *rx_mux = NULL, *tx_mux = NULL; | ||
| 157 | char *rx_fmt, *tx_fmt; | ||
| 158 | int uart_nr = bdata->id + 1; | ||
| 159 | |||
| 160 | if (bdata->id != 2) { | ||
| 161 | rx_fmt = "uart%d_rx.uart%d_rx"; | ||
| 162 | tx_fmt = "uart%d_tx.uart%d_tx"; | ||
| 163 | } else { | ||
| 164 | rx_fmt = "uart%d_rx_irrx.uart%d_rx_irrx"; | ||
| 165 | tx_fmt = "uart%d_tx_irtx.uart%d_tx_irtx"; | ||
| 166 | } | ||
| 167 | |||
| 168 | snprintf(rx_pad_name, OMAP_UART_DEFAULT_PAD_NAME_LEN, rx_fmt, | ||
| 169 | uart_nr, uart_nr); | ||
| 170 | snprintf(tx_pad_name, OMAP_UART_DEFAULT_PAD_NAME_LEN, tx_fmt, | ||
| 171 | uart_nr, uart_nr); | ||
| 172 | |||
| 173 | if (omap_mux_get_by_name(rx_pad_name, &rx_partition, &rx_mux) >= 0 && | ||
| 174 | omap_mux_get_by_name | ||
| 175 | (tx_pad_name, &tx_partition, &tx_mux) >= 0) { | ||
| 176 | u16 tx_mode, rx_mode; | ||
| 177 | |||
| 178 | tx_mode = omap_mux_read(tx_partition, tx_mux->reg_offset); | ||
| 179 | rx_mode = omap_mux_read(rx_partition, rx_mux->reg_offset); | ||
| 180 | |||
| 181 | /* | ||
| 182 | * Check if uart is used in default tx/rx mode i.e. in mux mode0 | ||
| 183 | * if yes then configure rx pin for wake up capability | ||
| 184 | */ | ||
| 185 | if (OMAP_MODE_UART(rx_mode) && OMAP_MODE_UART(tx_mode)) | ||
| 186 | omap_serial_fill_uart_tx_rx_pads(bdata, uart); | ||
| 187 | } | ||
| 131 | } | 188 | } |
| 132 | #else | 189 | #else |
| 133 | static void omap_serial_fill_default_pads(struct omap_board_data *bdata) {} | 190 | static void __init omap_serial_check_wakeup(struct omap_board_data *bdata, |
| 191 | struct omap_uart_state *uart) | ||
| 192 | { | ||
| 193 | } | ||
| 134 | #endif | 194 | #endif |
| 135 | 195 | ||
| 136 | static char *cmdline_find_option(char *str) | 196 | static char *cmdline_find_option(char *str) |
| @@ -287,8 +347,7 @@ void __init omap_serial_board_init(struct omap_uart_port_info *info) | |||
| 287 | bdata.pads = NULL; | 347 | bdata.pads = NULL; |
| 288 | bdata.pads_cnt = 0; | 348 | bdata.pads_cnt = 0; |
| 289 | 349 | ||
| 290 | if (cpu_is_omap44xx() || cpu_is_omap34xx()) | 350 | omap_serial_check_wakeup(&bdata, uart); |
| 291 | omap_serial_fill_default_pads(&bdata); | ||
| 292 | 351 | ||
| 293 | if (!info) | 352 | if (!info) |
| 294 | omap_serial_init_port(&bdata, NULL); | 353 | omap_serial_init_port(&bdata, NULL); |
diff --git a/arch/arm/mach-omap2/usb-musb.c b/arch/arm/mach-omap2/usb-musb.c index b19d1b43c12e..c4a576856661 100644 --- a/arch/arm/mach-omap2/usb-musb.c +++ b/arch/arm/mach-omap2/usb-musb.c | |||
| @@ -41,12 +41,10 @@ static struct musb_hdrc_config musb_config = { | |||
| 41 | }; | 41 | }; |
| 42 | 42 | ||
| 43 | static struct musb_hdrc_platform_data musb_plat = { | 43 | static struct musb_hdrc_platform_data musb_plat = { |
| 44 | #ifdef CONFIG_USB_MUSB_OTG | 44 | #ifdef CONFIG_USB_GADGET_MUSB_HDRC |
| 45 | .mode = MUSB_OTG, | 45 | .mode = MUSB_OTG, |
| 46 | #elif defined(CONFIG_USB_MUSB_HDRC_HCD) | 46 | #else |
| 47 | .mode = MUSB_HOST, | 47 | .mode = MUSB_HOST, |
| 48 | #elif defined(CONFIG_USB_GADGET_MUSB_HDRC) | ||
| 49 | .mode = MUSB_PERIPHERAL, | ||
| 50 | #endif | 48 | #endif |
| 51 | /* .clock is set dynamically */ | 49 | /* .clock is set dynamically */ |
| 52 | .config = &musb_config, | 50 | .config = &musb_config, |
diff --git a/arch/arm/mach-omap2/usb-tusb6010.c b/arch/arm/mach-omap2/usb-tusb6010.c index db84a46ce7fd..805bea6edf17 100644 --- a/arch/arm/mach-omap2/usb-tusb6010.c +++ b/arch/arm/mach-omap2/usb-tusb6010.c | |||
| @@ -300,7 +300,7 @@ tusb6010_setup_interface(struct musb_hdrc_platform_data *data, | |||
| 300 | printk(error, 3, status); | 300 | printk(error, 3, status); |
| 301 | return status; | 301 | return status; |
| 302 | } | 302 | } |
| 303 | tusb_resources[2].start = irq + IH_GPIO_BASE; | 303 | tusb_resources[2].start = gpio_to_irq(irq); |
| 304 | 304 | ||
| 305 | /* set up memory timings ... can speed them up later */ | 305 | /* set up memory timings ... can speed them up later */ |
| 306 | if (!ps_refclk) { | 306 | if (!ps_refclk) { |
