1. 09 11月, 2012 2 次提交
  2. 21 10月, 2012 1 次提交
  3. 19 10月, 2012 2 次提交
  4. 23 9月, 2012 1 次提交
    • R
      ARM: OMAP2+: clock: Remove all direct dereferencing of struct clk · 5dcc3b97
      Rajendra Nayak 提交于
      While we move to Common Clk Framework (CCF), direct deferencing of struct
      clk wouldn't be possible anymore. Hence get rid of all such instances
      in the current clock code and use macros/helpers similar to the ones that
      are provided by CCF.
      
      While here also concatenate some strings split across multiple lines
      which seem to be needed anyway.
      Signed-off-by: NRajendra Nayak <rnayak@ti.com>
      [paul@pwsan.com: simplified some compound expressions; reformatted some
       messages]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Mike Turquette <mturquette@linaro.org>
      5dcc3b97
  5. 13 9月, 2012 1 次提交
    • 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
  6. 12 9月, 2012 1 次提交
    • P
      ARM: OMAP: unwrap strings · 7852ec05
      Paul Walmsley 提交于
      Find and unwrap wrapped strings in the style:
      
      	pr_debug("clockdomain: hardware cannot set/clear wake up of "
      		 "%s when %s wakes up\n", clkdm1->name, clkdm2->name);
      
      Keeping these strings contiguous seems to be the current Linux kernel
      policy.
      
      The offending lines were found with the following command:
      
          pcregrep -rnM '"\s*$\s*"' arch/arm/*omap*
      
      While here, some messages have been clarified, some pr_warning(
      ... calls have been converted to pr_warn( ..., and some printk(KERN_*
      ... have been converted to pr_*.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      7852ec05
  7. 05 7月, 2012 1 次提交
  8. 08 5月, 2012 1 次提交
  9. 15 4月, 2012 1 次提交
  10. 14 12月, 2011 1 次提交
    • A
      ARM: OMAP: am33xx: Update common omap platform files · 99541195
      Afzal Mohammed 提交于
      This patch updates the common platform files with AM335X device
      support (AM33XX family).
      
      The approach taken in this patch is,
      AM33XX device will be considered as OMAP3 variant, and a separate
      SoC class created for AM33XX family of devices with a subclass type
      for AM335X device, which is newly added device in the family.
      
      This means, cpu_is_omap34xx(), cpu_is_am33xx() and cpu_is_am335x()
      checks will return success on AM335X device.
      A kernel config option CONFIG_SOC_OMAPAM33XX is added under OMAP3
      to include support for AM33XX build.
      
      Also, cpu_mask and RATE_IN_XXX flags have crossed 8 bit hence
      struct clksel_rate.flags, struct prcm_config.flags and cpu_mask
      are changed to u16 from u8.
      Signed-off-by: NAfzal Mohammed <afzal@ti.com>
      Signed-off-by: NVaibhav Hiremath <hvaibhav@ti.com>
      Cc: Hemant Pedanekar <hemantp@ti.com>
      [tony@atomide.com: left out CK_AM33XX for now]
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      99541195
  11. 10 7月, 2011 1 次提交
    • P
      OMAP2+: clock: allow per-SoC clock init code to prevent clockdomain calls from clock code · 12706c54
      Paul Walmsley 提交于
      The OMAP2/3 clock code was written to notify the clockdomain code when
      the first clock in a clockdomain is enabled and when the last enabled
      clock in a clockdomain is disabled.  OMAP4 requires a different
      approach: the hwmod code needs to signal the clockdomain code when to
      force-enable and auto-idle a clockdomain during the IP block enable
      process.  The current conjecture is that once that hwmod sequence is
      implemented, it will no longer be necessary for the clock code to call
      into the clockdomain code for "optional clocks" on OMAP4.
      
      Add a static flag to the OMAP2+ clock code, clkdm_control, that by
      default preserves the OMAP2/3 behavior.  Also add a function,
      omap2_clk_disable_clkdm_control(), intended to be called from OMAP4
      and beyond clock initcalls, that disables the old behavior.
      
      Part of this patch was originally based on a patch by Rajendra Nayak
      <rnayak@ti.com>.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Benoît Cousson <b-cousson@ti.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      
      
      12706c54
  12. 04 7月, 2011 1 次提交
  13. 11 3月, 2011 1 次提交
    • J
      perf: add OMAP support for the new power events · 5e7c58dc
      Jean Pihet 提交于
      The patch adds the new power management trace points for
      the OMAP architecture.
      
      The trace points are for:
      - default idle handler. Since the cpuidle framework is
        instrumented in the generic way there is no need to
        add trace points in the OMAP specific cpuidle handler;
      - SoC clocks changes (enable, disable, set_rate),
      - power domain states: the desired target state and -if different-
        the actually hit state.
      
      Because of the generic nature of the changes, OMAP3 and OMAP4 are supported.
      
      Tested on OMAP3 with suspend/resume, cpuidle, basic DVFS.
      Signed-off-by: NJean Pihet <j-pihet@ti.com>
      Acked-by: NPaul Walmsley <paul@pwsan.com>
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      5e7c58dc
  14. 26 2月, 2011 3 次提交
  15. 22 12月, 2010 2 次提交
  16. 09 10月, 2010 1 次提交
    • P
      OMAP2+: clock: reduce the amount of standard debugging while disabling unused clocks · 6041c27f
      Paul Walmsley 提交于
      Reduce the amount of debugging generated by default when unused clocks
      are being disabled by the clock code.  The previous code would only
      generate debug-level messages, but some people who wished to run
      production kernels with debug-level messages enabled reported that the
      large number of clock disable messages were slowing boot.  Now to
      enable clock-by-clock disable messages, DEBUG needs to be defined in
      mach-omap2/clock.c.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Tuukka Tikkanen <tuukka.tikkanen@nokia.com>
      Cc: Tim Bird <tim.bird@am.sony.com>
      6041c27f
  17. 21 5月, 2010 1 次提交
    • P
      OMAP2+ clock: clean up clkt_clksel.c · 435699db
      Paul Walmsley 提交于
      This patch cleans up arch/arm/mach-omap2/clkt_clksel.c.  It:
      
      - makes several functions static that are not called outside the file;
      
      - adds documentation;
      
      - makes some code paths easier to read (hopefully), by breaking up
        compound statements and removing redundant checks;
      
      - converts some pr_err()s that indicate clock tree data problems into WARN()s,
        so they are more likely to be noticed;
      
      - and moves omap2_clk_round_rate() back into mach-omap2/clock.c, its proper
        home, since it is not clksel-specific.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      435699db
  18. 25 2月, 2010 6 次提交
    • P
      OMAP2+ clock: revise omap2_clk_{disable,enable}() · 30962d9d
      Paul Walmsley 提交于
      Simplify the code in the omap2_clk_disable() and omap2_clk_enable()
      functions, reducing levels of indentation.  This makes the code easier
      to read.  Add some additional debugging pr_debug()s here also to help
      others understand what is going on.
      
      Revise the omap2_clk_disable() logic so that it now attempts to
      disable the clock's clockdomain before recursing up the clock tree.
      Simultaneously, ensure that omap2_clk_enable() is called on parent
      clocks first, before enabling the clockdomain.  This ensures that a
      parent clock's clockdomain is enabled before the child clock's
      clockdomain.  These sequences should be the inverse of each other.
      
      Revise the omap2_clk_enable() logic so that it now cleans up after
      itself upon encountering an error.  Previously, an error enabling a
      parent clock could have resulted in inconsistent usecounts on the
      enclosing clockdomain.
      
      Remove the trivial _omap2_clk_disable() and _omap2_clk_enable() static
      functions, and replace it with the clkops calls that they were
      executing.
      
      For all this to work, the clockdomain omap2_clkdm_clk_enable() and
      omap2_clkdm_clk_disable() code must not return an error on clockdomains
      without CLKSTCTRL registers; so modify those functions to simply return 0
      in that case.
      
      While here, add some basic kerneldoc documentation on both functions,
      and get rid of some old non-CodingStyle-compliant comments that have
      existed since the dawn of time (at least, the OMAP clock framework's
      time).
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Richard Woodruff <r-woodruff2@ti.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      30962d9d
    • P
      OMAP2/3 clock: combine OMAP2 & 3 boot-time MPU rate change code · 4d30e82c
      Paul Walmsley 提交于
      The OMAP2 and OMAP3 boot-time MPU rate change code is almost
      identical.  Merge them into mach-omap2/clock.c, and add kerneldoc
      documentation.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      4d30e82c
    • P
      OMAP2 clock: drop DELAYED_APP clock flag · 8c34974a
      Paul Walmsley 提交于
      All of the clocks that are marked with DELAYED_APP are changed as part
      of the virt_prcm_set OPP virtual clock.  On 24xx, these clocks all
      need to be changed as part of a group to keep the clock tree
      functional - hence the need for the VALID_CONFIG bit, which is not
      present on later OMAPs.  These clocks should not be rate-changed
      independently.  So prevent these clocks from being changed
      independently by dropping their .round_rate and .set_rate function
      pointers.  It then turns out that the DELAYED_APP clock flag is no
      longer useful, so drop it and the associated code and renumber the
      clock flags.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Richard Woodruff <r-woodruff2@ti.com>
      8c34974a
    • P
      OMAP3/4 clock: split into per-chip family files · 657ebfad
      Paul Walmsley 提交于
      clock34xx_data.c now contains data for the OMAP34xx family, the
      OMAP36xx family, and the OMAP3517 family, so rename it to
      clock3xxx_data.c.  Rename clock34xx.c to clock3xxx.c, and move the
      chip family-specific clock functions to clock34xx.c, clock36xx.c, or
      clock3517.c, as appropriate.  So now "clock3xxx.*" refers to the OMAP3
      superset.
      
      The main goal here is to prepare to compile chip family-specific clock
      functions only for kernel builds that target that chip family.  To get to
      that point, we also need to add CONFIG_SOC_* options for those other
      chip families; that will be done in future patches, planned for 2.6.35.
      
      OMAP4 is also affected by this.  It duplicated the OMAP3 non-CORE DPLL
      clkops structure.  The OMAP4 variant of this clkops structure has been
      removed, and since there was nothing else currently in clock44xx.c, it
      too has been removed -- it can always be added back later when there
      is some content for it.  (The OMAP4 clock autogeneration scripts have been
      updated accordingly.)
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Benoît Cousson <b-cousson@ti.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      Cc: Ranjith Lohithakshan <ranjithl@ti.com>
      Cc: Tony Lindgren <tony@atomide.com>
      657ebfad
    • P
      OMAP2 clock: drop CONFIG_PARTICIPANT clock flag · 1a337717
      Paul Walmsley 提交于
      It turns out that the only purpose of the CONFIG_PARTICIPANT clock
      flag is to prevent omap2_clk_set_rate() and omap2_clk_set_parent()
      from being executed on clocks with that flag set.  The rate-changing
      component can be more directly accomplished by dropping the .set_rate
      and .round_rate function pointers from those CONFIG_PARTICIPANT struct
      clks.  As far as the parent-changing component is concerned, it turns
      out that none of the CONFIG_PARTICIPANT clocks have multiple parent
      choices, so all that is necessary is for omap2_clk_set_parent() to
      bail out early if the new parent is equal to the old parent.
      Implement this change and get rid of the flag, which has always had a
      confusing name (it appears to be a Kconfig option, falsely).
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Richard Woodruff <r-woodruff2@ti.com>
      1a337717
    • R
      OMAP2/3 clock: Extend find_idlest() to pass back idle state value · 419cc97d
      Ranjith Lohithakshan 提交于
      Current implementation defines clock idle state indicators based on the
      cpu information (cpu_is_omap24xx() or cpu_is_omap34xx()) in a system wide
      manner. This patch extends the find_idlest() function in clkops to pass
      back the idle state indicator for that clock, thus allowing idle state
      indicators to be defined on a per clock basis if required.
      
      This is specifically needed on AM35xx devices as the new IPSS clocks
      indicates the idle status (0 is idle, 1 is ready) in a way just
      opposite to how its handled in OMAP3 (0 is ready, 1 is idle).
      Signed-off-by: NRanjith Lohithakshan <ranjithl@ti.com>
      [paul@pwsan.com: updated to apply after commit 98c45457 et seq.]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      419cc97d
  19. 27 1月, 2010 6 次提交
    • P
      OMAP2/3/4 clock: combine all omap2_clk_functions · 69ecefca
      Paul Walmsley 提交于
      The struct clk_functions for OMAP2, 3, and 4 are all essentially the
      same, so combine them.  This removes one multi-OMAP kernel impediment
      and saves memory on multi-OMAP builds.
      
      The stubs for omap2_clk_{init,exit}_cpufreq() code will removed once
      the OPP layer code that's currently in Kevin's PM branch is merged.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Kevin Hilman <khilman@deeprootsystems.com>
      69ecefca
    • P
      OMAP2 clock: move all static functions to the top of the file · 4b1f76ed
      Paul Walmsley 提交于
      Move static functions to the top of the file and ensure that their names
      are prefixed with an underscore to conform with the practice in the newer
      OMAP clock code files.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      4b1f76ed
    • P
      OMAP2/3/4 clock: move clksel clock functions into mach-omap2/clkt_clksel.c · df791b3e
      Paul Walmsley 提交于
      Move all clksel-related clock functions from mach-omap2/clock.c to
      mach-omap2/clkt_clksel.c.  This is intended to make the clock code
      easier to understand, since all of the functions needed to manage
      clksel clocks are now located in their own file, rather than being
      mixed with other, unrelated functions.
      
      Clock debugging is also now more finely-grained, since the DEBUG macro
      can now be defined for clksel clocks alon.  This should reduce
      unnecessary console noise when debugging.
      
      Also, if at some future point the mach-omap2/ directory is split
      into OMAP2/3/4 variants, this clkt file can be moved to the plat-omap/
      directory to be shared.
      
      Thanks to Alexander Shishkin <virtuoso@slind.org> for his comments to
      improve the patch description.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Alexander Shishkin <virtuoso@slind.org>
      df791b3e
    • P
      OMAP2/3/4 clock: move DPLL clock functions into mach-omap2/clkt_dpll.c · 0b96af68
      Paul Walmsley 提交于
      Move all DPLL-related clock functions from mach-omap2/clock.c to
      mach-omap2/clkt_dpll.c.  This is intended to make the clock code
      easier to understand, since all of the functions needed to manage
      DPLLs are now located in their own file, rather than being mixed with
      other, unrelated functions.
      
      Clock debugging is also now more finely-grained, since the DEBUG macro
      can now be defined for DPLLs alone.  This should reduce unnecessary
      console noise when debugging.
      
      Also, if at some future point the mach-omap2/ directory is split
      into OMAP2/3/4 variants, this clkt file can be moved to the plat-omap/
      directory to be shared.
      
      Thanks to Alexander Shishkin <virtuoso@slind.org> for his comments to
      improve the patch description.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Alexander Shishkin <virtuoso@slind.org>
      0b96af68
    • A
      ARM: OMAP4 clock framework: Remove the checks preventing OMAP4 clockdomain validation · bf985401
      Abhijit Pagare 提交于
      The clockdomain related code being in place, it is not necessary to have
      some part of the clock code commented out. This would help the validation of
      the clockdomain functions using the clock level interfaces.
      Signed-off-by: NAbhijit Pagare <abhijitpagare@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      bf985401
    • P
      OMAP clock: make the fixed divisor clock code available for all OMAPs · e9b98f60
      Paul Walmsley 提交于
      One of the OMAP1 clocks can use the fixed divisor recalculation code
      introduced in the OMAP2 clock code, so rename the
      omap2_fixed_divisor_recalc() function to omap_fixed_divisor_recalc()
      and make it available to all OMAPs.  A followup patch converts the OMAP1
      clock.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      e9b98f60
  20. 12 12月, 2009 3 次提交
  21. 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
  22. 03 9月, 2009 1 次提交
  23. 25 7月, 2009 1 次提交
    • P
      OMAP2/3 clock: split, rename omap2_wait_clock_ready() · 72350b29
      Paul Walmsley 提交于
      Some OMAP2/3 hardware modules have CM_IDLEST attributes that are not
      handled by the current omap2_wait_clock_ready() code.  In preparation
      for patches that fix the unusual devices, rename the function
      omap2_wait_clock_ready() to omap2_wait_module_ready() and split it
      into three parts:
      
      1. A clkops-specific companion clock return function (by default,
         omap2_clk_dflt_find_companion())
      
      2. A clkops-specific CM_IDLEST register address and bit shift return
         function (by default, omap2_clk_dflt_find_idlest())
      
      3. Code to wait for the CM to indicate that the module is ready
         (omap2_cm_wait_idlest())
      
      Clocks can now specify their own custom find_companion() and find_idlest()
      functions; used in subsequent patches.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      72350b29