55 lines
1.2 KiB
C++
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_ */
|
|
|