14 Jan, 2011

1 commit


27 Apr, 2010

1 commit


13 Mar, 2010

1 commit

  • This patch converts the avr32 architecture to use the generic
    read_persistent_clock and update_persistent_clock interfaces, reducing
    the amount of arch specific code we have to maintain, and allowing for
    further cleanups in the future.

    I have not built or tested this patch, so help from arch maintainers
    would be appreciated.

    Signed-off-by: John Stultz
    Cc: Haavard Skinnemoen
    Cc: Andrew Morton
    LKML-Reference:
    Signed-off-by: Thomas Gleixner

    John Stultz
     

22 Apr, 2009

1 commit

  • Pass clocksource pointer to the read() callback for clocksources. This
    allows us to share the callback between multiple instances.

    [hugh@veritas.com: fix powerpc build of clocksource pass clocksource mods]
    [akpm@linux-foundation.org: cleanup]
    Signed-off-by: Magnus Damm
    Acked-by: John Stultz
    Cc: Thomas Gleixner
    Signed-off-by: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Magnus Damm
     

13 Dec, 2008

1 commit


05 Aug, 2008

1 commit


25 Jul, 2008

1 commit

  • The following patch allows the avr32_comparator interrupt to be shared.
    This is necessary as the avr32 oprofile driver shares the irq group 0
    with the timer.

    To make OProfile actually work on AVR32, a small patch for oprofiled is
    also needed (posted to the oprofile mailing list).

    Signed-off-by: Nikolaus Voss
    [haavard.skinnemoen@atmel.com: set IRQF_SHARED unconditionally]
    Signed-off-by: Haavard Skinnemoen

    Voss, Nikolaus
     

27 Jun, 2008

1 commit


20 Apr, 2008

2 commits

  • This combines three patches from David Brownell:
    * avr32: tclib support
    * avr32: simplify clocksources
    * avr32: Turn count/compare into a oneshot clockevent device

    Register both TC blocks (instead of just the first one) so that
    the AT32/AT91 tclib code will pick them up (instead of just the
    avr32-only PIT-style clocksource).

    Rename the first one and its resources appropriately.

    More cleanups to the cycle counter clocksource code

    - Disable all the weak symbol magic; remove the AVR32-only TCB-based
    clocksource code (source and header).

    - Mark the __init code properly.

    - Don't forget to report IRQF_TIMER.

    - Make the system work properly with this clocksource, by preventing
    use of the CPU "idle" sleep state in the idle loop when it's used.

    Package the avr32 count/compare timekeeping support as a oneshot
    clockevent device, so it supports NO_HZ and high res timers.
    This means it also supports plugging in other clockevent devices
    and clocksources.

    Signed-off-by: David Brownell
    Signed-off-by: Haavard Skinnemoen

    David Brownell
     
  • Start cleaning up the AVR32 clocksource mess, starting with the cycle
    counter clocksource: remove unneeded pseudo-RTC (just inline that
    call to mktime) and associated build warning, and unused sysdev.

    Add comment about the problem using the cycle counter register,
    and adjust the clocksource rating accordingly. Later patches can
    make this usable again (by disabling use of the idle state and
    providing a proper clocksource without the weak binding hacks)
    and move towards TCB-based clockevent support (including high
    resolution timers) that's shared between AT91 and AVR32.

    Signed-off-by: David Brownell
    Signed-off-by: Haavard Skinnemoen

    David Brownell
     

25 Jan, 2008

1 commit


27 Apr, 2007

1 commit

  • Due to limitation of the count-compare system timer (not able to
    count when CPU is in sleep), the system timer had to be changed to
    use a peripheral timer/counter.

    The old COUNT-COMPARE code is still present in time.c as weak
    functions. The new timer is added to the architecture directory.

    This patch sets up TC0 as system timer The new timer has been tested
    on AT32AP7000/ATSTK1000 at 100 Hz, 250 Hz, 300 Hz and 1000 Hz.

    For more details about the timer/counter see the datasheet for
    AT32AP700x available at

    http://www.atmel.com/dyn/products/product_card.asp?part_id=3903

    Signed-off-by: Hans-Christian Egtvedt
    Signed-off-by: Haavard Skinnemoen

    Hans-Christian Egtvedt
     

17 Feb, 2007

1 commit


12 Feb, 2007

1 commit


12 Oct, 2006

1 commit


30 Sep, 2006

1 commit

  • Pass ticks to do_timer() and update_times(), and adjust x86_64 and s390
    timer interrupt handler with this change.

    Currently update_times() calculates ticks by "jiffies - wall_jiffies", but
    callers of do_timer() should know how many ticks to update. Passing ticks
    get rid of this redundant calculation. Also there are another redundancy
    pointed out by Martin Schwidefsky.

    This cleanup make a barrier added by
    5aee405c662ca644980c184774277fc6d0769a84 needless. So this patch removes
    it.

    As a bonus, this cleanup make wall_jiffies can be removed easily, since now
    wall_jiffies is always synced with jiffies. (This patch does not really
    remove wall_jiffies. It would be another cleanup patch)

    Signed-off-by: Atsushi Nemoto
    Cc: Martin Schwidefsky
    Cc: "Eric W. Biederman"
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: john stultz
    Cc: Andi Kleen
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Acked-by: Russell King
    Cc: Ian Molton
    Cc: Mikael Starvik
    Acked-by: David Howells
    Cc: Yoshinori Sato
    Cc: Hirokazu Takata
    Acked-by: Ralf Baechle
    Cc: Kyle McMartin
    Cc: Heiko Carstens
    Cc: Martin Schwidefsky
    Cc: Paul Mundt
    Cc: Kazumoto Kojima
    Cc: Richard Curnow
    Cc: William Lee Irwin III
    Cc: "David S. Miller"
    Cc: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Cc: Miles Bader
    Cc: Chris Zankel
    Acked-by: "Luck, Tony"
    Cc: Geert Uytterhoeven
    Cc: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Atsushi Nemoto
     

26 Sep, 2006

1 commit

  • This adds support for the Atmel AVR32 architecture as well as the AT32AP7000
    CPU and the AT32STK1000 development board.

    AVR32 is a new high-performance 32-bit RISC microprocessor core, designed for
    cost-sensitive embedded applications, with particular emphasis on low power
    consumption and high code density. The AVR32 architecture is not binary
    compatible with earlier 8-bit AVR architectures.

    The AVR32 architecture, including the instruction set, is described by the
    AVR32 Architecture Manual, available from

    http://www.atmel.com/dyn/resources/prod_documents/doc32000.pdf

    The Atmel AT32AP7000 is the first CPU implementing the AVR32 architecture. It
    features a 7-stage pipeline, 16KB instruction and data caches and a full
    Memory Management Unit. It also comes with a large set of integrated
    peripherals, many of which are shared with the AT91 ARM-based controllers from
    Atmel.

    Full data sheet is available from

    http://www.atmel.com/dyn/resources/prod_documents/doc32003.pdf

    while the CPU core implementation including caches and MMU is documented by
    the AVR32 AP Technical Reference, available from

    http://www.atmel.com/dyn/resources/prod_documents/doc32001.pdf

    Information about the AT32STK1000 development board can be found at

    http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3918

    including a BSP CD image with an earlier version of this patch, development
    tools (binaries and source/patches) and a root filesystem image suitable for
    booting from SD card.

    Alternatively, there's a preliminary "getting started" guide available at
    http://avr32linux.org/twiki/bin/view/Main/GettingStarted which provides links
    to the sources and patches you will need in order to set up a cross-compiling
    environment for avr32-linux.

    This patch, as well as the other patches included with the BSP and the
    toolchain patches, is actively supported by Atmel Corporation.

    [dmccr@us.ibm.com: Fix more pxx_page macro locations]
    [bunk@stusta.de: fix `make defconfig']
    Signed-off-by: Haavard Skinnemoen
    Signed-off-by: Adrian Bunk
    Signed-off-by: Dave McCracken
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen