Merge branch 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind...
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 18 Mar 2011 02:28:15 +0000 (19:28 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 18 Mar 2011 02:28:15 +0000 (19:28 -0700)
* 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (258 commits)
  omap: zoom: host should not pull up wl1271's irq line
  arm: plat-omap: iommu: fix request_mem_region() error path
  OMAP2+: Common CPU DIE ID reading code reads wrong registers for OMAP4430
  omap4: mux: Remove duplicate mux modes
  omap: iovmm: don't check 'da' to set IOVMF_DA_FIXED flag
  omap: iovmm: disallow mapping NULL address when IOVMF_DA_ANON is set
  omap2+: mux: Fix compile when CONFIG_OMAP_MUX is not selected
  omap4: board-omap4panda: Initialise the serial pads
  omap3: board-3430sdp: Initialise the serial pads
  omap4: board-4430sdp: Initialise the serial pads
  omap2+: mux: Add macro for configuring static with omap_hwmod_mux_init
  omap2+: mux: Remove the use of IDLE flag
  omap2+: Add separate list for dynamic pads to mux
  perf: add OMAP support for the new power events
  OMAP4: Add IVA OPP enteries.
  OMAP4: Update Voltage Rail Values for MPU, IVA and CORE
  OMAP4: Enable 800 MHz and 1 GHz MPU-OPP
  OMAP3+: OPP: Replace voltage values with Macros
  OMAP3: wdtimer: Fix CORE idle transition
  Watchdog: omap_wdt: add fine grain runtime-pm
  ...

Fix up various conflicts in
 - arch/arm/mach-omap2/board-omap3evm.c
 - arch/arm/mach-omap2/clock3xxx_data.c
 - arch/arm/mach-omap2/usb-musb.c
 - arch/arm/plat-omap/include/plat/usb.h
 - drivers/usb/musb/musb_core.h

38 files changed:
1  2 
MAINTAINERS
arch/arm/mach-omap2/Kconfig
arch/arm/mach-omap2/Makefile
arch/arm/mach-omap2/board-3430sdp.c
arch/arm/mach-omap2/board-3630sdp.c
arch/arm/mach-omap2/board-4430sdp.c
arch/arm/mach-omap2/board-am3517crane.c
arch/arm/mach-omap2/board-am3517evm.c
arch/arm/mach-omap2/board-cm-t35.c
arch/arm/mach-omap2/board-cm-t3517.c
arch/arm/mach-omap2/board-devkit8000.c
arch/arm/mach-omap2/board-igep0020.c
arch/arm/mach-omap2/board-igep0030.c
arch/arm/mach-omap2/board-omap3beagle.c
arch/arm/mach-omap2/board-omap3evm.c
arch/arm/mach-omap2/board-omap3pandora.c
arch/arm/mach-omap2/board-omap3stalker.c
arch/arm/mach-omap2/board-omap3touchbook.c
arch/arm/mach-omap2/board-omap4panda.c
arch/arm/mach-omap2/board-overo.c
arch/arm/mach-omap2/board-zoom.c
arch/arm/mach-omap2/clock3xxx_data.c
arch/arm/mach-omap2/clock44xx_data.c
arch/arm/mach-omap2/include/mach/debug-macro.S
arch/arm/mach-omap2/omap_phy_internal.c
arch/arm/mach-omap2/pm.h
arch/arm/mach-omap2/sleep34xx.S
arch/arm/mach-omap2/sram34xx.S
arch/arm/mach-omap2/usb-musb.c
arch/arm/plat-omap/include/plat/serial.h
arch/arm/plat-omap/include/plat/usb.h
arch/arm/plat-omap/sram.c
drivers/mtd/nand/Kconfig
drivers/mtd/nand/omap2.c
drivers/mtd/onenand/omap2.c
drivers/usb/musb/musb_core.c
drivers/usb/musb/musb_core.h
include/linux/i2c/twl.h

diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
index 7542ba59f2b889dfdff860898fc8bf0b866e598b,b3918044e059874e4b2a1fa75b505cf49ff2c49b..c06eb423c4e4456bed2d8e09c4f515201101dffa
@@@ -810,13 -896,13 +896,13 @@@ static void __init omap_3430sdp_init(vo
        spi_register_board_info(sdp3430_spi_board_info,
                                ARRAY_SIZE(sdp3430_spi_board_info));
        ads7846_dev_init();
-       omap_serial_init();
+       board_serial_init();
        usb_musb_init(&musb_board_data);
        board_smc91x_init();
-       board_flash_init(sdp_flash_partitions, chip_sel_3430);
+       board_flash_init(sdp_flash_partitions, chip_sel_3430, 0);
        sdp3430_display_init();
        enable_board_wakeup_source();
 -      usb_ehci_init(&ehci_pdata);
 +      usbhs_init(&usbhs_bdata);
  }
  
  MACHINE_START(OMAP_3430SDP, "OMAP3430 3430SDP board")
index deed2db32c53bce8834197cec8edcf7eb0d9851d,c4e22b32e47fa07085fc04f89484aa55848dab26..a5933cc15caaff8fd6e0f90e4e3853fcf93a3e25
@@@ -209,9 -209,9 +209,9 @@@ static void __init omap_sdp_init(void
        zoom_peripherals_init();
        zoom_display_init();
        board_smc91x_init();
-       board_flash_init(sdp_flash_partitions, chip_sel_sdp);
+       board_flash_init(sdp_flash_partitions, chip_sel_sdp, NAND_BUSWIDTH_16);
        enable_board_wakeup_source();
 -      usb_ehci_init(&ehci_pdata);
 +      usbhs_init(&usbhs_bdata);
  }
  
  MACHINE_START(OMAP_3630SDP, "OMAP 3630SDP board")
Simple merge
index e3a194f6b13f42e8b244b5b79c6f76e53826d403,f53bbb2c34787005631fd9827462005a915f5a58..a890d244fec688fdb93b1e44a7d8e51b35b2a373
@@@ -49,20 -49,16 +49,16 @@@ static struct omap_board_mux board_mux[
  #define board_mux     NULL
  #endif
  
- static void __init am3517_crane_init_irq(void)
+ static void __init am3517_crane_init_early(void)
  {
-       omap_board_config = am3517_crane_config;
-       omap_board_config_size = ARRAY_SIZE(am3517_crane_config);
        omap2_init_common_infrastructure();
        omap2_init_common_devices(NULL, NULL);
-       omap_init_irq();
  }
  
 -static struct ehci_hcd_omap_platform_data ehci_pdata __initdata = {
 -      .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY,
 -      .port_mode[1] = EHCI_HCD_OMAP_MODE_UNKNOWN,
 -      .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
 +static struct usbhs_omap_board_data usbhs_bdata __initdata = {
 +      .port_mode[0] = OMAP_EHCI_PORT_MODE_PHY,
 +      .port_mode[1] = OMAP_USBHS_PORT_MODE_UNUSED,
 +      .port_mode[2] = OMAP_USBHS_PORT_MODE_UNUSED,
  
        .phy_reset  = true,
        .reset_gpio_port[0]  = GPIO_USB_NRESET,
Simple merge
Simple merge
Simple merge
index f9f53441931125e2ef54994ba4b781dc332d131d,c4b3c1c47ec6f7166dc5d45dbacbbabf7812efdd..d3199b4ecdb6df67f986d4b5506f13829502eb6b
@@@ -697,9 -683,10 +683,10 @@@ static void __init igep2_init(void
        /* Register I2C busses and drivers */
        igep2_i2c_init();
        platform_add_devices(igep2_devices, ARRAY_SIZE(igep2_devices));
+       omap_display_init(&igep2_dss_data);
        omap_serial_init();
        usb_musb_init(&musb_board_data);
 -      usb_ehci_init(&ehci_pdata);
 +      usbhs_init(&usbhs_bdata);
  
        igep2_flash_init();
        igep2_leds_init();
Simple merge
index 38a2d91790c06d9b6a56b83670d6c14911a36d11,b65848c59e1d3ab2340d985bcd2aa0ea338d6119..0fa2c7b208b1fe281ed7fadbdfe924ffdcc437ca
@@@ -625,24 -725,17 +725,17 @@@ static struct spi_board_info omap3evm_s
  static struct omap_board_config_kernel omap3_evm_config[] __initdata = {
  };
  
- static void __init omap3_evm_init_irq(void)
+ static void __init omap3_evm_init_early(void)
  {
-       omap_board_config = omap3_evm_config;
-       omap_board_config_size = ARRAY_SIZE(omap3_evm_config);
        omap2_init_common_infrastructure();
        omap2_init_common_devices(mt46h32m32lf6_sdrc_params, NULL);
-       omap_init_irq();
  }
  
- static struct platform_device *omap3_evm_devices[] __initdata = {
-       &omap3_evm_dss_device,
- };
 -static struct ehci_hcd_omap_platform_data ehci_pdata __initdata = {
 +static struct usbhs_omap_board_data usbhs_bdata __initdata = {
  
 -      .port_mode[0] = EHCI_HCD_OMAP_MODE_UNKNOWN,
 -      .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY,
 -      .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
 +      .port_mode[0] = OMAP_USBHS_PORT_MODE_UNUSED,
 +      .port_mode[1] = OMAP_EHCI_PORT_MODE_PHY,
 +      .port_mode[2] = OMAP_USBHS_PORT_MODE_UNUSED,
  
        .phy_reset  = true,
        /* PHY reset GPIO will be runtime programmed based on EVM version */
index ed61c1f5d5e663ae82c607ec24b3d7a0954f9819,1dd4401e646606e79ab43b5f5fdb6dd6880bb817..0f4d8a762a7093e6e244b33693af40cc6c25a38f
@@@ -80,13 -95,12 +95,12 @@@ static void __init omap4_panda_init_ear
  {
        omap2_init_common_infrastructure();
        omap2_init_common_devices(NULL, NULL);
-       gic_init_irq();
  }
  
 -static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
 -      .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY,
 -      .port_mode[1] = EHCI_HCD_OMAP_MODE_UNKNOWN,
 -      .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
 +static const struct usbhs_omap_board_data usbhs_bdata __initconst = {
 +      .port_mode[0] = OMAP_EHCI_PORT_MODE_PHY,
 +      .port_mode[1] = OMAP_USBHS_PORT_MODE_UNUSED,
 +      .port_mode[2] = OMAP_USBHS_PORT_MODE_UNUSED,
        .phy_reset  = false,
        .reset_gpio_port[0]  = -EINVAL,
        .reset_gpio_port[1]  = -EINVAL,
Simple merge
index 1dd195afa39644c4e6608185f673ecef1c522c7d,7e895ff39220de8d2d94c4f5a2df81f4f436c781..4b133d75c9354ae1da9e08615ba336e78830519d
@@@ -123,11 -122,11 +122,11 @@@ static void __init omap_zoom_init(void
        } else if (machine_is_omap_zoom3()) {
                omap3_mux_init(board_mux, OMAP_PACKAGE_CBP);
                omap_mux_init_gpio(ZOOM3_EHCI_RESET_GPIO, OMAP_PIN_OUTPUT);
 -              usb_ehci_init(&ehci_pdata);
 +              usbhs_init(&usbhs_bdata);
        }
  
-       board_nand_init(zoom_nand_partitions,
-                       ARRAY_SIZE(zoom_nand_partitions), ZOOM_NAND_CS);
+       board_nand_init(zoom_nand_partitions, ARRAY_SIZE(zoom_nand_partitions),
+                                               ZOOM_NAND_CS, NAND_BUSWIDTH_16);
        zoom_debugboard_init();
        zoom_peripherals_init();
        zoom_display_init();
index fbb1e30a73dc65a5f688c1efa4a9beb43dd245b6,d905ecc7989a5154537e838f948511e1658dbb21..fcb321a64f136bb66da780e64ea5351a6d4d6470
@@@ -3322,8 -3321,8 +3321,8 @@@ static struct omap_clk omap3xxx_clks[] 
        CLK(NULL,       "pka_ick",      &pka_ick,       CK_34XX | CK_36XX),
        CLK(NULL,       "core_l4_ick",  &core_l4_ick,   CK_3XXX),
        CLK(NULL,       "usbtll_ick",   &usbtll_ick,    CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
 -      CLK("ehci-omap.0",      "usbtll_ick",   &usbtll_ick,    CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
 +      CLK("usbhs-omap.0",     "usbtll_ick",   &usbtll_ick,    CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
-       CLK("mmci-omap-hs.2",   "ick",  &mmchs3_ick,    CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
+       CLK("omap_hsmmc.2",     "ick",  &mmchs3_ick,    CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
        CLK(NULL,       "icr_ick",      &icr_ick,       CK_34XX | CK_36XX),
        CLK("omap-aes", "ick",  &aes2_ick,      CK_34XX | CK_36XX),
        CLK("omap-sham",        "ick",  &sha12_ick,     CK_34XX | CK_36XX),
Simple merge
Simple merge
Simple merge
Simple merge
index 241fc94b41169f273eb5c11dee7435881297fc96,a9d4d143086d73463b97c093cc9f022de8e1d679..35559f77e2deb8e47fa7e2d84caffebdf0740bf1
@@@ -212,12 -132,35 +132,38 @@@ void __init usb_musb_init(struct omap_m
        musb_plat.mode = board_data->mode;
        musb_plat.extvbus = board_data->extvbus;
  
-       if (platform_device_register(&musb_device) < 0)
-               printk(KERN_ERR "Unable to register HS-USB (MUSB) device\n");
 +      if (cpu_is_omap44xx())
 +              omap4430_phy_init(dev);
 +
+       if (cpu_is_omap3517() || cpu_is_omap3505()) {
+               oh_name = "am35x_otg_hs";
+               name = "musb-am35x";
+       } else {
+               oh_name = "usb_otg_hs";
+               name = "musb-omap2430";
+       }
+       oh = omap_hwmod_lookup(oh_name);
+       if (!oh) {
+               pr_err("Could not look up %s\n", oh_name);
+               return;
+       }
+       od = omap_device_build(name, bus_id, oh, &musb_plat,
+                              sizeof(musb_plat), omap_musb_latency,
+                              ARRAY_SIZE(omap_musb_latency), false);
+       if (IS_ERR(od)) {
+               pr_err("Could not build omap_device for %s %s\n",
+                                               name, oh_name);
+               return;
+       }
+       pdev = &od->pdev;
+       dev = &pdev->dev;
+       get_device(dev);
+       dev->dma_mask = &musb_dmamask;
+       dev->coherent_dma_mask = musb_dmamask;
+       put_device(dev);
  }
  
  #else
index fe449f1a1c1443a66a1322e18a1f1462985fab96,077192759afc49384c219125e591cd7af9639856..02b96c8f6a17cd687f63a5e439d44ba57f621339
@@@ -107,9 -88,14 +107,14 @@@ extern int omap4430_phy_power(struct de
  extern int omap4430_phy_set_clk(struct device *dev, int on);
  extern int omap4430_phy_init(struct device *dev);
  extern int omap4430_phy_exit(struct device *dev);
 -
 +extern int omap4430_phy_suspend(struct device *dev, int suspend);
  #endif
  
+ extern void am35x_musb_reset(void);
+ extern void am35x_musb_phy_power(u8 on);
+ extern void am35x_musb_clear_irq(void);
+ extern void am35x_musb_set_mode(u8 musb_mode);
  /*
   * FIXME correct answer depends on hmc_mode,
   * as does (on omap1) any nonzero value for config->otg port number
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge