genode/base-hw/src/core/cpu/cortex_a9.h

55 lines
1.2 KiB
C++

/*
* \brief CPU driver for core
* \author Martin stein
* \date 2011-11-03
*/
/*
* Copyright (C) 2011-2012 Genode Labs GmbH
*
* This file is part of the Genode OS framework, which is distributed
* under the terms of the GNU General Public License version 2.
*/
#ifndef _CPU__CORTEX_A9_H_
#define _CPU__CORTEX_A9_H_
/* Genode includes */
#include <drivers/board_base.h>
/* core includes */
#include <cpu/arm_v7.h>
namespace Cortex_a9
{
using namespace Genode;
/**
* CPU driver for core
*/
struct Cpu : Arm_v7::Cpu
{
enum
{
/* common */
CLK = Board_base::CORTEX_A9_CLOCK, /* CPU interface clock */
PERIPH_CLK = CLK, /* clock for CPU internal components */
/* interrupt controller */
PL390_DISTRIBUTOR_MMIO_BASE = Board_base::CORTEX_A9_PRIVATE_MEM_BASE + 0x1000,
PL390_DISTRIBUTOR_MMIO_SIZE = 0x1000,
PL390_CPU_MMIO_BASE = Board_base::CORTEX_A9_PRIVATE_MEM_BASE + 0x100,
PL390_CPU_MMIO_SIZE = 0x100,
/* timer */
PRIVATE_TIMER_MMIO_BASE = Board_base::CORTEX_A9_PRIVATE_MEM_BASE + 0x600,
PRIVATE_TIMER_MMIO_SIZE = 0x10,
PRIVATE_TIMER_IRQ = 29,
PRIVATE_TIMER_CLK = PERIPH_CLK
};
};
}
#endif /* _CPU__CORTEX_A9_H_ */