1. 09 3月, 2011 1 次提交
  2. 02 3月, 2011 3 次提交
    • K
      OMAP: adapt hsmmc to hwmod framework · 4621d5f8
      Kishore Kadiyala 提交于
      OMAP2420 platform consists of mmc block as in omap1 and not the
      hsmmc block as present in omap2430, omap3, omap4 platforms.
      Removing all base address macro defines except keeping one for OMAP2420 and
      adapting only hsmmc device registration and driver to hwmod framework.
      
      Changes involves:
      1) Remove controller reset in devices.c which is taken care of
         by hwmod framework.
      2) Using omap-device layer to register device and utilizing data from
         hwmod data file for base address, dma channel number, Irq_number,
         device attribute.
      3) Update the driver to use dev_attr to find whether controller
         supports dual volt cards
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Signed-off-by: NKishore Kadiyala <kishore.kadiyala@ti.com>
      Reviewed-by: NBalaji T K <balajitk@ti.com>
      Cc: Benoit Cousson <b-cousson@ti.com>
      CC: Kevin Hilman <khilman@deeprootsystems.com>
      Cc: Tony Lindgren <tony@atomide.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      4621d5f8
    • K
      OMAP: hsmmc: Move mux configuration to hsmmc.c · d8d0a61c
      Kishore Kadiyala 提交于
      Moving the definition of mux setting API from devices.c to hsmmc.c
      and renaming it from "omap2_mmc_mux" to "omap_hsmmc_mux".
      Also calling "omap_hsmmc_mux" from omap2_hsmmc_init.
      Signed-off-by: NKishore Kadiyala <kishore.kadiyala@ti.com>
      Cc: Chris Ball <cjb@laptop.org
      Cc: Tony Lindgren <tony@atomide.com
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      d8d0a61c
    • A
      omap: mmc: split out init for 2420 · e08016d0
      Anand Gadiyar 提交于
      The MMC controller on the OMAP2420 is different from those
      on the OMAP2430, OMAP3 and OMAP4 families - all of the latter
      are identical. The one on the OMAP2420 is closer to that
      on OMAP1 chips.
      
      Currently, the n8x0 is the only OMAP2420 platform supported
      in mainline which registers the MMC controller. Upcoming
      changes to register the controllers using hwmod data are
      potentially invasive. To reduce the risk, separate out the
      2420 controller registration from the common init function
      and update its only user. Also seperating out mux settings
      for OMAP2420.
      Signed-off-by: NAnand Gadiyar <gadiyar@ti.com>
      Signed-off-by: NKishore Kadiyala <kishore.kadiyala@ti.com>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Madhusudhan Chikkature <madhu.cr@ti.com>
      Cc: Chris Ball <cjb@laptop.org>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      e08016d0
  3. 25 2月, 2011 1 次提交
  4. 18 2月, 2011 2 次提交
  5. 28 1月, 2011 1 次提交
  6. 07 1月, 2011 1 次提交
    • N
      omap2+: wdt: trivial sparse fixes · a9b365bd
      Nishanth Menon 提交于
      omap2_wd_timer_disable is declared in wdtimer.h and used by hwmod
      function pointers for usage, the header inclusion is necessary
      to ensure that the prototype and function remains consistent.
      omap_wdt_latency is passed as a pointer and does not need global scope
      
      Fixes sparse warnings:
      arch/arm/mach-omap2/devices.c:981:31: warning: symbol 'omap_wdt_latency' was not declared. Should it be static?
      arch/arm/mach-omap2/wd_timer.c:27:5: warning: symbol 'omap2_wd_timer_disable' was not declared. Should it be static?
      Signed-off-by: NNishanth Menon <nm@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      a9b365bd
  7. 22 12月, 2010 2 次提交
    • P
      OMAP2+: wd_timer: disable on boot via hwmod postsetup mechanism · ff2516fb
      Paul Walmsley 提交于
      The OMAP watchdog timer IP blocks require a specific set of register
      writes to occur before they will be disabled[1], even if the device
      clocks appear to be disabled in the CM_*CLKEN registers.  In the MPU
      watchdog case, failure to execute this reset sequence will eventually
      cause the watchdog to reset the OMAP unexpectedly.
      
      Previously, the code to disable this watchdog was manually called from
      mach-omap2/devices.c during device initialization.  This causes the
      watchdog to be unconditionally disabled for a portion of kernel
      initialization.  This should be controllable by the board-*.c files,
      since some system integrators will want full watchdog coverage of
      kernel initialization.  Also, the watchdog disable code was not
      connected to the hwmod shutdown code.  This means that calling
      omap_hwmod_shutdown() will not, in fact, disable the watchdog, and the
      goal of omap_hwmod_shutdown() is to be able to shutdown any on-chip
      OMAP device.
      
      To resolve the latter problem, populate the pre_shutdown pointer in
      the watchdog timer hwmod classes with a function that executes the
      watchdog shutdown sequence.  This allows the hwmod code to fully
      disable the watchdog.
      
      Then, to allow some board files to support watchdog coverage
      throughout kernel initialization, add common code to mach-omap2/io.c
      to cause the MPU watchdog to be disabled on boot unless a board file
      specifically requests it to remain enabled.  Board files can do this
      by changing the watchdog timer hwmod's postsetup state between the
      omap2_init_common_infrastructure() and omap2_init_common_devices()
      function calls.
      
      1. OMAP34xx Multimedia Device Silicon Revision 3.1.x Rev. ZH
         [SWPU222H], Section 16.4.3.6, "Start/Stop Sequence for WDTs (Using
         WDTi.WSPR Register)"
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Benoît Cousson <b-cousson@ti.com>
      Cc: Kevin Hilman <khilman@deeprootsystems.com>
      Cc: Charulatha Varadarajan <charu@ti.com>
      ff2516fb
    • P
      OMAP2+: wd_timer: separate watchdog disable code from the rest of mach-omap2/devices.c · 81fbc5ef
      Paul Walmsley 提交于
      Split the wd_timer disable code out into its own file,
      mach-omap2/wd_timer.c; it belongs in its own file rather than
      cluttering up devices.c.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Charulatha Varadarajan <charu@ti.com>
      81fbc5ef
  8. 21 12月, 2010 1 次提交
  9. 09 10月, 2010 2 次提交
    • P
      OMAP: control: move plat-omap/control.h to mach-omap2/control.h · 4814ced5
      Paul Walmsley 提交于
      Only OMAP2+ platforms have the System Control Module (SCM) IP block.
      In the past, we've kept the SCM header file in plat-omap.  This has
      led to abuse - device drivers including it; includes being added that
      create implicit dependencies on OMAP2+ builds; etc.
      
      In response, move the SCM headers into mach-omap2/.
      
      As part of this, remove the direct SCM access from the OMAP UDC
      driver.  It was clearly broken.  The UDC code needs an indepth review for
      use on OMAP2+ chips.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Cory Maccarrone <darkstar6262@gmail.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      4814ced5
    • C
      OMAP2PLUS: WDT: Fix: Disable WDT after reset during init · 20252d46
      Charulatha V 提交于
      Inorder to avoid any assumptions from bootloader, the watchdog
      timer module is reset during init. This enables the watchdog
      timer.
      
      Therefore, it is required to disable WDT after it is reset
      during init. Otherwise the system would reboot as per the default
      watchdog timer registers settings.
      
      Later, when the watchdog driver is loaded, the watchdog timer settings
      is adjusted as per the default timer_margin set in the driver and the
      driver would supports the normal operations supported by OMAP watchdog
      timer.
      Signed-off-by: NCharulatha V <charu@ti.com>
      Reported-by: NKevin Hilman <khilman@deeprootsystems.com>
      Acked-by: NKevin Hilman <khilman@deeprootsystems.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      20252d46
  10. 05 10月, 2010 1 次提交
  11. 02 10月, 2010 1 次提交
    • K
      omap4 hsmmc: Register offset handling · 91a0b089
      kishore kadiyala 提交于
      In OMAP4, as per new PM programming model, the legacy registers
      which were there in OMAP3 are all shifted by 0x100 while new one's
      are added from offset 0 to 0x10.
      For OMAP4, the register offset appending of 0x100 done in devices.c
      currently, is moved to driver file.This change fits in for current
      implementation as well as once the driver undergoes hwmod adaptation.
      
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Madhusudhan Chikkature <madhu.cr@ti.com>
      Cc: Adrian Hunter <adrian.hunter@nokia.com>
      Cc: Benoit Cousson <b-cousson@ti.com>
      Signed-off-by: NKishore Kadiyala <kishore.kadiyala@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      91a0b089
  12. 30 9月, 2010 1 次提交
  13. 28 9月, 2010 2 次提交
  14. 03 9月, 2010 1 次提交
  15. 12 8月, 2010 1 次提交
    • L
      ASoC: multi-component - ASoC Multi-Component Support · f0fba2ad
      Liam Girdwood 提交于
      This patch extends the ASoC API to allow sound cards to have more than one
      CODEC and more than one platform DMA controller. This is achieved by dividing
      some current ASoC structures that contain both driver data and device data into
      structures that only either contain device data or driver data. i.e.
      
       struct snd_soc_codec    --->  struct snd_soc_codec (device data)
                                +->  struct snd_soc_codec_driver (driver data)
      
       struct snd_soc_platform --->  struct snd_soc_platform (device data)
                                +->  struct snd_soc_platform_driver (driver data)
      
       struct snd_soc_dai      --->  struct snd_soc_dai (device data)
                                +->  struct snd_soc_dai_driver (driver data)
      
       struct snd_soc_device   --->  deleted
      
      This now allows ASoC to be more tightly aligned with the Linux driver model and
      also means that every ASoC codec, platform and (platform) DAI is a kernel
      device. ASoC component private data is now stored as device private data.
      
      The ASoC sound card struct snd_soc_card has also been updated to store lists
      of it's components rather than a pointer to a codec and platform. The PCM
      runtime struct soc_pcm_runtime now has pointers to all its components.
      
      This patch adds DAPM support for ASoC multi-component and removes struct
      snd_soc_socdev from DAPM core. All DAPM calls are now made on a card, codec
      or runtime PCM level basis rather than using snd_soc_socdev.
      
      Other notable multi-component changes:-
      
       * Stream operations now de-reference less structures.
       * close_delayed work() now runs on a DAI basis rather than looping all DAIs
         in a card.
       * PM suspend()/resume() operations can now handle N CODECs and Platforms
         per sound card.
       * Added soc_bind_dai_link() to bind the component devices to the sound card.
       * Added soc_dai_link_probe() and soc_dai_link_remove() to probe and remove
         DAI link components.
       * sysfs entries can now be registered per component per card.
       * snd_soc_new_pcms() functionailty rolled into dai_link_probe().
       * snd_soc_register_codec() now does all the codec list and mutex init.
      
      This patch changes the probe() and remove() of the CODEC drivers as follows:-
      
       o Make CODEC driver a platform driver
       o Moved all struct snd_soc_codec list, mutex, etc initialiasation to core.
       o Removed all static codec pointers (drivers now support > 1 codec dev)
       o snd_soc_register_pcms() now done by core.
       o snd_soc_register_dai() folded into snd_soc_register_codec().
      
      CS4270 portions:
      Acked-by: NTimur Tabi <timur@freescale.com>
      
      Some TLV320aic23 and Cirrus platform fixes.
      Signed-off-by: NRyan Mallon <ryan@bluewatersys.com>
      
      TI CODEC and OMAP fixes
      Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@nokia.com>
      Signed-off-by: NJanusz Krzysztofik <jkrzyszt@tis.icnet.pl>
      Signed-off-by: NJarkko Nikula <jhnikula@gmail.com>
      
      Samsung platform and misc fixes :-
      Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
      Signed-off-by: NJoonyoung Shim <jy0922.shim@samsung.com>
      Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com>
      Reviewed-by: NJassi Brar <jassi.brar@samsung.com>
      Signed-off-by: NSeungwhan Youn <sw.youn@samsung.com>
      
      MPC8610 and PPC fixes.
      Signed-off-by: NTimur Tabi <timur@freescale.com>
      
      i.MX fixes and some core fixes.
      Signed-off-by: NSascha Hauer <s.hauer@pengutronix.de>
      
      J4740 platform fixes:-
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      
      CC: Tony Lindgren <tony@atomide.com>
      CC: Nicolas Ferre <nicolas.ferre@atmel.com>
      CC: Kevin Hilman <khilman@deeprootsystems.com>
      CC: Sascha Hauer <s.hauer@pengutronix.de>
      CC: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
      CC: Kuninori Morimoto <morimoto.kuninori@renesas.com>
      CC: Daniel Gloeckner <dg@emlix.com>
      CC: Manuel Lauss <mano@roarinelk.homelinux.net>
      CC: Mike Frysinger <vapier.adi@gmail.com>
      CC: Arnaud Patard <apatard@mandriva.com>
      CC: Wan ZongShun <mcuos.com@gmail.com>
      Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Signed-off-by: NLiam Girdwood <lrg@slimlogic.co.uk>
      f0fba2ad
  16. 04 8月, 2010 2 次提交
  17. 05 7月, 2010 2 次提交
  18. 21 5月, 2010 1 次提交
  19. 14 5月, 2010 1 次提交
  20. 11 5月, 2010 1 次提交
  21. 03 5月, 2010 1 次提交
  22. 30 4月, 2010 1 次提交
  23. 24 4月, 2010 1 次提交
  24. 24 2月, 2010 1 次提交
  25. 16 2月, 2010 2 次提交
  26. 12 12月, 2009 1 次提交
  27. 23 11月, 2009 3 次提交
  28. 21 10月, 2009 1 次提交
    • T
      omap: headers: Move remaining headers from include/mach to include/plat · ce491cf8
      Tony Lindgren 提交于
      Move the remaining headers under plat-omap/include/mach
      to plat-omap/include/plat. Also search and replace the
      files using these headers to include using the right path.
      
      This was done with:
      
      #!/bin/bash
      mach_dir_old="arch/arm/plat-omap/include/mach"
      plat_dir_new="arch/arm/plat-omap/include/plat"
      headers=$(cd $mach_dir_old && ls *.h)
      omap_dirs="arch/arm/*omap*/ \
      drivers/video/omap \
      sound/soc/omap"
      other_files="drivers/leds/leds-ams-delta.c \
      drivers/mfd/menelaus.c \
      drivers/mfd/twl4030-core.c \
      drivers/mtd/nand/ams-delta.c"
      
      for header in $headers; do
      	old="#include <mach\/$header"
      	new="#include <plat\/$header"
      	for dir in $omap_dirs; do
      		find $dir -type f -name \*.[chS] | \
      			xargs sed -i "s/$old/$new/"
      	done
      	find drivers/ -type f -name \*omap*.[chS] | \
      		xargs sed -i "s/$old/$new/"
      	for file in $other_files; do
      		sed -i "s/$old/$new/" $file
      	done
      done
      
      for header in $(ls $mach_dir_old/*.h); do
      	git mv $header $plat_dir_new/
      done
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      ce491cf8
  29. 25 9月, 2009 1 次提交