mirror of
https://github.com/genodelabs/genode.git
synced 2025-01-13 00:09:54 +00:00
a40932a324
* name irq controller memory mapped I/O regions consistently in board descriptions * move irq controller and timer memory mapped I/O region descriptions from cpu class to board class * eliminate artificial distinction between flavors of ARM's GIC * factor cpu local initialization out of ARM's GIC interface description, which is needed if the GIC is initialized differently e.g. for TrustZone Ref #1405
71 lines
1.3 KiB
C++
71 lines
1.3 KiB
C++
/*
|
|
* \brief Board-driver base
|
|
* \author Stefan Kalkowski
|
|
* \date 2013-11-25
|
|
*/
|
|
|
|
/*
|
|
* Copyright (C) 2013 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 _EXYNOS5__BOARD_BASE_H_
|
|
#define _EXYNOS5__BOARD_BASE_H_
|
|
|
|
namespace Genode
|
|
{
|
|
/**
|
|
* Board-driver base
|
|
*/
|
|
class Exynos5;
|
|
}
|
|
|
|
class Genode::Exynos5
|
|
{
|
|
public:
|
|
|
|
enum {
|
|
/* normal RAM */
|
|
RAM_0_BASE = 0x40000000,
|
|
RAM_0_SIZE = 0x80000000,
|
|
|
|
/* device IO memory */
|
|
MMIO_0_BASE = 0x10000000,
|
|
MMIO_0_SIZE = 0x10000000,
|
|
|
|
/* interrupt controller */
|
|
IRQ_CONTROLLER_BASE = 0x10480000,
|
|
IRQ_CONTROLLER_SIZE = 0x00010000,
|
|
|
|
/* UART */
|
|
UART_2_MMIO_BASE = 0x12C20000,
|
|
UART_2_IRQ = 85,
|
|
|
|
/* pulse-width-modulation timer */
|
|
PWM_MMIO_BASE = 0x12dd0000,
|
|
PWM_MMIO_SIZE = 0x1000,
|
|
PWM_CLOCK = 66000000,
|
|
PWM_IRQ_0 = 68,
|
|
|
|
/* multicore timer */
|
|
MCT_MMIO_BASE = 0x101c0000,
|
|
MCT_MMIO_SIZE = 0x1000,
|
|
MCT_CLOCK = 24000000,
|
|
MCT_IRQ_L0 = 152,
|
|
MCT_IRQ_L1 = 153,
|
|
|
|
/* CPU cache */
|
|
CACHE_LINE_SIZE_LOG2 = 6,
|
|
|
|
/* IRAM */
|
|
IRAM_BASE = 0x02020000,
|
|
|
|
/* hardware name of the primary processor */
|
|
PRIMARY_MPIDR_AFF_0 = 0,
|
|
};
|
|
};
|
|
|
|
#endif /* _EXYNOS5__BOARD_BASE_H_ */
|