genode/base/include/platform/panda_a2/drivers/board.h
Martin Stein 31d57a6257 Nested init on i.MX31 via base_hw. Rework base_hw.
Implies support for the ARMv6 architecture through 'base-hw'.

Get rid of 'base/include/drivers' expect of 'base/include/drivers/uart'.

Merge with the support for trustzone on VEA9X4 that came from
Stefan Kalkowski.

Leave board drivers in 'base/include/platform'.

Rework structure of the other drivers that were moved to
'base_hw/src/core' and those that came with the trustzone support.

Beautify further stuff in 'base_hw'.

Test 'nested_init' with 'hw_imx31' (hardware) and 'hw_panda_a2' (hardware),
'demo' and 'signal' with 'hw_pbxa9' (qemu) and 'hw_vea9x4'
(hardware, no trustzone), and 'vmm' with 'hw_vea9x4'
(hardware, with trustzone).
2012-11-14 16:36:41 +01:00

57 lines
1.1 KiB
C++

/*
* \brief Driver for the OMAP4 PandaBoard revision A2
* \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 _INCLUDE__DRIVERS__BOARD_H_
#define _INCLUDE__DRIVERS__BOARD_H_
namespace Genode
{
/**
* Driver for the OMAP4 PandaBoard revision A2
*/
struct Board
{
enum
{
/* interconnect domains */
L4_PER_BASE = 0x48000000,
L4_PER_SIZE = 0x01000000,
L4_CFG_BASE = 0x4a000000,
L4_CFG_SIZE = 0x01000000,
/* clocks */
MPU_DPLL_CLOCK = 200*1000*1000,
/* UART */
TL16C750_3_MMIO_BASE = L4_PER_BASE + 0x20000,
TL16C750_3_MMIO_SIZE = 0x2000,
TL16C750_3_CLOCK = 48*1000*1000,
TL16C750_3_IRQ = 74,
/* CPU */
CORTEX_A9_PRIVATE_MEM_BASE = L4_PER_BASE + 0x240000,
CORTEX_A9_PRIVATE_MEM_SIZE = 0x2000,
CORTEX_A9_CLOCK = MPU_DPLL_CLOCK,
/* RAM */
EMIF1_EMIF2_CS0_SDRAM_BASE = 0x80000000,
EMIF1_EMIF2_CS0_SDRAM_SIZE = 0x40000000,
SECURITY_EXTENSION = 0,
};
};
}
#endif /* _INCLUDE__DRIVERS__BOARD_H_ */