• Stuart Menefy's avatar
    clocksource: arm_global_timer: Add ARM global timer support · c1b40e44
    Stuart Menefy authored
    This is a simple driver for the global timer module found in the Cortex
    A9-MP cores from revision r1p0 onwards. This should be able to perform
    the functions of the system timer and the local timer in an SMP system.
    
    The global timer has the following features:
        The global timer is a 64-bit incrementing counter with an
    auto-incrementing feature. It continues incrementing after sending
    interrupts. The global timer is memory mapped in the private memory
    region.
        The global timer is accessible to all Cortex-A9 processors in the
    cluster. Each Cortex-A9 processor has a private 64-bit comparator that
    is used to assert a private interrupt when the global timer has reached
    the comparator value. All the Cortex-A9 processors in a design use the
    banked ID, ID27, for this interrupt. ID27 is sent to the Interrupt
    Controller as a Private Peripheral Interrupt. The global timer is
    clocked by PERIPHCLK.
    Signed-off-by: default avatarStuart Menefy <stuart.menefy@st.com>
    Signed-off-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@st.com>
    CC: Arnd Bergmann <arnd@arndb.de>
    CC: Rob Herring <robherring2@gmail.com>
    CC: Linus Walleij <linus.walleij@linaro.org>
    CC: Will Deacon <will.deacon@arm.com>
    CC: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
    c1b40e44
arm_global_timer.c 8.17 KB