/** * \file * \brief ARM sp804 dual timer module kernel interface. */ /* * Copyright (c) 2015 ETH Zurich. * All rights reserved. * * This file is distributed under the terms in the attached LICENSE file. * If you do not find this file, copies can be found by writing to: * ETH Zurich D-INFK, Universitaetstrasse 6, CH-8092 Zurich. Attn: Systems Group. */ #ifndef __SP804_UART_H__ #define __SP804_UART_H__ #include /** * \brief Configure the SP804 modules. * * We expose the timers individually, and simply trust that the rest * of the CPU driver knows that each pair of timers shares a single * interrupt line. We also require that the MMU is turned on at this * point. * * \param n the number of modules (half the number of timers) * \param hz the clock frequency of the timers in Hertz * \param addrs an array of n physical addresses of sp804 devices * \param irqs an array of n irq numbers for the devices * * Each SP804 has two timers. We number timers sequentially; the * number supplied to this function is the number of SP804s (i.e. half * the number of timers). */ extern void sp804_configure(size_t n, uint32_t hz, const lpaddr_t pit_addrs[], const uint32_t irqs[] ); #endif // __SP804_UART_H__