1. 06 9月, 2008 1 次提交
  2. 01 9月, 2008 1 次提交
  3. 14 8月, 2008 1 次提交
  4. 07 8月, 2008 3 次提交
  5. 27 7月, 2008 1 次提交
  6. 03 7月, 2008 10 次提交
    • P
      ARM: OMAP2: Clock: New OMAP2/3 DPLL rate rounding algorithm · 88b8ba90
      Paul Walmsley 提交于
      This patch adds a new rate rounding algorithm for DPLL clocks on the
      OMAP2/3 architecture.
      
      For a desired DPLL target rate, there may be several
      multiplier/divider (M, N) values which will generate a sufficiently
      close rate.  Lower N values result in greater power economy.  However,
      lower N values can cause the difference between the rounded rate and
      the target rate ("rate error") to be larger than it would be with a
      higher N.  This can cause downstream devices to run more slowly than
      they otherwise would.
      
      This DPLL rate rounding algorithm:
      
      - attempts to find the lowest possible N (DPLL divider) to reach the
        target_rate (since, according to Richard Woodruff <r-woodruff@ti.com>,
        lower N values save more power than higher N values).
      
      - allows developers to set an upper bound on the error between the
        rounded rate and the desired target rate ("rate tolerance"), so an
        appropriate balance between rate fidelity and power savings can be
        set.  This maximum rate error tolerance is set via
        omap2_set_dpll_rate_tolerance().
      
      - never returns a rounded rate higher than the target rate.
      
      The rate rounding algorithm caches the last rounded M, N, and rate
      computation to avoid rounding the rate twice for each clk_set_rate()
      call.  (This patch does not yet implement set_rate for DPLLs; that
      follows in a future patch.)
      
      The algorithm trades execution speed for rate accuracy.  It will find
      the (M, N) set that results in the least rate error, within a
      specified rate tolerance.  It does this by evaluating each divider
      setting - on OMAP3, this involves 128 steps.  Another approach to DPLL
      rate rounding would be to bail out as soon as a valid rate is found
      within the rate tolerance, which would trade rate accuracy for
      execution speed.  Alternate implementations welcome.
      
      This code is not yet used by the OMAP24XX DPLL clock, since it
      is currently defined as a composite clock, fusing the DPLL M,N and the
      M2 output divider.  This patch also renames the existing OMAP24xx DPLL
      programming functions to highlight that they program both the DPLL and
      the DPLL's output multiplier.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      88b8ba90
    • P
      ARM: OMAP2: Clock: Add OMAP3 DPLL autoidle functions · 542313cc
      Paul Walmsley 提交于
      This patch adds support for DPLL autoidle control to the OMAP3 clock
      framework.  These functions will be used by the noncore DPLL enable
      and disable code - this is because, according to the CDP code, the
      DPLL autoidle status must be saved and restored across DPLL
      lock/bypass/off transitions.
      
      N.B.: the CORE DPLL (DPLL3) has three autoidle mode options, rather
      than just two.  This code currently does not support the third option,
      low-power bypass autoidle.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      542313cc
    • P
      ARM: OMAP: Add OMAP chip type structure; clean up mach-omap2/id.c · 097c584c
      Paul Walmsley 提交于
      Add a new OMAP chip identification interface, omap_chip_id.
      omap_chip_id is a structure which contains one bit for each OMAP2/3
      CPU type, and on 3430, ES level.  For example, the CHIP_IS_OMAP2420
      bit is set in omap_chip at boot on an OMAP2420.  On OMAP3430ES2, both
      CHIP_IS_OMAP3430 and CHIP_IS_OMAP3430ES2 bits are set.
      
      omap_chip is set in mach-omap2/id.c by _set_omap_chip(). Other
      code should use the omap_chip_is() function to test against omap_chip.
      
      Also, clean up id.c by splitting some code out of
      omap_check_revision() into its own function, _set_system_rev(); and
      converting some debug printk()s into pr_debug().
      
      Second revision.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      
      097c584c
    • T
      ARM: OMAP: Turn CM and PRM access into functions · ff00fcc9
      Tony Lindgren 提交于
      Otherwise compiling in omap2 and omap3 will not work.
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      ff00fcc9
    • T
      ARM: OMAP: Introduce omap_globals and prcm access functions for multi-omap · a58caad1
      Tony Lindgren 提交于
      New struct omap_globals contains the omap processor specific
      module bases. Use omap_globals to set the various base addresses
      to make detecting omap chip type simpler.
      
      Also introduce OMAP1_IO_ADDRESS and OMAP2_IO_ADDRESS for future multi-omap
      patches.
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      a58caad1
    • E
      ARM: OMAP: McBSP: Add support for mcbsp on mach-omap2 · 78673bc8
      Eduardo Valentin 提交于
      This patch adds support for mach-omap2 based on current
      mcbsp platform driver.
      Signed-off-by: NEduardo Valentin <eduardo.valentin@indt.org.br>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      78673bc8
    • E
      ARM: OMAP: McBSP: Add support for mcbsp on mach-omap1 · 44ec9a33
      Eduardo Valentin 提交于
      This patch adds support for mach-omap1 based on current
      mcbsp platform driver.
      Signed-off-by: NEduardo Valentin <eduardo.valentin@indt.org.br>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      44ec9a33
    • T
      ARM: OMAP: SRAM: Split sram24xx.S into sram242x.S and sram243x.S · c2d43e39
      Tony Lindgren 提交于
      Split sram24xx.S into sram242x.S and sram243x.S
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      c2d43e39
    • T
      ARM: OMAP: SRAM: Move omap2 sram-fn.S to sram242x.S · 373a6702
      Tony Lindgren 提交于
      This file will get split between sram242x.S and sram243x.S
      in following patch.
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      373a6702
    • R
      ARM: OMAP: DMTimer: Optimize by adding load and start · 3fddd09e
      Richard Woodruff 提交于
      This patch optimizes the timer load and start sequence.  By combining the
      load and start a needless posted wait can be removed from the system timer
      execution path.
      
      * Before patch register writes are taking up .078% @ 500MHz during idle.
      
       Address                 |total  |min  |max      |avr     |count|ratio%
       old\process\default_idle|7.369s |0.0us|999.902ms|14.477ms|509. |62.661%
       ld\Global\cpu_v7_do_idle|4.265s |0.0us|375.786ms|24.374ms|175. |36.270%
                      (UNKNOWN)|17.503ms|0.us|531.080us|5.119us|3419. |0.148%
       r\omap_dm_timer_set_load|8.135ms|0.0us|79.887us|15.065us|540.  |0.069% <--
       \vmlinux-old\Global\_end|2.023ms|0.0us|4.000us|0.560us|3613.   |0.017%
       -old\Global\__raw_readsw|1.962ms|0.0us|108.610us|9.167us|214.  |0.016%
       old\smc91x\smc_interrupt|1.353ms|0.0us|10.212us|2.348us|576.   |0.011%
       s/namei\__link_path_walk|1.161ms|0.0us|4.310us|0.762us|  1524. |0.009%
       \omap_dm_timer_write_reg|1.085ms|0.0us|126.150us|2.153us|504.  |0.009% <--
      
      * After patch timer functions do not show up in top listings for long captures.
      Signed-off-by: NRichard Woodruff <r-woodruff2@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      3fddd09e
  7. 07 6月, 2008 1 次提交
  8. 13 5月, 2008 1 次提交
  9. 10 5月, 2008 7 次提交
  10. 15 4月, 2008 14 次提交