diff options
author | Antony Pavlov <antonynpavlov@gmail.com> | 2012-05-28 12:12:33 +0400 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2012-05-29 10:39:17 +0200 |
commit | f8e83c05d9dc9757009c0c848a21493e37f5b5f6 (patch) | |
tree | 7dea075b85b866cd7bacbeb2d0428cc846363198 /arch | |
parent | cdf00414e5b4e5aabd2a89f0ca6cd1e9c4225b20 (diff) | |
download | barebox-f8e83c05d9dc9757009c0c848a21493e37f5b5f6.tar.gz barebox-f8e83c05d9dc9757009c0c848a21493e37f5b5f6.tar.xz |
ARM: Tegra: add Toshiba AC100 support
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/boards/toshiba-ac100/Kconfig | 9 | ||||
-rw-r--r-- | arch/arm/boards/toshiba-ac100/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/boards/toshiba-ac100/board.c | 34 | ||||
-rw-r--r-- | arch/arm/boards/toshiba-ac100/config.h | 5 | ||||
-rw-r--r-- | arch/arm/boards/toshiba-ac100/serial.c | 43 | ||||
-rw-r--r-- | arch/arm/boards/toshiba-ac100/toshiba-ac100.dox | 37 | ||||
-rw-r--r-- | arch/arm/mach-tegra/Kconfig | 12 |
8 files changed, 143 insertions, 0 deletions
diff --git a/arch/arm/Makefile b/arch/arm/Makefile index ddff124dc9..2407b69665 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -134,6 +134,7 @@ board-$(CONFIG_MACH_TX25) := karo-tx25 board-$(CONFIG_MACH_TQMA53) := tqma53 board-$(CONFIG_MACH_TX51) := karo-tx51 board-$(CONFIG_MACH_MX6Q_ARM2) := freescale-mx6-arm2 +board-$(CONFIG_MACH_TOSHIBA_AC100) := toshiba-ac100 machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y)) diff --git a/arch/arm/boards/toshiba-ac100/Kconfig b/arch/arm/boards/toshiba-ac100/Kconfig new file mode 100644 index 0000000000..abba2cc582 --- /dev/null +++ b/arch/arm/boards/toshiba-ac100/Kconfig @@ -0,0 +1,9 @@ +if MACH_TOSHIBA_AC100 + +config ARCH_TEXT_BASE + hex + default 0x01000000 + +config BOARDINFO + default "Toshiba AC100 (Tegra2)" +endif diff --git a/arch/arm/boards/toshiba-ac100/Makefile b/arch/arm/boards/toshiba-ac100/Makefile new file mode 100644 index 0000000000..9e14763111 --- /dev/null +++ b/arch/arm/boards/toshiba-ac100/Makefile @@ -0,0 +1,2 @@ +obj-y += board.o +obj-$(CONFIG_DRIVER_SERIAL_NS16550) += serial.o diff --git a/arch/arm/boards/toshiba-ac100/board.c b/arch/arm/boards/toshiba-ac100/board.c new file mode 100644 index 0000000000..e3a5ebabed --- /dev/null +++ b/arch/arm/boards/toshiba-ac100/board.c @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2011 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 <asm/armlinux.h> +#include <sizes.h> + +static int ac100_mem_init(void) +{ + arm_add_mem_device("ram0", 0x0, SZ_512M); + + return 0; +} +mem_initcall(ac100_mem_init); diff --git a/arch/arm/boards/toshiba-ac100/config.h b/arch/arm/boards/toshiba-ac100/config.h new file mode 100644 index 0000000000..25bb18f787 --- /dev/null +++ b/arch/arm/boards/toshiba-ac100/config.h @@ -0,0 +1,5 @@ + +#ifndef __CONFIG_H +#define __CONFIG_H + +#endif /* __CONFIG_H */ diff --git a/arch/arm/boards/toshiba-ac100/serial.c b/arch/arm/boards/toshiba-ac100/serial.c new file mode 100644 index 0000000000..2ed0e3901c --- /dev/null +++ b/arch/arm/boards/toshiba-ac100/serial.c @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2011 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 <asm/io.h> +#include <asm/common.h> +#include <mach/iomap.h> + +static struct NS16550_plat serial_plat = { + .clock = 0x75 * 115200 * 16 /* MODE_X_DIV */, + .shift = 2, +}; + +static int ac100_serial_console_init(void) +{ + /* Register the serial port */ + add_ns16550_device(-1, TEGRA_UARTA_BASE, 8 << serial_plat.shift, + IORESOURCE_MEM_8BIT, &serial_plat); + + return 0; +} +console_initcall(ac100_serial_console_init); diff --git a/arch/arm/boards/toshiba-ac100/toshiba-ac100.dox b/arch/arm/boards/toshiba-ac100/toshiba-ac100.dox new file mode 100644 index 0000000000..7c50f3c1d9 --- /dev/null +++ b/arch/arm/boards/toshiba-ac100/toshiba-ac100.dox @@ -0,0 +1,37 @@ +/** @page toshiba-ac100 Toshiba AC100 + +Toshiba AC100 is a Tegra2-based netbook. + +The netbook has +@li NVidia Tegra 250 SoC; +@li 512 MiB DDR2 RAM; +@li 8 GiB internal e-MMC Flash Memory (some models have 32 GiB); +@li RS232 serial interface (LV-TTL levels on the board!); +@li SD card slot; +@li 2xUSB interface (miniUSB-B and USB-A connectors); +@li 10" LCD display (1024x600); +@li HDMI-interface; +@li touchpad and keyboard connected via I2C; the ENE KB926QF keyboard controller is used; +@li web camera; +@li some models have 3G-modem. + +U-Boot master branch is working on AC100, but there's no support for the keyboard or the display. + +barebox-toshiba-ac100 mini-howto: + +1. Connect to the netbook's UART (see http://pecourt.ovh.org/wiki-tegra/doku.php?id=hardware); + +2. Start U-Boot loader. See http://ac100.grandou.net/uboot and http://ac100.grandou.net/swarren_brain_dump for details. + +3. If you use U-Boot with turned on display support, then switch to serial console: +@verbatim + Tegra2 (ac100) # setenv stdout serial +@endverbatim + +4. Upload barebox.bin via Ymodem and start it: +@verbatim + Tegra2 (ac100) # loady 0x01f00000 + Tegra2 (ac100) # go 0x01f00000 +@endverbatim + +*/ diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig index b0cc3cdd00..eda786bafb 100644 --- a/arch/arm/mach-tegra/Kconfig +++ b/arch/arm/mach-tegra/Kconfig @@ -4,4 +4,16 @@ config ARCH_TEXT_BASE hex default 0x31fc0000 +choice + prompt "Tegra Board Type" + +config MACH_TOSHIBA_AC100 + bool "Toshiba AC100" + help + Say Y here if you are using Toshiba AC100 smartbook. + +endchoice + +source arch/arm/boards/toshiba-ac100/Kconfig + endif |