78d1404dcc
Implement the timers on the Freescale i.MX31 SoC. This is not a complete implementation, but gives enough for Linux to boot and run. In particular external triggers, which are not useful under QEMU, are not implemented. Signed-off-by: Philip O'Sullivan <philipo@ok-labs.com> Signed-off-by: Peter Chubb <peter.chubb@nicta.com.au> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
35 lines
710 B
C
35 lines
710 B
C
/*
|
|
* i.MX31 emulation
|
|
*
|
|
* Copyright (C) 2012 Peter Chubb
|
|
* NICTA
|
|
*
|
|
* This code is released under the GPL, version 2.0 or later
|
|
* See the file `../COPYING' for details.
|
|
*/
|
|
|
|
#ifndef IMX_H
|
|
#define IMX_H
|
|
|
|
void imx_serial_create(int uart, const target_phys_addr_t addr, qemu_irq irq);
|
|
|
|
typedef enum {
|
|
NOCLK,
|
|
MCU,
|
|
HSP,
|
|
IPG,
|
|
CLK_32k
|
|
} IMXClk;
|
|
|
|
uint32_t imx_clock_frequency(DeviceState *s, IMXClk clock);
|
|
|
|
void imx_timerp_create(const target_phys_addr_t addr,
|
|
qemu_irq irq,
|
|
DeviceState *ccm);
|
|
void imx_timerg_create(const target_phys_addr_t addr,
|
|
qemu_irq irq,
|
|
DeviceState *ccm);
|
|
|
|
|
|
#endif /* IMX_H */
|