zynq: add specs for zynq-based boards

- zynq_parallella
- zynq_zedboard
- zynq_zc706
- zynq_zc702
This commit is contained in:
Johannes Schlatow
2016-03-24 14:52:10 +01:00
committed by Norman Feske
parent 7f61d9a84a
commit 2e7bb650dc
17 changed files with 469 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
/*
* \brief Base driver for Parallella Board
* \author Johannes Schlatow
* \date 2015-06-30
*/
/*
* Copyright (C) 2015 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__PARALLELLA__DRIVERS__BOARD_BASE_H_
#define _INCLUDE__PARALLELLA__DRIVERS__BOARD_BASE_H_
#include <spec/zynq/drivers/board_base_support.h>
namespace Genode { struct Board_base; }
/**
* Base driver for the Parallella platform
*/
struct Genode::Board_base : Zynq::Board_base
{
enum
{
/* clocks (assuming 6:2:1 mode) */
PS_CLOCK = 33333333,
CPU_1X_CLOCK = 111111100,
CPU_6X4X_CLOCK = 6*CPU_1X_CLOCK,
CORTEX_A9_CLOCK = CPU_6X4X_CLOCK,
CORTEX_A9_PRIVATE_TIMER_CLK = CORTEX_A9_CLOCK,
CORTEX_A9_PRIVATE_TIMER_DIV = 100,
SDHCI_BASE = MMIO_0_BASE + 0x101000,
SDHCI_SIZE = 0x100,
SDHCI_IRQ = 79,
UART_1_MMIO_BASE = MMIO_0_BASE + UART_SIZE,
};
};
#endif /* _INCLUDE__PARALLELLA__DRIVERS__BOARD_BASE_H_ */

View File

@@ -0,0 +1,44 @@
/*
* \brief Base driver for ZC702 Board
* \author Johannes Schlatow
* \date 2016-03-24
*/
/*
* Copyright (C) 2016 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__ZC702__DRIVERS__BOARD_BASE_H_
#define _INCLUDE__ZC702__DRIVERS__BOARD_BASE_H_
#include <spec/zynq/drivers/board_base_support.h>
namespace Genode { struct Board_base; }
/**
* Base driver for the ZC702 platform
*/
struct Genode::Board_base : Zynq::Board_base
{
enum
{
/* clocks (assuming 6:2:1 mode) */
CPU_1X_CLOCK = 111111100,
CPU_6X4X_CLOCK = 6*CPU_1X_CLOCK,
CORTEX_A9_CLOCK = CPU_6X4X_CLOCK,
CORTEX_A9_PRIVATE_TIMER_CLK = CORTEX_A9_CLOCK,
CORTEX_A9_PRIVATE_TIMER_DIV = 100,
SDHCI_BASE = MMIO_0_BASE + 0x100000,
SDHCI_SIZE = 0x100,
SDHCI_IRQ = 56,
UART_1_MMIO_BASE = MMIO_0_BASE + UART_SIZE,
};
};
#endif /* _INCLUDE__ZC702__DRIVERS__BOARD_BASE_H_ */

View File

@@ -0,0 +1,44 @@
/*
* \brief Base driver for ZC706 Board
* \author Johannes Schlatow
* \date 2016-03-24
*/
/*
* Copyright (C) 2016 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__ZC706__DRIVERS__BOARD_BASE_H_
#define _INCLUDE__ZC706__DRIVERS__BOARD_BASE_H_
#include <spec/zynq/drivers/board_base_support.h>
namespace Genode { struct Board_base; }
/**
* Base driver for the ZC706 platform
*/
struct Genode::Board_base : Zynq::Board_base
{
enum
{
/* clocks (assuming 6:2:1 mode) */
CPU_1X_CLOCK = 111111100,
CPU_6X4X_CLOCK = 6*CPU_1X_CLOCK,
CORTEX_A9_CLOCK = CPU_6X4X_CLOCK,
CORTEX_A9_PRIVATE_TIMER_CLK = CORTEX_A9_CLOCK,
CORTEX_A9_PRIVATE_TIMER_DIV = 100,
SDHCI_BASE = MMIO_0_BASE + 0x100000,
SDHCI_SIZE = 0x100,
SDHCI_IRQ = 56,
UART_1_MMIO_BASE = MMIO_0_BASE + UART_SIZE,
};
};
#endif /* _INCLUDE__ZC706__DRIVERS__BOARD_BASE_H_ */

View File

@@ -0,0 +1,64 @@
/*
* \brief Base driver for Zedboard
* \author Mark Albers
* \date 2015-09-29
*/
/*
* Copyright (C) 2015 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__ZEDBOARD__DRIVERS__BOARD_BASE_H_
#define _INCLUDE__ZEDBOARD__DRIVERS__BOARD_BASE_H_
#include <spec/zynq/drivers/board_base_support.h>
namespace Genode { struct Board_base; }
/**
* Base driver for the Zedboard platform
*/
struct Genode::Board_base : Zynq::Board_base
{
enum
{
PS_CLOCK = 33333333,
ARM_PLL_CLOCK = 1333333*1000,
DDR_PLL_CLOCK = 1066667*1000,
IO_PLL_CLOCK = 1000*1000*1000,
CPU_1X_CLOCK = 111111115,
CPU_6X4X_CLOCK = 6*CPU_1X_CLOCK,
CPU_3X2X_CLOCK = 3*CPU_1X_CLOCK,
CPU_2X_CLOCK = 2*CPU_1X_CLOCK,
UART_1_MMIO_BASE = MMIO_0_BASE + UART_SIZE,
CORTEX_A9_CLOCK = CPU_6X4X_CLOCK,
CORTEX_A9_PRIVATE_TIMER_CLK = CORTEX_A9_CLOCK,
CORTEX_A9_PRIVATE_TIMER_DIV = 100,
RAM_0_SIZE = 0x20000000, /* 512MB */
DDR_CLOCK = 533333313,
FCLK_CLK0 = 100*1000*1000, /* AXI */
FCLK_CLK1 = 20250*1000, /* Cam */
FCLK_CLK2 = 150*1000*1000, /* AXI HP */
I2C0_MMIO_BASE = 0xE0004000,
I2C1_MMIO_BASE = 0xE0005000,
I2C_MMIO_SIZE = 0x1000,
QSPI_CLOCK = 200*1000*1000,
ETH_CLOCK = 125*1000*1000,
SD_CLOCK = 50*1000*1000,
GPIO_MMIO_SIZE = 0x1000,
VDMA_MMIO_SIZE = 0x10000,
};
};
#endif /* _INCLUDE__ZEDBOARD__DRIVERS__BOARD_BASE_H_ */