1. 25 10月, 2012 1 次提交
    • T
      ARM: OMAP2+: Introduce local usb.h · 54db6eee
      Tony Lindgren 提交于
      Let's move what we can from plat/usb.h to the local usb.h
      for ARM common zImage support.
      
      This is needed so we can remove plat/usb.h for ARM common
      zImage support.
      
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Partha Basak <parthab@india.ti.com>
      Cc: Keshava Munegowda <keshava_mgowda@ti.com>
      Cc: linux-usb@vger.kernel.org
      Acked-by: NFelipe Balbi <balbi@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      54db6eee
  2. 15 10月, 2012 2 次提交
    • A
      ARM: OMAP2+: gpmc: localize gpmc header · 3ef5d007
      Afzal Mohammed 提交于
      Requirement of gpmc header outside of mach-omap2 has been
      cutoff, move gpmc header file in plat-omap folder to local
      mach-omap2 folder
      
      Objective - common zImage participation of omap
      Signed-off-by: NAfzal Mohammed <afzal@ti.com>
      3ef5d007
    • A
      ARM: OMAP2+: nand: unify init functions · 2e618261
      Afzal Mohammed 提交于
      Helper function for updating nand platform data has been
      added the capability to take timing structure arguement.
      Usage of omap_nand_flash_init() has been replaced by modifed
      one, omap_nand_flash_init was doing things similar to
      board_nand_init except that NAND CS# were being acquired
      based on bootloader setting. As CS# is hardwired for a given
      board, acquiring gpmc CS# has been removed, and updated with
      the value on board.
      
      NAND CS# used in beagle board & omap3evm was found to be CS0.
      Thomas Weber <thomas.weber.linux@googlemail.com> reported
      that value of devkit8000 to be CS0. Overo board was found
      to be using CS0 based on u-boot, while google grep says
      omap3touchbook too has CS0.
      Signed-off-by: NAfzal Mohammed <afzal@ti.com>
      Reviewed-by: NJon Hunter <jon-hunter@ti.com>
      Acked-by: NIgor Grinberg <grinberg@compulab.co.il>
      2e618261
  3. 19 9月, 2012 1 次提交
    • A
      ARM: omap: move platform_data definitions · 2203747c
      Arnd Bergmann 提交于
      Platform data for device drivers should be defined in
      include/linux/platform_data/*.h, not in the architecture
      and platform specific directories.
      
      This moves such data out of the omap include directories
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Acked-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Acked-by: NNicolas Pitre <nico@linaro.org>
      Acked-by: NTony Lindgren <tony@atomide.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Cc: "Benoît Cousson" <b-cousson@ti.com>
      Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Ohad Ben-Cohen <ohad@wizery.com>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: Omar Ramirez Luna <omar.ramirez@ti.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
      Cc: Jarkko Nikula <jarkko.nikula@bitmer.com>
      Cc: Liam Girdwood <lrg@ti.com>
      Cc: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
      Cc: Jean Pihet <j-pihet@ti.com>
      Cc: J Keerthy <j-keerthy@ti.com>
      Cc: linux-omap@vger.kernel.org
      2203747c
  4. 13 9月, 2012 2 次提交
    • T
      ARM: OMAP: Split plat/hardware.h, use local soc.h for omap2+ · dbc04161
      Tony Lindgren 提交于
      As the plat and mach includes need to disappear for single zImage work,
      we need to remove plat/hardware.h.
      
      Do this by splitting plat/hardware.h into omap1 and omap2+ specific files.
      
      The old plat/hardware.h already has omap1 only defines, so it gets moved
      to mach/hardware.h for omap1. For omap2+, we use the local soc.h
      that for now just includes the related SoC headers to keep this patch more
      readable.
      
      Note that the local soc.h still includes plat/cpu.h that can be dealt
      with in later patches. Let's also include plat/serial.h from common.h for
      all the board-*.c files. This allows making the include files local later
      on without patching these files again.
      
      Note that only minimal changes are done in this patch for the
      drivers/watchdog/omap_wdt.c driver to keep things compiling. Further
      patches are needed to eventually remove cpu_is_omap usage in the drivers.
      
      Also only minimal changes are done to sound/soc/omap/* to remove the
      unneeded includes and to define OMAP44XX_MCPDM_L3_BASE locally so there's
      no need to include omap44xx.h.
      
      While at it, also sort some of the includes in the standard way.
      
      Cc: linux-watchdog@vger.kernel.org
      Cc: alsa-devel@alsa-project.org
      Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
      Cc: Jarkko Nikula <jarkko.nikula@bitmer.com>
      Cc: Liam Girdwood <lrg@ti.com>
      Acked-by: NWim Van Sebroeck <wim@iguana.be>
      Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      dbc04161
    • T
      ARM: OMAP2+: Remove hardcoded twl4030 gpio_base, irq_base and irq_end · a940d9a1
      Tony Lindgren 提交于
      We can't use hardcoded interrupts for SPARSE_IRQ, and can replace
      the hardcoded gpio_base with twl_gpiochip.base after it's been
      allocated.
      
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      a940d9a1
  5. 11 9月, 2012 1 次提交
  6. 08 5月, 2012 1 次提交
  7. 29 3月, 2012 1 次提交
  8. 25 2月, 2012 1 次提交
    • T
      ARM: OMAP2+: Mark omap_hsmmc_init and omap_mux related functions as __init · d1589f09
      Tony Lindgren 提交于
      Now that omap hsmmc init is split into two functions, it's safe
      to mark omap_hsmmc_init and omap_mux related functions to __init.
      
      This basically reverts the following fixes for the case where
      TWL was compiled as a module:
      
      a98f77bb (ARM: omap: fix section mismatch warning for sdp3430_twl_gpio_setup())
      8930b4e3 (ARM: omap: fix section mismatch warnings in mux.c caused by hsmmc.c)
      
      Additionally it fixes up the remaining section warnings for
      all callers of omap_mux functions.
      
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      d1589f09
  9. 21 2月, 2012 1 次提交
    • T
      ARM: OMAP2+: Split omap2_hsmmc_init() to properly support I2C GPIO pins · 3b972bf0
      Tony Lindgren 提交于
      Otherwise omap_device_build() and omap_mux related functions
      can't be marked as __init when twl is build as a module.
      
      If a board is using GPIO pins or regulators configured by an
      external chip, such as TWL PMIC on I2C bus, the board must
      mark those MMC controllers as deferred. Additionally both
      omap_hsmmc_init() and omap_hsmmc_late_init() must be called
      by the board.
      
      For MMC controllers using internal GPIO pins for card
      detect and regulators the slots don't need to be marked
      deferred. In this case calling omap_hsmmc_init() is sufficient.
      
      Only mark the MMC slots using gpio_cd or gpio_wd as deferred
      as noted by Igor Grinberg <grinberg@compulab.co.il>.
      
      Note that this patch does not change the behaviour for
      board-4430sdp.c board-omap4panda.c. These boards wrongly
      rely on the omap_hsmmc.c init function callback to configure
      the PMIC GPIO interrupt lines on external chip. If the PMIC
      interrupt lines are not configured during init, they will
      fail.
      Reported-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NRajendra Nayak <rnayak@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      3b972bf0
  10. 05 1月, 2012 1 次提交
  11. 18 11月, 2011 1 次提交
  12. 16 11月, 2011 1 次提交
  13. 30 9月, 2011 1 次提交
  14. 27 9月, 2011 1 次提交
  15. 24 8月, 2011 2 次提交
    • T
      ARM: OMAP: Introduce SoC specific early_init · 8f5b5a41
      Tony Lindgren 提交于
      Introduce them for each omap variant and just make them all call
      omap2_init_common_infrastructure for now. Do this for each board-*.c
      file except for board-generic and board-omap3beagle as they use
      the same machine ID for multiple SoCs.
      
      No functional changes.
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      8f5b5a41
    • T
      ARM: OMAP: Move omap2_init_common_devices out of init_early · a4ca9dbe
      Tony Lindgren 提交于
      There's no need to call omap2_init_common_devices from init_early.
      
      It no longer does anything else except reprogram the memory timings
      for some boards, so it's better to do it later so we have a chance
      to get console messages if something goes wrong.
      
      Move it to happen after omap_serial_init gets called. And while
      patching it anyways, rename it to omap_sdrc_init as suggested by
      Benoit Cousson <b-cousson@ti.com>.
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      a4ca9dbe
  16. 22 8月, 2011 1 次提交
  17. 04 7月, 2011 2 次提交
  18. 28 6月, 2011 1 次提交
  19. 20 6月, 2011 1 次提交
    • T
      omap: Set separate timer init functions to avoid cpu_is_omap tests · e74984e4
      Tony Lindgren 提交于
      This is needed for the following patches so we can initialize the
      rest of the hardware timers later on.
      
      As with the init_irq calls, there's no need to do cpu_is_omap calls
      during the timer init as we only care about the major omap generation.
      This means that we can initialize the sys_timer with the .timer
      entries alone.
      
      Note that for now we just set stubs for the various sys_timer entries
      that will get populated in a later patch. The following patches will
      also remove the omap_dm_timer_init calls and change the init for the
      rest of the hardware timers to happen with an arch_initcall.
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      Reviewed-by: NKevin Hilman <khilman@ti.com>
      e74984e4
  20. 16 6月, 2011 1 次提交
  21. 14 6月, 2011 2 次提交
  22. 01 6月, 2011 1 次提交
  23. 12 5月, 2011 1 次提交
  24. 09 5月, 2011 1 次提交
  25. 03 5月, 2011 3 次提交
  26. 03 3月, 2011 1 次提交
  27. 01 3月, 2011 2 次提交
  28. 26 2月, 2011 2 次提交
  29. 15 2月, 2011 1 次提交
  30. 22 12月, 2010 1 次提交
    • P
      OMAP2+: io: split omap2_init_common_hw() · 4805734b
      Paul Walmsley 提交于
      Split omap2_init_common_hw() into two functions.  The first,
      omap2_init_common_infrastructure(), initializes the hwmod code and
      data, the OMAP PM code, and the clock code and data.  The second,
      omap2_init_common_devices(), handles any other early device
      initialization that, for whatever reason, has not been or cannot be
      moved to initcalls or early platform devices.
      
      This patch is required for the hwmod postsetup patch, which allows
      board files to change the state that hwmods should be placed into at
      the conclusion of the hwmod _setup() function.  For example, for a
      board whose creators wish to ensure watchdog coverage across the
      entire kernel boot process, code to change the watchdog's postsetup
      state will be added in the board-*.c file between the
      omap2_init_common_infrastructure() and omap2_init_common_devices() function
      calls.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Tony Lindgren <tony@atomide.com>
      4805734b
  31. 08 12月, 2010 1 次提交
    • V
      OMAP: GPIO: Implement GPIO as a platform device · 77640aab
      Varadarajan, Charulatha 提交于
      Implement GPIO as a platform device.
      
      GPIO APIs are used in machine_init functions. Hence it is
      required to complete GPIO probe before board_init. Therefore
      GPIO device register and driver register are implemented as
      postcore_initcalls.
      
      omap_gpio_init() does nothing now and this function would be
      removed in the next patch as it's usage is spread across most
      of the board files.
      
      Inorder to convert GPIO as platform device, modifications are
      required in clockxxxx_data.c file for OMAP1 so that device names
      can be used to obtain clock instead of getting clocks by
      name/NULL ptr.
      
      Use runtime pm APIs (pm_runtime_put*/pm_runtime_get*) for enabling
      or disabling the clocks, modify sysconfig settings and remove usage
      of clock FW APIs.
      Note 1: Converting GPIO driver to use runtime PM APIs is not done as a
      separate patch because GPIO clock names are different for various OMAPs
      and are different for some of the banks in the same CPU. This would need
      usage of cpu_is checks and bank id checks while using clock FW APIs in
      the gpio driver. Hence while making GPIO a platform driver framework,
      PM runtime APIs are used directly.
      
      Note 2: While implementing GPIO as a platform device, pm runtime APIs
      are used as mentioned above and modification is not done in gpio's
      prepare for idle/ resume after idle functions. This would be done
      in the next patch series and GPIO driver would be made to use dev_pm_ops
      instead of sysdev_class in that series only.
      
      Due to the above, the GPIO driver implicitly relies on
      CM_AUTOIDLE = 1 on its iclk for power management to work, since the
      driver never disables its iclk.
      This would be taken care in the next patch series (see Note 3 below).
      
      Refer to
      http://www.mail-archive.com/linux-omap@vger.kernel.org/msg39112.html
      for more details.
      
      Note 3: only pm_runtime_get_sync is called in gpio's probe() and
      pm_runtime_put* is never called. This is to make the implementation
      similar to the existing GPIO code. Another patch series would be sent
      to correct this.
      
      In OMAP3 and OMAP4 gpio's debounce clocks are optional clocks. They
      are enabled/ disabled whenever required using clock framework APIs
      
      TODO:
      1. Cleanup the GPIO driver. Use function pointers and register
      offest pointers instead of using hardcoded values
      2. Remove all cpu_is_ checks and OMAP specific macros
      3. Remove usage of gpio_bank array so that only
         instance specific information is used in driver code
      4. Rename 'method'/ avoid it's usage
      5. Fix the non-wakeup gpios handling for OMAP2430, OMAP3 & OMAP4
      6. Modify gpio's prepare for idle/ resume after idle functions
         to use runtime pm implentation.
      Signed-off-by: NCharulatha V <charu@ti.com>
      Signed-off-by: NRajendra Nayak <rnayak@ti.com>
      Reviewed-by: NBasak, Partha <p-basak2@ti.com>
      Acked-by: NKevin Hilman <khilman@deeprootsystems.com>
      [tony@atomide.com: updated for bank specific revision and updated boards]
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      77640aab