diff options
author | Franck Jullien <franck.jullien@gmail.com> | 2011-12-20 23:11:37 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2012-01-02 12:50:57 +0100 |
commit | 0777a18c0f85369cfe479fe48a0510fe90e26b1f (patch) | |
tree | 0b5e2bb2a9cd8b9f4c267cb955b21520d474e513 /arch/openrisc | |
parent | 6fe9ee8eb4f85ff85b17024e25171d36c3f062ac (diff) | |
download | barebox-0777a18c0f85369cfe479fe48a0510fe90e26b1f.tar.gz barebox-0777a18c0f85369cfe479fe48a0510fe90e26b1f.tar.xz |
Add a generic board
In this generic configuration, the board can be run in the
or1ksim simulator with the linux configuration file using
the UART to print the console.
Signed-off-by: Franck Jullien <franck.jullien@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/openrisc')
-rw-r--r-- | arch/openrisc/boards/generic/Makefile | 1 | ||||
-rw-r--r-- | arch/openrisc/boards/generic/config.h | 28 | ||||
-rw-r--r-- | arch/openrisc/boards/generic/env/config | 20 | ||||
-rw-r--r-- | arch/openrisc/boards/generic/generic.c | 19 |
4 files changed, 68 insertions, 0 deletions
diff --git a/arch/openrisc/boards/generic/Makefile b/arch/openrisc/boards/generic/Makefile new file mode 100644 index 0000000000..d8a3d7f2cc --- /dev/null +++ b/arch/openrisc/boards/generic/Makefile @@ -0,0 +1 @@ +obj-y += generic.o diff --git a/arch/openrisc/boards/generic/config.h b/arch/openrisc/boards/generic/config.h new file mode 100644 index 0000000000..88d2929af5 --- /dev/null +++ b/arch/openrisc/boards/generic/config.h @@ -0,0 +1,28 @@ +#ifndef _GENERIC_NAMES_H_ +#define _GENERIC_NAMES_H_ + +#define CONFIG_SYS_CLK_FREQ 20000000 + +#define OPENRISC_TIMER_FREQ 20000000 + +#define OPENRISC_SOPC_MEMORY_BASE 0x00000000 +#define OPENRISC_SOPC_MEMORY_SIZE 0x02000000 + +#define OPENRISC_SOPC_UART_BASE 0x90000000 +#define CONFIG_SYS_UART_FREQ CONFIG_SYS_CLK_FREQ +#define CONFIG_SYS_UART_BAUD 115200 + +/* We reserve 256K for barebox */ +#define BAREBOX_RESERVED_SIZE 0x40000 + +/* Barebox will be at top of main memory */ +#define OPENRISC_SOPC_TEXT_BASE (OPENRISC_SOPC_MEMORY_BASE + OPENRISC_SOPC_MEMORY_SIZE - BAREBOX_RESERVED_SIZE) + +/* +* TEXT_BASE is defined here because STACK_BASE definition +* in include/asm-generic/memory_layout.h uses this name +*/ + +#define TEXT_BASE OPENRISC_SOPC_TEXT_BASE + +#endif diff --git a/arch/openrisc/boards/generic/env/config b/arch/openrisc/boards/generic/env/config new file mode 100644 index 0000000000..9dee8d98b4 --- /dev/null +++ b/arch/openrisc/boards/generic/env/config @@ -0,0 +1,20 @@ +#!/bin/sh + +# can be either 'net' or 'flash' +kernel=flash +root=flash + +kernel_loc=nor +kernelimage_type=uimage + +# use 'dhcp' todo dhcp in barebox and in kernel +ip=none + +autoboot_timeout=3 + +nor_parts="256k(barebox),128k(env),4M(kernel),-(rootfs)" + +bootargs="console=ttyS0,9600" + +# set a fancy prompt (if support is compiled in) +PS1="\e[1;33mbarebox@\e[1;32mor32:\w\e[0m " diff --git a/arch/openrisc/boards/generic/generic.c b/arch/openrisc/boards/generic/generic.c new file mode 100644 index 0000000000..6a9ce5b864 --- /dev/null +++ b/arch/openrisc/boards/generic/generic.c @@ -0,0 +1,19 @@ +#include <common.h> +#include <init.h> +#include <driver.h> +#include <partition.h> +#include <ns16550.h> + +static struct NS16550_plat serial_plat = { + .clock = 50000000, /* 48MHz (APLL96/2) */ + .shift = 0, +}; + +static int openrisc_console_init(void) +{ + /* Register the serial port */ + add_ns16550_device(-1, OPENRISC_SOPC_UART_BASE, 1024, IORESOURCE_MEM_8BIT, &serial_plat); + return 0; +} + +console_initcall(openrisc_console_init); |