1. 29 Jan, 2010 12 commits
    • Rajendra Nayak's avatar
      OMAP4: PRCM: Define shift macros as n instead of 1 << n · 56ef28ac
      Rajendra Nayak authored
      The macros defining the shift bits in registers for various
      register bit fields are defined as 1 << n.
      Instead define them as n. They can then be used as val << n.
      The changes are generated by updating the script which autogenerates
      the files modifed in the patch.
      Signed-off-by: default avatarRajendra Nayak <rnayak@ti.com>
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      56ef28ac
    • Paul Walmsley's avatar
      OMAP2/3/4 clock: rename and clean the omap2_clk_init() functions · e80a9729
      Paul Walmsley authored
      Rename the omap2_clk_init() in the OMAP2, 3, and 4 clock code to be
      omap2xxx_clk_init(), omap3xxx_clk_init(), etc.  Remove all traces of
      the (commented) old virt_prcm_set code from omap3xxx_clk_init() and
      omap4xxx_clk_init(), since this will be handled with the OPP code that
      is cooking in the PM branch.
      
      After this patch, there should be very little else in the clock code
      that blocks a multi-OMAP 2+3 kernel.  (OMAP2420+OMAP2430 still has some
      outstanding issues that need to be resolved; this is pending on some
      additions to the hwmod data.)
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      e80a9729
    • Paul Walmsley's avatar
      OMAP clock: resolve all remaining sparse warnings · d3730192
      Paul Walmsley authored
      Resolve all remaining sparse warnings in the OMAP clock code.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      d3730192
    • Paul Walmsley's avatar
      OMAP3 DPLL: reorganize static functions · 60c3f651
      Paul Walmsley authored
      Move all static functions up to the top of the file to match the
      practice in other OMAP clock code.  Make omap3_noncore_dpll_program()
      static (noted by sparse) and prepend an underscore to the function
      name to mark that it is file-local.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      60c3f651
    • Paul Walmsley's avatar
      OMAP2/3/4 clock: omap2_clk_prepare_for_reboot() is OMAP2xxx-only · feec1277
      Paul Walmsley authored
      omap2_clk_prepare_for_reboot() is only applicable to OMAP2xxx chips,
      so rename it to omap2xxx_clk_prepare_for_reboot() and only call it when
      running on OMAP2xxx chips.  Remove the old stub in the OMAP3 clock code.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      feec1277
    • Paul Walmsley's avatar
      OMAP2/3 clock: remove unnecessary includes and clean up header · da4d2904
      Paul Walmsley authored
      Now that almost all of the code has been removed from clock2xxx.c and
      clock34xx.c, many of the includes are now unnecessary and can be removed.
      While we're here, standardize the initial comment blocks.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: Richard Woodruff <r-woodruff2@ti.com>
      Cc: Jouni Högander <jouni.hogander@nokia.com>
      da4d2904
    • Paul Walmsley's avatar
      OMAP2/3 clock: clean up omap*_clk_arch_init() · 4680c29f
      Paul Walmsley authored
      In the OMAP3xxx clock code, remove the #ifdef CONFIG_ARCH_OMAP3 in
      clock34xx.c, since this file is only compiled for OMAP3xxx builds.  Also,
      rename omap2_clk_arch_init in this file to omap3xxx_clk_arch_init() to
      pave the way for multi-OMAP kernels.  Ensure that it is not executed
      on non-OMAP3xxx systems.
      
      In the OMAP2xxx clock code, rename omap2_clk_arch_init in this file to
      omap2xxx_clk_arch_init() to pave the way for multi-OMAP kernels.
      Ensure that it is not executed on non-OMAP2xxx systems.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      4680c29f
    • Paul Walmsley's avatar
      OMAP3 clock: split out DPLL3 M2 divider functions into mach-omap2/clkt34xx_dpll3m2.c · 35e424e2
      Paul Walmsley authored
      Split the DPLL3 M2 divider clock functions out of clock34xx.c and move
      them into mach-omap2/clkt34xx_dpll3m2.c. This is intended to make the
      clock code easier to understand, since all of the functions needed to
      manage the OMAP3 DPLL3 M2 divider 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 the DPLL3 M2 clock alone.  This should reduce
      unnecessary console noise when debugging DVFS.
      
      Also, if at some future point the mach-omap2/ directory is split
      into OMAP2/3/4 variants, this clkt file can be placed in the mach-omap34xx/
      directory, rather than shared with other chip types that don't use this
      clock type.
      
      This patch also lays the groundwork to skip compilation of this
      code on OMAP3 chips that don't support DVFS (e.g., AM35xx) via
      the Makefile, rather than via #ifdefs.
      
      Thanks to Alexander Shishkin <virtuoso@slind.org> for his comments to
      improve the patch description.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: Jouni Högander <jouni.hogander@nokia.com>
      Cc: Alexander Shishkin <virtuoso@slind.org>
      35e424e2
    • Paul Walmsley's avatar
      OMAP2 clock: don't compile OMAP2430-only functions on non-2430 builds · 6ebe0d88
      Paul Walmsley authored
      omap2430_clk_i2chs_find_idlest() doesn't need to be compiled in on
      non-2430 builds, so skip it in those cases to save memory.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      6ebe0d88
    • Paul Walmsley's avatar
      OMAP2xxx clock: move sys_clk code into mach-omap2/clkt2xxx_sys.c · 44da0a51
      Paul Walmsley authored
      Move the sys_clk clock functions from clock2xxx.c to
      mach-omap2/clkt2xxx_sys.c.  This is intended to make the clock code
      easier to understand, since all of the functions needed to manage the
      sys_clk 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 the sys_clk clock 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 placed in the mach-omap2xxx/
      directory, rather than shared with other chip types that don't use
      this clock type.
      
      Thanks to Alexander Shishkin <virtuoso@slind.org> for his comments to
      improve the patch description.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: Alexander Shishkin <virtuoso@slind.org>
      44da0a51
    • Paul Walmsley's avatar
      OMAP2xxx clock: move osc_clk code into mach-omap2/clkt2xxx_osc.c · 87a1b26c
      Paul Walmsley authored
      Move the osc_clk clock functions from clock2xxx.c to
      mach-omap2/clkt2xxx_osc.  This is intended to make the clock code
      easier to understand, since all of the functions needed to manage the
      osc_clk 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 osc_clk clocks 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 placed in the mach-omap2xxx/
      directory, rather than shared with other chip types that don't use this
      clock type.
      
      Thanks to Alexander Shishkin <virtuoso@slind.org> for his comments to
      improve the patch description.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: Alexander Shishkin <virtuoso@slind.org>
      87a1b26c
    • Paul Walmsley's avatar
      OMAP2xxx clock: move the APLL clock code into mach-omap2/clkt2xxx_apll.c · 49214640
      Paul Walmsley authored
      Move the APLL-related clock functions from clock2xxx.c to
      mach-omap2/clkt2xxx_apll.c.  This is intended to make the clock code
      easier to understand, since all of the functions needed to manage APLLs
      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 APLL clocks 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 placed in the mach-omap2xxx/
      directory, rather than shared with other chip types that don't use this
      clock type.
      
      Thanks to Alexander Shishkin <virtuoso@slind.org> for his comments to
      improve the patch description.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: Richard Woodruff <r-woodruff2@ti.com>
      Cc: Alexander Shishkin <virtuoso@slind.org>
      49214640
  2. 27 Jan, 2010 28 commits
    • Paul Walmsley's avatar
      OMAP2xxx clock: move the DVFS virtual clock code into mach-omap2/clkt2xxx_virt_prcm_set.c · 734f69a7
      Paul Walmsley authored
      Move the DVFS virtual clock functions from clock2xxx.c to
      mach-omap2/clkt2xxx_virt_prcm_set.c.  This is intended to make the
      clock code easier to understand, since all of the functions needed to
      manage the virt_prcm_set clock 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 the virt_prcm_set clock 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 placed in the mach-omap2xxx/
      directory, rather than shared with other chip types that don't use
      this clock type.
      
      Thanks to Alexander Shishkin <virtuoso@slind.org> for his comments.
      Thanks also to Kevin Hilman <khilman@deeprootsystems.com> for finding
      and fixing a bug with the CONFIG_CPU_FREQ portion of this patch.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: Richard Woodruff <r-woodruff2@ti.com>
      Cc: Alexander Shishkin <virtuoso@slind.org>
      Cc: Kevin Hilman <khilman@deeprootsystems.com>
      734f69a7
    • Paul Walmsley's avatar
      OMAP2xxx clock: move the DPLL+CORE composite clock code into mach-omap2/clkt2xxx_dpllcore.c · b1823d86
      Paul Walmsley authored
      Move the DPLL+CORE composite clock functions from clock2xxx.c to
      mach-omap2/clkt2xxx_dpllcore.c.  This is intended to make the clock
      code easier to understand, since all of the functions needed to manage
      the OMAP2 DPLL+CORE clock 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 the DPLL+CORE clock 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 placed in the mach-omap2xxx/
      directory, rather than shared with other chip types that don't use this
      clock type.
      
      Thanks to Alexander Shishkin <virtuoso@slind.org> for his comments to
      improve the patch description.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: Richard Woodruff <r-woodruff2@ti.com>
      Cc: Alexander Shishkin <virtuoso@slind.org>
      b1823d86
    • Paul Walmsley's avatar
      OMAP2/3/4 clock: combine all omap2_clk_functions · 69ecefca
      Paul Walmsley authored
      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: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: Kevin Hilman <khilman@deeprootsystems.com>
      69ecefca
    • Paul Walmsley's avatar
      OMAP2 clock: move all static functions to the top of the file · 4b1f76ed
      Paul Walmsley authored
      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: default avatarPaul Walmsley <paul@pwsan.com>
      4b1f76ed
    • Paul Walmsley's avatar
      OMAP2/3/4 clock: move clksel clock functions into mach-omap2/clkt_clksel.c · df791b3e
      Paul Walmsley authored
      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: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: Alexander Shishkin <virtuoso@slind.org>
      df791b3e
    • Paul Walmsley's avatar
      OMAP2/3/4 clock: move DPLL clock functions into mach-omap2/clkt_dpll.c · 0b96af68
      Paul Walmsley authored
      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: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: Alexander Shishkin <virtuoso@slind.org>
      0b96af68
    • Paul Walmsley's avatar
      OMAP3 clock: move OMAP3-specific DPLL functions to dpll3xxx.c · 98c45457
      Paul Walmsley authored
      Mark the OMAP3-specific DPLL functions as being OMAP3-specific by moving
      them from mach-omap2/dpll.c to mach-omap2/dpll3xxx.c.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      98c45457
    • Kevin Hilman's avatar
      OMAP: hwmod: add API for slave idlemode setting · 46273e6f
      Kevin Hilman authored
      Some HW blocks have errata which requires specific slave idle mode
      under certain conditions.
      
      This patch adds an hwmod API to allow setting slave idlemode
      ensuring that any SYSCONFIG register updates go through hwmod.
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      46273e6f
    • Kevin Hilman's avatar
      OMAP: omap_device: optionally auto-adjust device activate/deactivate latencies · 9799aca2
      Kevin Hilman authored
      First, this patch adds new worst-case latency values to the
      omap_device_pm_latency struct.  Here the worst-case measured latencies
      for the activate and deactivate hooks are stored.
      
      In addition, add an option to auto-adjust the latency values used for
      device activate/deactivate.
      
      By setting a new 'OMAP_DEVICE_LATENCY_AUTO_ADJUST' flag in the
      omap_device_pm_latency struct, the omap_device layer automatically
      adjusts the activate/deactivate latencies to the worst-case measured
      values.
      
      Anytime a new worst-case value is found, it is printed to the console.
      Here is an example log during boot using UART2 s an example.  After
      boot, the OPP is manually changed to the 125MHz OPP:
      
      [...]
      Freeing init memory: 128K
      omap_device: serial8250.2: new worst case deactivate latency 0: 30517
      omap_device: serial8250.2: new worst case activate latency 0: 30517
      omap_device: serial8250.2: new worst case activate latency 0: 218139648
      omap_device: serial8250.2: new worst case deactivate latency 0: 61035
      omap_device: serial8250.2: new worst case activate latency 0: 278076171
      omap_device: serial8250.2: new worst case activate latency 0: 298614501
      omap_device: serial8250.2: new worst case activate latency 0: 327331542
      
      / # echo 125000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
      
      omap_device: serial8250.2: new worst case deactivate latency 0: 91552
      
      Motivation: this can be used as a technique to automatically determine
      the worst case latency values.  The current method of printing a
      warning on every violation is too noisy to actually interact the
      console in order to set low OPP to discover latencies.
      
      Another motivation for this patch is that the activate/deactivate
      latenices can vary depending on the idlemode of the device.  While
      working on the UARTs, I noticed that when using no-idle, the activate
      latencies were as high as several hundred msecs as shown above.  When
      the UARTs are in smart-idle, the max latency is well under 100 usecs.
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      9799aca2
    • Paul Walmsley's avatar
      OMAP clockdomain/powerdomain: improve documentation · f0271d65
      Paul Walmsley authored
      This patch only affects documentation; no functional changes are
      included.
      
      Clean up comments in the current clockdomain, powerdomain code and
      header files.  This mostly involves conversion to kerneldoc format,
      although some clarifications are also included.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      f0271d65
    • Paul Walmsley's avatar
      OMAP powerdomain: remove pwrdm_clk_state_switch · 915aad89
      Paul Walmsley authored
      Nothing calls pwrdm_clk_state_switch(), and the function that seems to be
      its ideal use case calls pwrdm_clkdm_state_switch(clk->clkdm), so remove it.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: Tero Kristo <tero.kristo@nokia.com>
      Cc: Kevin Hilman <khilman@deeprootsystems.com>
      915aad89
    • Paul Walmsley's avatar
      OMAP powerdomain: rearrange struct powerdomain to save some memory · e0594b44
      Paul Walmsley authored
      This patch rearranges the order of structure members in struct powerdomain
      to avoid wasting memory due to alignment restrictions.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      e0594b44
    • Paul Walmsley's avatar
      OMAP powerdomain/PM: use symbolic constants for the max number of power states · cf57aa7c
      Paul Walmsley authored
      Replace some bare constants with symbolic constants.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: Kevin Hilman <khilman@deeprootsystems.com>
      cf57aa7c
    • Paul Walmsley's avatar
      OMAP clockdomains: add usecounting for wakeup and sleep dependencies · 369d5614
      Paul Walmsley authored
      Add usecounting for wakeup and sleep dependencies.  In the current
      situation, if several functions add dependencies on the same
      clockdomains, when the first dependency removal function is called,
      the dependency will be incorrectly removed from the hardware.
      
      Add clkdm_clear_all_wkdeps() and clkdm_clear_all_sleepdeps(), which
      provide a fast and usecounting-consistent way to clear all hardware
      clockdomain dependencies, since accesses to these registers can be
      quite slow.  pm{2,3}4xx.c has been updated to use these new functions.
      The original version of this patch did not touch these files, which
      previously wrote directly to the wkdep registers, and thus confused
      the usecounting code.  This problem was found by Kevin Hilman
      <khilman@deeprootsystems.com>.
      
      N.B.: This patch introduces one significant functional difference over
      the previous pm34xx.c code: sleepdeps are now cleared during
      clockdomain initialization, whereas previously they were left
      untouched.  This has been tested by Kevin and confirmed to work.
      
      The original version of this patch also did not take into
      consideration that some clockdomains do not have sleep or wakeup
      dependency sources, which caused NULL pointer dereferences.  This
      problem was debugged and fixed by Kevin Hilman
      <khilman@deeprootsystems.com>.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      Cc: Jouni Högander <jouni.hogander@nokia.com>
      369d5614
    • Paul Walmsley's avatar
      OMAP clockdomain/powerdomain: remove runtime register/unregister · e909d62a
      Paul Walmsley authored
      OMAP clockdomains and powerdomains are currently defined statically,
      only registered at boot, and never unregistered, so we can remove the
      unregister function and the locking.   A variant of this was originally
      suggested a while ago by Dmitry Baryshkov <dbaryshkov@gmail.com>.
      This version of this patch contains an additional fix from Kevin Hilman
      <khilman@deeprootsystems.com> to address one of the pwrdm_for_each_nolock()
      users in mach-omap2/pm-debug.c.   Thanks Kevin.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: Dmitry Baryshkov <dbaryshkov@gmail.com>
      Cc: Kevin Hilman <khilman@deeprootsystems.com>
      e909d62a
    • Paul Walmsley's avatar
      OMAP2 clockdomain: modem clockdomain is only present on OMAP2430 · 3d309cde
      Paul Walmsley authored
      For some reason, previously, we included the MDM clockdomain on all 24xx,
      but the stacked die-on-die modem configuration (chassis mode) is only
      available on OMAP2430.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      3d309cde
    • Paul Walmsley's avatar
      OMAP2/3 clockdomains: split shared structures so usecounting works · a2601700
      Paul Walmsley authored
      Previously some of the clockdomain wakeup/sleep dependency structures
      were shared between several domains.  For the subsequent wakeup and sleep
      dependency usecounting patch to work, these can no longer be
      shared.  This patch splits the shared structures apart.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      a2601700
    • Paul Walmsley's avatar
      OMAP2/3 clkdm/pwrdm: move wkdep/sleepdep handling from pwrdm to clkdm · 55ed9694
      Paul Walmsley authored
      Move clockdomain wakeup dependency and sleep dependency data
      structures from the powerdomain layer to the clockdomain layer, where
      they belong.  These dependencies were originally placed in the
      powerdomain layer due to unclear documentation; however, it is clear
      now that these dependencies are between clockdomains.  For OMAP2/3,
      this is not such a big problem, but for OMAP4 this needs to be fixed.
      
      Thanks to Benoît Cousson <b-cousson@ti.com> for his advice on this
      patch.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: Benoît Cousson <b-cousson@ti.com>
      55ed9694
    • Abhijit Pagare's avatar
      ARM: OMAP4 clock domains : Add the missing Clock Domain Structure · 6b04e0d9
      Abhijit Pagare authored
      One of the clock domains was missing from the auto-generated file.
      It has been added here.
      Signed-off-by: default avatarAbhijit Pagare <abhijitpagare@ti.com>
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      6b04e0d9
    • Abhijit Pagare's avatar
      ARM: OMAP4 clock framework: Remove the checks preventing OMAP4 clockdomain validation · bf985401
      Abhijit Pagare authored
      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: default avatarAbhijit Pagare <abhijitpagare@ti.com>
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      bf985401
    • Paul Walmsley's avatar
      OMAP1 clock: convert armwdt_ck to use the fixed divisor recalc function · 0dfc242f
      Paul Walmsley authored
      The armwdt_ck clock uses a fixed divisor, so it can use the OMAP clock
      fixed divisor recalculation code, rather than a custom function.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      0dfc242f
    • Paul Walmsley's avatar
      OMAP clock: make the fixed divisor clock code available for all OMAPs · e9b98f60
      Paul Walmsley authored
      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: default avatarPaul Walmsley <paul@pwsan.com>
      e9b98f60
    • Ranjith Lohithakshan's avatar
      AM35xx: Clock table updates for AM3505/17 · ced82529
      Ranjith Lohithakshan authored
      AM3505/17 though a OMAP3530 derivative have the following
      main differences
      
      	- Removal of the following OMAP3 modules
      		- IVA
      		- ISP/CAM
      		- Modem and D2D components (MAD2D, SAD2D)
      		- USIM
      		- SSI
      		- Mailboxes
      		- USB OTG
      		- ICR
      		- MSPRO
      		- SmartReflex
      	- SDRC replaced with EMIF4 Controller in the SDRC subsystem
      	  thus adding support for DDR2 memory devices
      	- Addition of the following new modules
      		- Ethernet MAC (CPGMAC)
      		- CAN Controller (HECC)
      		- New USB OTG Controller with integrated Phy
      		- Video Processing Front End (VPFE)
      		- Additional UART (UART4)
      	- All security accelerators disabled on GP devices and not to
      	  be accessed or configured
      
      This patch defines CPU flags for AM3505/17 and update the clock table.
      Clock support for new modules will be added by subsequent patches.
      Signed-off-by: default avatarRanjith Lohithakshan <ranjithl@ti.com>
      [paul@pwsan.com: updated for 2.6.34 clock layout]
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      ced82529
    • Paul Walmsley's avatar
      OMAP3 clock: reorganize CK_* platform flags · 2c8a177e
      Paul Walmsley authored
      Add CK_* flags for the two new Sitara chips, AM3505 and AM3517, and
      the OMAP34xx die shrink, OMAP36xx/OMAP37xx.  Introduce a new CK_*
      flag, CK_3XXX, that marks all clocks that are common to OMAP3 family
      chips.  CK_343X now refers to clocks that are available only on
      OMAP34{1,2,3,4}0 (WTBU) and OMAP35{03,15,25,30} (any version).
      At some point, the RATE_IN_* flags should be updated also.
      
      While here, add some documentation describing the chip families
      covered by these clock flags.
      
      This patch is partially based on patches from Ranjith Lohithakshan
      <ranjithl@ti.com> and Vishwanath Sripathy <vishwanath.bs@ti.com>.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: Ranjith Lohithakshan <ranjithl@ti.com>
      Cc: Vishwanath Sripathy <vishwanath.bs@ti.com>
      2c8a177e
    • Ranjith Lohithakshan's avatar
      AM35xx: Add AM35xx specific control module registers · 05842a32
      Ranjith Lohithakshan authored
      AM3517/05 has a few additional control module registers defined mainly
      to control the new IP's. This patch adds support for those new registers.
      Signed-off-by: default avatarRanjith Lohithakshan <ranjithl@ti.com>
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      05842a32
    • Abhijit Pagare's avatar
      ARM: OMAP4: PM: Refine the APIs to support OMAP4 features. · 8a3ddc75
      Abhijit Pagare authored
      Port the APIs to support the OMAP4 clockdomain framework.
      Also take care of the compiling requirements for the same.
      Signed-off-by: default avatarAbhijit Pagare <abhijitpagare@ti.com>
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: Benoit Cousson <b-cousson@ti.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      8a3ddc75
    • Abhijit Pagare's avatar
      ARM: OMAP4: PM: Adapt the existing OMAP2/3 Clock Domain Frameworks. · 1a422724
      Abhijit Pagare authored
      The introduction of the OMAP4 Clock Domain framework requires
      some adaptaions to be done in the earlier files to place the
      common and uncommon data in the proper places where they belong.
      Signed-off-by: default avatarAbhijit Pagare <abhijitpagare@ti.com>
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: Benoit Cousson <b-cousson@ti.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      1a422724
    • Abhijit Pagare's avatar
      ARM: OMAP4: PM: Add the Autogenerated OMAP4 specific clock domain framework. · 30b8863d
      Abhijit Pagare authored
      The Autogenerated OMAP4 clock domain specific file
      (mach-omap2/clockdomains44xx.h) is added here.  This file is
      auto-generated using python scripting, and following is the lsit of
      the people involved:
      Benoit Cousson
      Abhijit Pagare
      Signed-off-by: default avatarAbhijit Pagare <abhijitpagare@ti.com>
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Signed-off-by: default avatarBenoit Cousson <b-cousson@ti.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      30b8863d