1. 07 10月, 2011 2 次提交
    • 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 8 次提交
    • 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
    • P
      OMAP2+: id: remove OMAP_REVBITS_* macros · 057673d8
      Paul Walmsley 提交于
      The OMAP_REVBITS_* macros are just used as otherwise meaningless
      aliases for the numbers zero through five, so remove these macros.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Tested-by: NIgor Grinberg <grinberg@compulab.co.il>
      Tested-by: NAbhilash Koyamangalath <abhilash.kv@ti.com>
      057673d8
    • P
      OMAP3: id: remove duplicate code for testing SoC ES level · 3b32b7d6
      Paul Walmsley 提交于
      omap3_cpuinfo() contains essentially duplicated code from
      omap3_check_revision(), just for the purpose of determining the chip ES level.
      Set the cpu_rev char array pointer in omap3_check_revision() instead,
      and drop the now-useless code from omap3_cpuinfo().
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Tested-by: NIgor Grinberg <grinberg@compulab.co.il>
      Tested-by: NAbhilash Koyamangalath <abhilash.kv@ti.com>
      3b32b7d6