Commit e23d7096f9633d37aa35dffab9b0bd594ed64533

Authored by Olof Johansson

Merge tag 'omap-fixes-for-v3.5-rc3' of git://git.kernel.org/pub/scm/linux/kernel…

…/git/tmlind/linux-omap into fixes

From Tony Lindgren:
"Here are a few fixes with the biggest one being fix for Beagle DVI
 reset. All of them are regression fixes, except for the missing omap2
 interrupt controller binding that somehow got missed earlier."

* tag 'omap-fixes-for-v3.5-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP: Fix Beagleboard DVI reset gpio
  arm/dts: OMAP2: Fix interrupt controller binding
  ARM: OMAP2: Fix tusb6010 GPIO interrupt for n8x0
  ARM: OMAP2+: Fix MUSB ifdefs for platform init code

Showing 6 changed files Side-by-side Diff

arch/arm/boot/dts/omap2.dtsi
... ... @@ -44,6 +44,8 @@
44 44 compatible = "ti,omap2-intc";
45 45 interrupt-controller;
46 46 #interrupt-cells = <1>;
  47 + ti,intc-size = <96>;
  48 + reg = <0x480FE000 0x1000>;
47 49 };
48 50  
49 51 uart1: serial@4806a000 {
arch/arm/mach-omap2/board-n8x0.c
... ... @@ -83,11 +83,9 @@
83 83 };
84 84  
85 85 static struct musb_hdrc_platform_data tusb_data = {
86   -#if defined(CONFIG_USB_MUSB_OTG)
  86 +#ifdef CONFIG_USB_GADGET_MUSB_HDRC
87 87 .mode = MUSB_OTG,
88   -#elif defined(CONFIG_USB_MUSB_PERIPHERAL)
89   - .mode = MUSB_PERIPHERAL,
90   -#else /* defined(CONFIG_USB_MUSB_HOST) */
  88 +#else
91 89 .mode = MUSB_HOST,
92 90 #endif
93 91 .set_power = tusb_set_power,
arch/arm/mach-omap2/board-omap3beagle.c
... ... @@ -81,13 +81,13 @@
81 81 static struct {
82 82 int mmc1_gpio_wp;
83 83 int usb_pwr_level;
84   - int reset_gpio;
  84 + int dvi_pd_gpio;
85 85 int usr_button_gpio;
86 86 int mmc_caps;
87 87 } beagle_config = {
88 88 .mmc1_gpio_wp = -EINVAL,
89 89 .usb_pwr_level = GPIOF_OUT_INIT_LOW,
90   - .reset_gpio = 129,
  90 + .dvi_pd_gpio = -EINVAL,
91 91 .usr_button_gpio = 4,
92 92 .mmc_caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,
93 93 };
94 94  
95 95  
... ... @@ -126,21 +126,21 @@
126 126 printk(KERN_INFO "OMAP3 Beagle Rev: Ax/Bx\n");
127 127 omap3_beagle_version = OMAP3BEAGLE_BOARD_AXBX;
128 128 beagle_config.mmc1_gpio_wp = 29;
129   - beagle_config.reset_gpio = 170;
  129 + beagle_config.dvi_pd_gpio = 170;
130 130 beagle_config.usr_button_gpio = 7;
131 131 break;
132 132 case 6:
133 133 printk(KERN_INFO "OMAP3 Beagle Rev: C1/C2/C3\n");
134 134 omap3_beagle_version = OMAP3BEAGLE_BOARD_C1_3;
135 135 beagle_config.mmc1_gpio_wp = 23;
136   - beagle_config.reset_gpio = 170;
  136 + beagle_config.dvi_pd_gpio = 170;
137 137 beagle_config.usr_button_gpio = 7;
138 138 break;
139 139 case 5:
140 140 printk(KERN_INFO "OMAP3 Beagle Rev: C4\n");
141 141 omap3_beagle_version = OMAP3BEAGLE_BOARD_C4;
142 142 beagle_config.mmc1_gpio_wp = 23;
143   - beagle_config.reset_gpio = 170;
  143 + beagle_config.dvi_pd_gpio = 170;
144 144 beagle_config.usr_button_gpio = 7;
145 145 break;
146 146 case 0:
... ... @@ -274,11 +274,9 @@
274 274 if (r)
275 275 pr_err("%s: unable to configure nDVI_PWR_EN\n",
276 276 __func__);
277   - r = gpio_request_one(gpio + 2, GPIOF_OUT_INIT_HIGH,
278   - "DVI_LDO_EN");
279   - if (r)
280   - pr_err("%s: unable to configure DVI_LDO_EN\n",
281   - __func__);
  277 +
  278 + beagle_config.dvi_pd_gpio = gpio + 2;
  279 +
282 280 } else {
283 281 /*
284 282 * REVISIT: need ehci-omap hooks for external VBUS
... ... @@ -287,7 +285,7 @@
287 285 if (gpio_request_one(gpio + 1, GPIOF_IN, "EHCI_nOC"))
288 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 290 gpio_request_one(gpio + TWL4030_GPIO_MAX, beagle_config.usb_pwr_level,
293 291 "nEN_USB_PWR");
... ... @@ -499,7 +497,7 @@
499 497 omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
500 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 501 omap_mux_init_gpio(beagle_config.mmc1_gpio_wp, OMAP_PIN_INPUT);
504 502 mmc[0].caps = beagle_config.mmc_caps;
505 503 omap_hsmmc_init(mmc);
506 504  
... ... @@ -510,14 +508,12 @@
510 508  
511 509 platform_add_devices(omap3_beagle_devices,
512 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 513 omap_display_init(&beagle_dss_data);
514 514 omap_serial_init();
515 515 omap_sdrc_init(mt46h32m32lf6_sdrc_params,
516 516 mt46h32m32lf6_sdrc_params);
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 517  
522 518 usb_musb_init(NULL);
523 519 usbhs_init(&usbhs_bdata);
arch/arm/mach-omap2/omap_phy_internal.c
... ... @@ -239,21 +239,15 @@
239 239  
240 240 devconf2 &= ~CONF2_OTGMODE;
241 241 switch (musb_mode) {
242   -#ifdef CONFIG_USB_MUSB_HDRC_HCD
243 242 case MUSB_HOST: /* Force VBUS valid, ID = 0 */
244 243 devconf2 |= CONF2_FORCE_HOST;
245 244 break;
246   -#endif
247   -#ifdef CONFIG_USB_GADGET_MUSB_HDRC
248 245 case MUSB_PERIPHERAL: /* Force VBUS valid, ID = 1 */
249 246 devconf2 |= CONF2_FORCE_DEVICE;
250 247 break;
251   -#endif
252   -#ifdef CONFIG_USB_MUSB_OTG
253 248 case MUSB_OTG: /* Don't override the VBUS/ID comparators */
254 249 devconf2 |= CONF2_NO_OVERRIDE;
255 250 break;
256   -#endif
257 251 default:
258 252 pr_info(KERN_INFO "Unsupported mode %u\n", musb_mode);
259 253 }
arch/arm/mach-omap2/usb-musb.c
... ... @@ -41,12 +41,10 @@
41 41 };
42 42  
43 43 static struct musb_hdrc_platform_data musb_plat = {
44   -#ifdef CONFIG_USB_MUSB_OTG
  44 +#ifdef CONFIG_USB_GADGET_MUSB_HDRC
45 45 .mode = MUSB_OTG,
46   -#elif defined(CONFIG_USB_MUSB_HDRC_HCD)
  46 +#else
47 47 .mode = MUSB_HOST,
48   -#elif defined(CONFIG_USB_GADGET_MUSB_HDRC)
49   - .mode = MUSB_PERIPHERAL,
50 48 #endif
51 49 /* .clock is set dynamically */
52 50 .config = &musb_config,
arch/arm/mach-omap2/usb-tusb6010.c
... ... @@ -300,7 +300,7 @@
300 300 printk(error, 3, status);
301 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 305 /* set up memory timings ... can speed them up later */
306 306 if (!ps_refclk) {