1. 07 10月, 2011 4 次提交
    • J
      ARM: OMAP3+: dpll: use DPLLs recalc function instead of omap2_get_dpll_rate · 49642ac8
      Jon Hunter 提交于
      This is a continuation of Mike Turquette's patch "OMAP3+: use
      DPLL's round_rate when setting rate".
      
      omap3_noncore_dpll_set_rate() and omap3_noncore_dpll_enable() call
      omap2_get_dpll_rate() explicitly. It may be necessary for some
      DPLLs to use a different function and so use the DPLLs recalc()
      function pointer instead.
      
      An example is the DPLL_ABE on OMAP4 which can have a 4X multiplier
      in addition to the usual MN multipler and dividers and therefore
      uses a different round_rate and recalc function.
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      Cc: Mike Turquette <mturquette@ti.com>
      Cc: Misael Lopez Cruz <misael.lopez@ti.com>
      [paul@pwsan.com: merged this patch with Mike's "use clock's recalc in DPLL
       handling" patch; also reported by Misael]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      49642ac8
    • M
      ARM: OMAP3+: dpll: assign clk rate from rounded rate during rate set · 273a1ce9
      Mike Turquette 提交于
      The rounded rate can differ from target rate, so to better reflect
      reality set clk->rate equal to the rounded rate when setting DPLL frequency.
      This avoids issues where the DPLL frequency is slightly different than what
      debugfs clock tree reports using the old target rate.
      
      An example of a clock that requires this is DPLL_ABE on OMAP4 which
      can have a 4x multiplier on top of the usual MN dividers depending on
      register settings.  This requires a special round_rate function that
      might yield a rate different from the initial target.
      Signed-off-by: NMike Turquette <mturquette@ti.com>
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      273a1ce9
    • M
      ARM: OMAP3+: dpll: use DPLL's round_rate when setting rate · addf888c
      Mike Turquette 提交于
      omap3_noncore_dpll_set_rate uses omap2_dpll_round_rate explicitly.  Instead
      use the struct clk pointer's round_rate function to allow for DPLL's with
      special needs.
      
      An example of a clock that requires this is DPLL_ABE on OMAP4 which
      can have a 4x multiplier on top of the usual MN dividers depending on
      register settings.  This requires a special round_rate function that
      might yield a rate different from the initial target.
      Signed-off-by: NMike Turquette <mturquette@ti.com>
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      [paul@pwsan.com: split rate assignment portion into a separate patch]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      addf888c
    • M
      ARM: OMAP4: clock: round_rate and recalc functions for DPLL_ABE · a1900f2e
      Mike Turquette 提交于
      OMAP4 DPLL_ABE can enable a 4X multipler on top of the normal MN multipler
      and divider. This is achieved by setting CM_CLKMODE_DPLL_ABE.DPLL_REGM4XEN
      bit in CKGEN module of CM1. From the OMAP4 TRM:
      
      Fdpll = Fref x 2 x (4 x M/(N+1)) in case REGM4XEN bit field is set (only
      applicable to DPLL_ABE).
      
      Add new round_rate() and recalc() functions for OMAP4, that check the
      setting of REGM4XEN bit and handle this appropriately. The new functions
      are a simple wrapper on top of the existing omap2_dpll_round_rate() and
      omap2_dpll_get_rate() functions to handle the REGM4XEN bit.
      
      The REGM4XEN bit is only implemented for the ABE DPLL on OMAP4 and so
      only dpll_abe_ck uses omap4_dpll_regm4xen_round_rate() and
      omap4_dpll_regm4xen_recalc() functions.
      Signed-off-by: NMike Turquette <mturquette@ti.com>
      Tested-by: NJon Hunter <jon-hunter@ti.com>
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      [paul@pwsan.com: fixed attempt to return a negative from a fn returning
      		 unsigned; pass along errors from omap2_dpll_round_rate();
      		 added documentation; added Jon's S-o-b]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      a1900f2e
  2. 27 9月, 2011 16 次提交
  3. 23 9月, 2011 2 次提交
  4. 22 9月, 2011 1 次提交
  5. 21 9月, 2011 1 次提交
  6. 17 9月, 2011 1 次提交
  7. 16 9月, 2011 9 次提交
  8. 15 9月, 2011 6 次提交
    • P
      OMAP: id: remove OMAP_CHIP declarations, code · 00c46b30
      Paul Walmsley 提交于
      Now that all of the users of the OMAP_CHIP bitfield code have been converted
      to use lists, the OMAP_CHIP code, data, and declarations can be removed.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      
      
      00c46b30
    • P
      OMAP2+: hwmod: remove OMAP_CHIP* · d6504acd
      Paul Walmsley 提交于
      At Tony's request, remove the OMAP_CHIP* flags from the hwmod data, and
      replace it instead with chip family, variant, and ES level-specific lists
      of hwmods to register.
      
      Thanks to Gražvydas Ignotas <notasas@gmail.com> for finding a bug in the
      AM3517/3505 support, and for other review comments.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Gražvydas Ignotas <notasas@gmail.com>
      d6504acd
    • P
      OMAP: powerdomain: remove omap_chip bitmasks · 8179488a
      Paul Walmsley 提交于
      At Tony's request, remove the omap_chip bitmasks from the powerdomain
      definitions.  Instead, initialize powerdomains based on one or more
      lists that are applicable to a particular SoC family, variant, and
      silicon revision.
      
      Gražvydas Ignotas <notasas@gmail.com> found and reported a bug in a
      related patch that also applied to this patch - thanks Gražvydas.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Gražvydas Ignotas <notasas@gmail.com>
      8179488a
    • P
      OMAP: powerdomain: split pwrdm_init() into two functions · 129c65ee
      Paul Walmsley 提交于
      In preparation for OMAP_CHIP() removal, split pwrdm_init() into three
      functions.  This allows some of them to be called multiple times: for
      example, pwrdm_register_pwrdms() can be called once to register
      powerdomains that are common to a group of SoCs, and once to register
      powerdomains that are specific to a single SoC.
      
      The appropriate order to call these functions - which is enforced
      by the code - is:
      
      1. pwrdm_register_platform_funcs()
      2. pwrdm_register_pwrdms() (can be called multiple times)
      3. pwrdm_complete_init()
      
      Convert the OMAP2, 3, and 4 powerdomain init code to use these new
      functions.
      
      While here, improve documentation, and increase CodingStyle
      conformance by shortening some local variable names.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      129c65ee
    • P
      OMAP: clockdomain code/data: remove omap_chip bitmask from struct clockdomain · a5ffef6a
      Paul Walmsley 提交于
      At Tony's request, remove the omap_chip bitmasks from the clockdomain
      and clockdomain dependency definitions.  Instead, initialize
      clockdomains based on one or more lists that are applicable to a
      particular SoC family, variant, and silicon revision.
      
      Tony Lindgren <tony@atomide.com> found a bug in a previous version of this
      patch - thanks Tony.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Tony Lindgren <tony@atomide.com>
      a5ffef6a
    • P
      OMAP: clockdomain: split clkdm_init() · 08cb9703
      Paul Walmsley 提交于
      In preparation for OMAP_CHIP() removal, split clkdm_init() into four
      functions.  This allows some of them to be called multiple times: for
      example, clkdm_register_clkdms() can be called once to register
      clockdomains that are common to a group of SoCs, and once to register
      clockdomains that are specific to a single SoC.
      
      The appropriate order to call these functions - which is enforced
      by the code - is:
      
      1. clkdm_register_platform_funcs()
      2. clkdm_register_clkdms() (can be called multiple times)
      3. clkdm_register_autodeps() (optional; deprecated)
      4. clkdm_complete_init()
      
      Convert the OMAP2, 3, and 4 clockdomain init code to use these new
      functions.
      
      While here, improve documentation, and increase CodingStyle
      conformance by shortening some local variable names.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      08cb9703