1. 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
  2. 21 12月, 2010 1 次提交
  3. 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
  4. 05 10月, 2010 1 次提交
  5. 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
  6. 30 9月, 2010 1 次提交
  7. 28 9月, 2010 2 次提交
  8. 03 9月, 2010 1 次提交
  9. 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
  10. 04 8月, 2010 2 次提交
  11. 05 7月, 2010 2 次提交
  12. 21 5月, 2010 1 次提交
  13. 14 5月, 2010 1 次提交
  14. 11 5月, 2010 1 次提交
  15. 03 5月, 2010 1 次提交
  16. 30 4月, 2010 1 次提交
  17. 24 4月, 2010 1 次提交
  18. 24 2月, 2010 1 次提交
  19. 16 2月, 2010 2 次提交
  20. 12 12月, 2009 1 次提交
  21. 23 11月, 2009 3 次提交
  22. 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
  23. 25 9月, 2009 1 次提交
  24. 23 9月, 2009 2 次提交
  25. 29 8月, 2009 1 次提交
  26. 13 5月, 2009 1 次提交
  27. 24 4月, 2009 1 次提交
  28. 24 3月, 2009 3 次提交
  29. 09 2月, 2009 1 次提交