9
0
Fork 0

MIPS: XBurst: add Ritmix RZX-50 board support

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Antony Pavlov 2012-05-16 23:25:15 +04:00 committed by Sascha Hauer
parent 8b85ac8c35
commit 1cbe2b2c00
10 changed files with 158 additions and 1 deletions

View File

@ -51,6 +51,7 @@ MIPS type:
@li @subpage dlink_dir_320
@li @subpage qemu_malta
@li @subpage rzx50
*/

View File

@ -67,6 +67,7 @@ machine-$(CONFIG_MACH_MIPS_BCM47XX) := bcm47xx
board-$(CONFIG_BOARD_DLINK_DIR320) := dlink-dir-320
machine-$(CONFIG_MACH_MIPS_XBURST) := xburst
board-$(CONFIG_BOARD_RZX50) := rzx50
machdirs := $(patsubst %,arch/mips/mach-%/,$(machine-y))

View File

@ -0,0 +1,6 @@
if BOARD_RZX50
config BOARDINFO
default "Ritmix RZX-50"
endif

View File

@ -0,0 +1 @@
obj-$(CONFIG_DRIVER_SERIAL_NS16550) += serial.o

View File

@ -0,0 +1,19 @@
/*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
*/
/* nothing special yet */

View File

@ -0,0 +1,46 @@
/** @page rzx50 Ritmix RZX-50 game console
Ritmix RZX-50 is a portable game console for the Russian market.
The portable game console has
@li Ingenic JZ4755 SoC;
@li 64 MiB SDRAM;
@li 4 GiB microSDHC card / 4 GiB NAND type Flash Memory;
@li RS232 serial interface (LV-TTL levels on the board!);
@li LCD display (480x272);
@li Video out interface;
@li 1xUSB interface;
@li buttons.
The game console uses U-Boot 1.1.6 as bootloader.
barebox-rzx50 mini-howto:
1. Connect to the game console's UART (see. http://a320.emulate.su/2012/01/19/uart-na-ritmix-rzx-50/);
2. Unblock U-Boot console (see. http://a320.emulate.su/2012/01/25/rzx-50-dostup-k-konsoli-u-boot/); Please note that U-Boot's Zmodem support does not work;
3. Boot Ritmix linux and login;
4. Upload barebox.bin via Zmodem
@verbatim
# cd /tmp
# rz
@endverbatim
5. Write barebox to onboard flash
@verbatim
# dd if=barebox.bin of=/dev/mmcblk0 seek=1048576 bs=1 count=262144
@endverbatim
6. Reboot RZX-50, next in U-Boot console start barebox:
@verbatim
CETUS # msc read 0xa0800000 0x100000 0x40000; g a0800000
@endverbatim
Ritmix RZX-50 links:
@li http://www.ritmixrussia.ru/products/252/entertainment/game/rzx-50
@li ftp://ftp.ingenic.cn/2soc/4755/JZ4755_ds.pdf
@li ftp://ftp.ingenic.cn/3sw/01linux/01loader/u-boot/u-boot-1.1.6-jz-20110719-r1728-add-jz4770.patch.bz2
*/

View File

@ -0,0 +1,66 @@
/*
* Copyright (C) 2012 Antony Pavlov <antonynpavlov@gmail.com>
*
* This file is part of barebox.
* See file CREDITS for list of people who contributed to this project.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <common.h>
#include <types.h>
#include <driver.h>
#include <init.h>
#include <ns16550.h>
#include <mach/jz4750d_regs.h>
#include <io.h>
#include <asm/common.h>
#define JZ4750D_UART_SHIFT 2
#define ier (1 << JZ4750D_UART_SHIFT)
#define fcr (2 << JZ4750D_UART_SHIFT)
static void jz4750d_serial_reg_write(unsigned int val, unsigned long base,
unsigned char reg_offset)
{
switch (reg_offset) {
case fcr:
val |= 0x10; /* Enable uart module */
break;
case ier:
val |= (val & 0x4) << 2;
break;
default:
break;
}
writeb(val & 0xff, (void *)(base + reg_offset));
}
static struct NS16550_plat serial_plat = {
.clock = 12000000,
.shift = JZ4750D_UART_SHIFT,
.reg_write = &jz4750d_serial_reg_write,
};
static int rzx50_console_init(void)
{
/* Register the serial port */
add_ns16550_device(-1, UART1_BASE, 8 << JZ4750D_UART_SHIFT,
IORESOURCE_MEM_8BIT, &serial_plat);
return 0;
}
console_initcall(rzx50_console_init);

View File

@ -7,4 +7,15 @@ config ARCH_TEXT_BASE
config CPU_JZ4755
bool
choice
prompt "Board type"
config BOARD_RZX50
bool "Ritmix RZX-50"
select CPU_JZ4755
endchoice
source arch/mips/boards/rzx50/Kconfig
endif

View File

@ -24,6 +24,10 @@
/** @file
* This File contains declaration for early output support
*/
#include <debug_ll_common.h>
#ifdef CONFIG_BOARD_RZX50
#include <mach/debug_ll_jz4755.h>
#endif
#include <debug_ll_ns16550.h>
#endif /* __MACH_XBURST_DEBUG_LL__ */

View File

@ -2,4 +2,6 @@
@section xburst_boards XBurst-based boards
@li @subpage rzx50
*/