[U-Boot] [PATCH 2/2] Add Nomadik board "usb-s8815" by Calao vendor
Alessandro Rubini
rubini-list at gnudd.com
Mon Jan 18 23:13:59 CET 2010
Signed-off-by: Alessandro Rubini <rubini at gnudd.com>
Cc: Gregory Hermant <gregory.hermant at calao-systems.com>
---
MAINTAINERS | 4 +
Makefile | 4 +
board/{st/nhk8815 => calao/usb-s8815}/Makefile | 3 +-
board/{st/nhk8815 => calao/usb-s8815}/config.mk | 0
board/{st/nhk8815 => calao/usb-s8815}/lcd.c | 34 +------
board/{st/nhk8815 => calao/usb-s8815}/platform.S | 0
.../nhk8815.c => calao/usb-s8815/usb-s8815.c} | 40 +--------
include/configs/{nhk8815.h => usb-s8815.h} | 98 ++++----------------
8 files changed, 36 insertions(+), 147 deletions(-)
copy board/{st/nhk8815 => calao/usb-s8815}/Makefile (96%)
copy board/{st/nhk8815 => calao/usb-s8815}/config.mk (100%)
copy board/{st/nhk8815 => calao/usb-s8815}/lcd.c (68%)
copy board/{st/nhk8815 => calao/usb-s8815}/platform.S (100%)
copy board/{st/nhk8815/nhk8815.c => calao/usb-s8815/usb-s8815.c} (67%)
copy include/configs/{nhk8815.h => usb-s8815.h} (61%)
diff --git a/MAINTAINERS b/MAINTAINERS
index e8ba4bc..9d97b40 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -699,6 +699,10 @@ Nomadik Linux Team <STN_WMM_nomadik_linux at list.st.com>
nhk8815 ARM926EJS (Nomadik 8815 Soc)
+Alessandro Rubini <rubini at gnudd.com>
+
+ usb-s8815 ARM926EJS (Nomadik 8815 Soc)
+
Steve Sakoman <sakoman at gmail.com>
omap3_overo ARM CORTEX-A8 (OMAP3xx SoC)
diff --git a/Makefile b/Makefile
index 793fcec..39e9a09 100644
--- a/Makefile
+++ b/Makefile
@@ -3068,6 +3068,10 @@ trab_old_config: unconfig
}
@$(MKCONFIG) -a $(call xtract_trab,$@) arm arm920t trab NULL s3c24x0
+usb-s8815_config: unconfig
+ @$(MKCONFIG) $(@:_config=) arm arm926ejs usb-s8815 calao nomadik
+
+
VCMA9_config : unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t vcma9 mpl s3c24x0
diff --git a/board/st/nhk8815/Makefile b/board/calao/usb-s8815/Makefile
similarity index 96%
copy from board/st/nhk8815/Makefile
copy to board/calao/usb-s8815/Makefile
index 7155f12..730d374 100644
--- a/board/st/nhk8815/Makefile
+++ b/board/calao/usb-s8815/Makefile
@@ -29,8 +29,7 @@ include $(TOPDIR)/config.mk
LIB = $(obj)lib$(BOARD).a
-COBJS-y := nhk8815.o
-COBJS-$(CONFIG_NHK8815_KEYPAD) += keypad.o
+COBJS-y := usb-s8815.o
COBJS-$(CONFIG_LCD) += lcd.o
COBJS := $(COBJS-y)
diff --git a/board/st/nhk8815/config.mk b/board/calao/usb-s8815/config.mk
similarity index 100%
copy from board/st/nhk8815/config.mk
copy to board/calao/usb-s8815/config.mk
diff --git a/board/st/nhk8815/lcd.c b/board/calao/usb-s8815/lcd.c
similarity index 68%
copy from board/st/nhk8815/lcd.c
copy to board/calao/usb-s8815/lcd.c
index d3acb48..744da67 100644
--- a/board/st/nhk8815/lcd.c
+++ b/board/calao/usb-s8815/lcd.c
@@ -1,5 +1,5 @@
/*
- * board/st/nhk8815/lcd.c: use amba clcd and STMPE2401 for backlight/reset
+ * board/calao/usb-s8815/lcd.c: use amba clcd and STMPE2401 for backlight/reset
*
* Copyright 2009 Alessandro Rubini <rubini at unipv.it>
*
@@ -24,7 +24,7 @@
#include <common.h>
#include <lcd.h>
#include <amba_clcd.h>
-#include <stmpe2401.h>
+#include <asm/arch/gpio.h>
/* Two configurations are supported: 32bpp and 16bpp */
#if LCD_BPP == LCD_COLOR32
@@ -38,7 +38,7 @@
#endif
/* Horribly, these are precomputed registers */
-struct clcd_config nhk8815_clcd_config = {
+struct clcd_config s8815_clcd_config = {
.address = (struct clcd_registers *)NOMADIK_CLCDC_BASE,
.tim0 = 0xd52600c4, /* horizontal timings */
.tim1 = 0x220a01df, /* vertical timings */
@@ -53,36 +53,14 @@ vidinfo_t panel_info = {
.vl_col = 800,
.vl_row = 480,
.vl_bpix = CLCD_BPIX_VAL,
- .priv = &nhk8815_clcd_config,
+ .priv = &s8815_clcd_config,
};
-/* Don't turn on (too early), but configure data lines and remove reset */
+/* Set GPIO32..GPIO39 to ALTB, to enable LCD16..LCD23 */
void lcd_enable(void)
{
int i;
- /* Turn the alternate functions as needed */
- for (i = 32; i <= 39; i++)
+ for (i = 32; i < 40; i++)
nmk_gpio_af(i, GPIO_ALT_B);
-
- /* EXP1_GPIO_5 = output high -- remove reset from display */
- pe_gpio_af(STMPE1, 5, PE_GPIO_AF_GPIO);
- pe_gpio_dir(STMPE1, 5, 1);
- pe_gpio_set(STMPE1, 5, 1);
-}
-
-/* Called from late_init: we turn on the backlight through port expander */
-int nhk8815_backlight_on(void)
-{
- int i;
-
- /* Turn the alternate functions as needed */
- for (i = 32; i <= 39; i++)
- nmk_gpio_af(i, GPIO_ALT_B);
-
- /* EXP0_GPIO_21 = output high -- backlight */
- pe_gpio_af(STMPE0, 21, PE_GPIO_AF_GPIO);
- pe_gpio_dir(STMPE0, 21, 1);
- pe_gpio_set(STMPE0, 21, 1);
- return 0;
}
diff --git a/board/st/nhk8815/platform.S b/board/calao/usb-s8815/platform.S
similarity index 100%
copy from board/st/nhk8815/platform.S
copy to board/calao/usb-s8815/platform.S
diff --git a/board/st/nhk8815/nhk8815.c b/board/calao/usb-s8815/usb-s8815.c
similarity index 67%
copy from board/st/nhk8815/nhk8815.c
copy to board/calao/usb-s8815/usb-s8815.c
index fedb3c0..12ae810 100644
--- a/board/st/nhk8815/nhk8815.c
+++ b/board/calao/usb-s8815/usb-s8815.c
@@ -28,8 +28,6 @@
#include <common.h>
#include <netdev.h>
#include <asm/io.h>
-#include <asm/arch/gpio.h>
-#include "nhk8815-devices.h"
DECLARE_GLOBAL_DATA_PTR;
@@ -45,7 +43,7 @@ void show_boot_progress(int progress)
*/
int board_init(void)
{
- gd->bd->bi_arch_number = MACH_TYPE_NOMADIK;
+ gd->bd->bi_arch_number = MACH_TYPE_USB_S8815;
gd->bd->bi_boot_params = 0x00000100;
writel(0xC37800F0, NOMADIK_GPIO1_BASE + 0x20);
writel(0x00000000, NOMADIK_GPIO1_BASE + 0x24);
@@ -56,32 +54,8 @@ int board_init(void)
writel(0x0000305b, REG_FSMC_BCR1);
writel(0x00033f33, REG_FSMC_BTR1);
- /* Set up SMCS0 for OneNand: sram-like once again */
- writel(0x000030db, NOMADIK_FSMC_BASE + 0x00); /* FSMC_BCR0 */
- writel(0x02100551, NOMADIK_FSMC_BASE + 0x04); /* FSMC_BTR0 */
-
icache_enable();
- /*
- * Configure I2C pins, as we will use I2C in a later commit
- */
-
- /* Set the two I2C gpio lines to be gpio high */
- nmk_gpio_set(__SCL, 1); nmk_gpio_set(__SDA, 1);
- nmk_gpio_dir(__SCL, 1); nmk_gpio_dir(__SDA, 1);
- nmk_gpio_af(__SCL, GPIO_GPIO); nmk_gpio_af(__SDA, GPIO_GPIO);
-
- /* Put the two I2C port expanders out of reset, on GPIO77 and 79 */
- {
- int n[2]={77, 79};
- int i;
- for (i = 0; i < ARRAY_SIZE(n); i++) {
- nmk_gpio_af(n[i], GPIO_GPIO);
- nmk_gpio_dir(n[i], 1);
- nmk_gpio_set(n[i], 1);
- }
- }
-
return 0;
}
@@ -107,15 +81,3 @@ int board_eth_init(bd_t *bis)
}
#endif
-/* Initialization callback, from lib_arm/board.c */
-int board_late_init(void)
-{
-#ifdef CONFIG_NHK8815_KEYPAD
- nhk8815_keypad_init();
-#endif
-#ifdef CONFIG_LCD
- nhk8815_backlight_on();
-#endif
- return 0;
-}
-
diff --git a/include/configs/nhk8815.h b/include/configs/usb-s8815.h
similarity index 61%
copy from include/configs/nhk8815.h
copy to include/configs/usb-s8815.h
index bbeea91..83df9e7 100644
--- a/include/configs/nhk8815.h
+++ b/include/configs/usb-s8815.h
@@ -1,8 +1,8 @@
/*
* (C) Copyright 2005
* STMicroelectronics.
- * Configuration settings for the "Nomadik Hardware Kit" NHK-8815,
- * the evaluation board for the Nomadik 8815 System on Chip.
+ * Configuration settings for the "USBkey" S8815 by Calao.
+ * The board is similar to the NHK8815 Nomadik Evaluation Board
*
* See file CREDITS for list of people who contributed to this
* project.
@@ -31,7 +31,6 @@
#define CONFIG_ARM926EJS
#define CONFIG_NOMADIK
#define CONFIG_NOMADIK_8815 /* cpu variant */
-#define CONFIG_NOMADIK_NHK8815 /* board variant */
#define CONFIG_SKIP_LOWLEVEL_INIT /* we have already been loaded to RAM */
@@ -48,12 +47,13 @@
#define CONFIG_SYS_NO_FLASH
/* There is NAND storage */
#define CONFIG_NAND_NOMADIK
+#define CONFIG_NAND_NOMADIK_16BIT
#define CONFIG_CMD_JFFS2
/* user interface */
#define CONFIG_SYS_LONGHELP
#define CONFIG_SYS_HUSH_PARSER
-#define CONFIG_SYS_PROMPT "Nomadik> "
+#define CONFIG_SYS_PROMPT "S8815> "
#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
#define CONFIG_CMDLINE_EDITING
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
@@ -88,7 +88,7 @@
#endif
#define CONFIG_SYS_MEMTEST_START 0x00000000
-#define CONFIG_SYS_MEMTEST_END 0x0FFFFFFF
+#define CONFIG_SYS_MEMTEST_END 0x03b00000 /* we live at 0x3c0.0000 */
#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 256 * 1024)
#define CONFIG_SYS_GBL_DATA_SIZE 128 /* for initial data */
@@ -109,30 +109,6 @@
#define CONFIG_PL01x_PORTS { (void *)CFG_SERIAL0, (void *)CFG_SERIAL1 }
#define CONFIG_PL011_CLOCK 48000000
-/* i2c, for the stmpe2401 port extenders (uses gpio.c in board directory) */
-#ifndef __ASSEMBLY__
-#include <asm/arch/gpio.h>
-#define CONFIG_CMD_I2C
-#define CONFIG_SOFT_I2C
-#define CONFIG_SYS_I2C_SPEED 400000
-#define __SDA 63
-#define __SCL 62
-#define I2C_SDA(x) nmk_gpio_set(__SDA, x)
-#define I2C_SCL(x) nmk_gpio_set(__SCL, x)
-#define I2C_READ (nmk_gpio_get(__SDA)!=0)
-#define I2C_ACTIVE nmk_gpio_dir(__SDA, 1)
-#define I2C_TRISTATE nmk_gpio_dir(__SDA, 0)
-#define I2C_DELAY (udelay(2))
-#endif /* __ASSEMBLY__ */
-
-/* Activate port extenders and define their i2c address */
-#define CONFIG_STMPE2401
-#define STMPE0 0x43
-#define STMPE1 0x44
-
-/* Keypad using stmpe2401 */
-#define CONFIG_NHK8815_KEYPAD
-
/* Display support */
#define CONFIG_LCD
#define CONFIG_LCD_LOGO
@@ -160,59 +136,25 @@
#define CONFIG_TFTP_BLOCKSIZE 4096
#define CONFIG_NFS_READ_SIZE 4096
-/* Storage information: onenand and nand */
-#define CONFIG_CMD_ONENAND
-#define CONFIG_MTD_ONENAND_VERIFY_WRITE
-#define CONFIG_SYS_ONENAND_BASE 0x30000000
-
+/* Storage information: internal nand */
#define CONFIG_CMD_NAND
#define CONFIG_SYS_MAX_NAND_DEVICE 1
#define CONFIG_SYS_NAND_BASE 0x40000000 /* SMPS0n */
-/*
- * Filesystem information
- *
- * Since U-Boot has been loaded to RAM by vendor code, we could use
- * either or both OneNand and Nand. However, we need to know where the
- * filesystem lives. Comments below report vendor-selected partitions
+/* Partition Size Start
+ * XloaderTOC + X-Loader 256KB 0x00000000
+ * Memory init function 256KB 0x00040000
+ * U-Boot + env 2MB 0x00080000
+ * Kernel Image 3MB 0x00280000
+ * JFFS2 Root filesystem 22MB 0x00580000
+ * JFFS2 User Data 100.5MB 0x01b80000
*/
-#ifdef CONFIG_BOOT_ONENAND
- /* Partition Size Start
- * XloaderTOC + X-Loader 256KB 0x00000000
- * Memory init function 256KB 0x00040000
- * U-Boot + env 2MB 0x00080000
- * Sysimage (kernel + ramdisk) 4MB 0x00280000
- * JFFS2 Root filesystem 22MB 0x00680000
- * JFFS2 User Data 227.5MB 0x01C80000
- */
-# define CONFIG_JFFS2_DEV "onenand0"
-# define CONFIG_JFFS2_PART_SIZE 0x01600000
-# define CONFIG_JFFS2_PART_OFFSET 0x00680000
-# define CONFIG_ENV_IS_IN_ONENAND
-# define CONFIG_ENV_SIZE 0x20000 /* 128 Kb - one sector */
-# define CONFIG_ENV_ADDR (0x00280000 - CONFIG_ENV_SIZE)
-
-#else /* BOOT_NAND */
- /* Partition Size Start
- * XloaderTOC + X-Loader 256KB 0x00000000
- * Memory init function 256KB 0x00040000
- * U-Boot + env 2MB 0x00080000
- * Kernel Image 3MB 0x00280000
- * JFFS2 Root filesystem 22MB 0x00580000
- * JFFS2 User Data 100.5MB 0x01b80000
- */
-# define CONFIG_JFFS2_DEV "nand0"
-# define CONFIG_JFFS2_NAND 1 /* For the jffs2 support*/
-# define CONFIG_JFFS2_PART_SIZE 0x01600000
-# define CONFIG_JFFS2_PART_OFFSET 0x00580000
-# define CONFIG_ENV_IS_IN_NAND
-# define CONFIG_ENV_SIZE 0x20000 /* 128 Kb - one sector */
-# define CONFIG_ENV_OFFSET (0x00280000 - CONFIG_ENV_SIZE)
-
-#endif /* CONFIG_BOOT_ONENAND */
-
-/* this is needed to make hello_world.c and other stuff happy */
-#define CONFIG_SYS_MAX_FLASH_SECT 512
-#define CONFIG_SYS_MAX_FLASH_BANKS 1
+#define CONFIG_JFFS2_DEV "nand0"
+#define CONFIG_JFFS2_NAND 1 /* For the jffs2 support*/
+#define CONFIG_JFFS2_PART_SIZE 0x01600000
+#define CONFIG_JFFS2_PART_OFFSET 0x00580000
+#define CONFIG_ENV_IS_IN_NAND
+#define CONFIG_ENV_SIZE 0x20000 /* 128 Kb - one sector */
+#define CONFIG_ENV_OFFSET (0x00280000 - CONFIG_ENV_SIZE)
#endif /* __CONFIG_H */
--
1.6.0.2
More information about the U-Boot
mailing list