* [PATCH 01/20] S3C24xx: Just remove a trailing whitespace
2011-02-16 18:13 [PATCH v2] Booting from NAND for the mini2440 platform Juergen Beisert
@ 2011-02-16 18:13 ` Juergen Beisert
2011-02-16 18:13 ` [PATCH 02/20] MACH-S3C24XX: Fix typo in UART2_SIZE macro Juergen Beisert
` (18 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Juergen Beisert @ 2011-02-16 18:13 UTC (permalink / raw)
To: barebox; +Cc: Juergen Beisert
From: Juergen Beisert <juergen@kreuzholzen.de>
Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
---
arch/arm/mach-s3c24xx/Kconfig | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-s3c24xx/Kconfig b/arch/arm/mach-s3c24xx/Kconfig
index 0f4d6e7..8b86d2d 100644
--- a/arch/arm/mach-s3c24xx/Kconfig
+++ b/arch/arm/mach-s3c24xx/Kconfig
@@ -43,7 +43,7 @@ config MACH_MINI2440
select CPU_S3C2440
select HAS_DM9000
help
- Say Y here if you are using Mini 2440 dev board equipped
+ Say Y here if you are using Mini 2440 dev board equipped
with a Samsung S3C2440 Processor
endchoice
--
1.7.2.3
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 02/20] MACH-S3C24XX: Fix typo in UART2_SIZE macro
2011-02-16 18:13 [PATCH v2] Booting from NAND for the mini2440 platform Juergen Beisert
2011-02-16 18:13 ` [PATCH 01/20] S3C24xx: Just remove a trailing whitespace Juergen Beisert
@ 2011-02-16 18:13 ` Juergen Beisert
2011-02-16 18:13 ` [PATCH 03/20] MACH-S3C24XX: Change detection method of the second SDRAM bank Juergen Beisert
` (17 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Juergen Beisert @ 2011-02-16 18:13 UTC (permalink / raw)
To: barebox; +Cc: Juergen Beisert
From: Juergen Beisert <juergen@kreuzholzen.de>
Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
---
arch/arm/mach-s3c24xx/include/mach/s3c24x0-iomap.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-s3c24xx/include/mach/s3c24x0-iomap.h b/arch/arm/mach-s3c24xx/include/mach/s3c24x0-iomap.h
index ab3dc4f..a990d80 100644
--- a/arch/arm/mach-s3c24xx/include/mach/s3c24x0-iomap.h
+++ b/arch/arm/mach-s3c24xx/include/mach/s3c24x0-iomap.h
@@ -88,7 +88,7 @@
#define UART1_BASE (S3C24X0_UART_BASE)
#define UART1_SIZE 0x4000
#define UART2_BASE (S3C24X0_UART_BASE + 0x4000)
-#define UART3_SIZE 0x4000
+#define UART2_SIZE 0x4000
#define UART3_BASE (S3C24X0_UART_BASE + 0x8000)
#define UART3_SIZE 0x4000
--
1.7.2.3
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 03/20] MACH-S3C24XX: Change detection method of the second SDRAM bank
2011-02-16 18:13 [PATCH v2] Booting from NAND for the mini2440 platform Juergen Beisert
2011-02-16 18:13 ` [PATCH 01/20] S3C24xx: Just remove a trailing whitespace Juergen Beisert
2011-02-16 18:13 ` [PATCH 02/20] MACH-S3C24XX: Fix typo in UART2_SIZE macro Juergen Beisert
@ 2011-02-16 18:13 ` Juergen Beisert
2011-02-16 18:13 ` [PATCH 04/20] MACH-S3C24XX: Add support for flash based BBT Juergen Beisert
` (16 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Juergen Beisert @ 2011-02-16 18:13 UTC (permalink / raw)
To: barebox; +Cc: Juergen Beisert
From: Juergen Beisert <juergen@kreuzholzen.de>
There is no rule how to connect the SDRAMs to the two clocks signales the CPU
provides. Some boards are using them on a per bank base, some others on a per
chip base. So, the check for the enabled second clock cannot be used to detect
if the second SDRAM bank is populated.
A better way is to check the MT bits of the second SDRAM bank register. When
the init code sets these bits to '00' the second bank is not used for SDRAM
and gets ignored.
Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
---
arch/arm/mach-s3c24xx/generic.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-s3c24xx/generic.c b/arch/arm/mach-s3c24xx/generic.c
index c04e0b6..4c7e799 100644
--- a/arch/arm/mach-s3c24xx/generic.c
+++ b/arch/arm/mach-s3c24xx/generic.c
@@ -181,8 +181,9 @@ int s3c24xx_dump_clocks(void)
printf("hclk: %7d kHz\n", s3c24xx_get_hclk() / 1000);
printf("pclk: %7d kHz\n", s3c24xx_get_pclk() / 1000);
printf("SDRAM1: CL%d@%dMHz\n", ((readl(BANKCON6) & 0xc) >> 2) + 2, s3c24xx_get_hclk() / 1000000);
- if (!(readl(MISCCR) & (1 << 18)))
- printf("SDRAM2: CL%d@%dMHz\n", ((readl(BANKCON7) & 0xc) >> 2) + 2, s3c24xx_get_hclk() / 1000000);
+ if ((readl(BANKCON7) & (0x3 << 15)) == (0x3 << 15))
+ printf("SDRAM2: CL%d@%dMHz\n", ((readl(BANKCON7) & 0xc) >> 2) + 2,
+ s3c24xx_get_hclk() / 1000000);
return 0;
}
--
1.7.2.3
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 04/20] MACH-S3C24XX: Add support for flash based BBT
2011-02-16 18:13 [PATCH v2] Booting from NAND for the mini2440 platform Juergen Beisert
` (2 preceding siblings ...)
2011-02-16 18:13 ` [PATCH 03/20] MACH-S3C24XX: Change detection method of the second SDRAM bank Juergen Beisert
@ 2011-02-16 18:13 ` Juergen Beisert
2011-02-16 18:13 ` [PATCH 05/20] MACH-S3C2440: Fix NAND controller for this CPU Juergen Beisert
` (15 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Juergen Beisert @ 2011-02-16 18:13 UTC (permalink / raw)
To: barebox; +Cc: Juergen Beisert
From: Juergen Beisert <juergen@kreuzholzen.de>
The default configuration of the current 2.6.37 kernel uses a flash based BBT.
So, barebox must also use one, to be in sync with the kernel about bad blocks
in the flash.
Due to the used OOB layout, the generic BBT description coming with the
framework can be used.
Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
---
arch/arm/mach-s3c24xx/include/mach/s3c24x0-nand.h | 1 +
drivers/mtd/nand/nand_s3c2410.c | 6 ++++++
2 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-s3c24xx/include/mach/s3c24x0-nand.h b/arch/arm/mach-s3c24xx/include/mach/s3c24x0-nand.h
index 05f9cf0..d06287e 100644
--- a/arch/arm/mach-s3c24xx/include/mach/s3c24x0-nand.h
+++ b/arch/arm/mach-s3c24xx/include/mach/s3c24x0-nand.h
@@ -45,6 +45,7 @@ extern void s3c24x0_nand_load_image(void*, int, int, int);
*/
struct s3c24x0_nand_platform_data {
uint32_t nand_timing; /**< value for the NFCONF register (timing bits only) */
+ char flash_bbt; /**< force a flash based BBT */
};
/**
diff --git a/drivers/mtd/nand/nand_s3c2410.c b/drivers/mtd/nand/nand_s3c2410.c
index fa4acf4..8a47dc6 100644
--- a/drivers/mtd/nand/nand_s3c2410.c
+++ b/drivers/mtd/nand/nand_s3c2410.c
@@ -349,6 +349,7 @@ static int s3c24x0_nand_inithw(struct s3c24x0_nand_host *host)
static int s3c24x0_nand_probe(struct device_d *dev)
{
struct nand_chip *chip;
+ struct s3c24x0_nand_platform_data *pdata = dev->platform_data;
struct mtd_info *mtd;
struct s3c24x0_nand_host *host;
int ret;
@@ -393,6 +394,11 @@ static int s3c24x0_nand_probe(struct device_d *dev)
chip->ecc.bytes = 3;
chip->ecc.layout = &nand_hw_eccoob;
+ if (pdata->flash_bbt) {
+ /* use a flash based bbt */
+ chip->options |= NAND_USE_FLASH_BBT;
+ }
+
ret = s3c24x0_nand_inithw(host);
if (ret != 0)
goto on_error;
--
1.7.2.3
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 05/20] MACH-S3C2440: Fix NAND controller for this CPU
2011-02-16 18:13 [PATCH v2] Booting from NAND for the mini2440 platform Juergen Beisert
` (3 preceding siblings ...)
2011-02-16 18:13 ` [PATCH 04/20] MACH-S3C24XX: Add support for flash based BBT Juergen Beisert
@ 2011-02-16 18:13 ` Juergen Beisert
2011-02-16 18:13 ` [PATCH 06/20] MACH-S3C2440: Speed up " Juergen Beisert
` (14 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Juergen Beisert @ 2011-02-16 18:13 UTC (permalink / raw)
To: barebox; +Cc: Juergen Beisert
From: Juergen Beisert <juergen@kreuzholzen.de>
There are a few but important differences in S3C2410 and S3C2440. This patch
fixes them for the S3C2440 CPU.
Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
---
drivers/mtd/nand/nand_s3c2410.c | 18 +++++++++++++++---
1 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/drivers/mtd/nand/nand_s3c2410.c b/drivers/mtd/nand/nand_s3c2410.c
index 8a47dc6..76ea9db 100644
--- a/drivers/mtd/nand/nand_s3c2410.c
+++ b/drivers/mtd/nand/nand_s3c2410.c
@@ -77,14 +77,13 @@
#define NFCMD 0x08
#define NFADDR 0x0C
#define NFDATA 0x10
-
-#define NFECC 0x1C
#define NFSTAT 0x20
+#define NFECC 0x2C
/* S3C2440 specific bits */
#define NFSTAT_BUSY (1)
#define NFCONT_nFCE (1 << 1)
-#define NFCONF_INITECC (1 << 12)
+#define NFCONT_INITECC (1 << 4)
#define NFCONT_EN (1)
#endif /* CONFIG_CPU_S3C2440 */
@@ -272,7 +271,12 @@ static void s3c2410_nand_enable_hwecc(struct mtd_info *mtd, int mode)
struct nand_chip *nand_chip = mtd->priv;
struct s3c24x0_nand_host *host = nand_chip->priv;
+#ifdef CONFIG_CPU_S3C2410
writel(readl(host->base + NFCONF) | NFCONF_INITECC , host->base + NFCONF);
+#endif
+#ifdef CONFIG_CPU_S3C2440
+ writel(readl(host->base + NFCONT) | NFCONT_INITECC , host->base + NFCONT);
+#endif
}
static int s3c2410_nand_calculate_ecc(struct mtd_info *mtd, const uint8_t *dat, uint8_t *ecc_code)
@@ -280,10 +284,18 @@ static int s3c2410_nand_calculate_ecc(struct mtd_info *mtd, const uint8_t *dat,
struct nand_chip *nand_chip = mtd->priv;
struct s3c24x0_nand_host *host = nand_chip->priv;
+#ifdef CONFIG_CPU_S3C2410
ecc_code[0] = readb(host->base + NFECC);
ecc_code[1] = readb(host->base + NFECC + 1);
ecc_code[2] = readb(host->base + NFECC + 2);
+#endif
+#ifdef CONFIG_CPU_S3C2440
+ unsigned long ecc = readl(host->base + NFECC);
+ ecc_code[0] = ecc;
+ ecc_code[1] = ecc >> 8;
+ ecc_code[2] = ecc >> 16;
+#endif
return 0;
}
--
1.7.2.3
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 06/20] MACH-S3C2440: Speed up NAND controller for this CPU
2011-02-16 18:13 [PATCH v2] Booting from NAND for the mini2440 platform Juergen Beisert
` (4 preceding siblings ...)
2011-02-16 18:13 ` [PATCH 05/20] MACH-S3C2440: Fix NAND controller for this CPU Juergen Beisert
@ 2011-02-16 18:13 ` Juergen Beisert
2011-02-16 18:13 ` [PATCH 07/20] mini2440: Be a little be pedantic with the include file order Juergen Beisert
` (13 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Juergen Beisert @ 2011-02-16 18:13 UTC (permalink / raw)
To: barebox; +Cc: Juergen Beisert
From: Juergen Beisert <juergen@kreuzholzen.de>
The S3C2440 provides 32 bit access to the NAND's data. Add specific read
routines to speed up data reading and writing.
These routines are stolen from the Linux kernel.
Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
---
drivers/mtd/nand/nand_s3c2410.c | 55 +++++++++++++++++++++++++++++++++++++++
1 files changed, 55 insertions(+), 0 deletions(-)
diff --git a/drivers/mtd/nand/nand_s3c2410.c b/drivers/mtd/nand/nand_s3c2410.c
index 76ea9db..df0b7c1 100644
--- a/drivers/mtd/nand/nand_s3c2410.c
+++ b/drivers/mtd/nand/nand_s3c2410.c
@@ -194,6 +194,57 @@ static void __nand_boot_init disable_nand_controller(void __iomem *host)
/* ----------------------------------------------------------------------- */
+#ifdef CONFIG_CPU_S3C2440
+/**
+ * Read one block of data from the NAND port
+ * @param[in] mtd Instance data
+ * @param[out] buf buffer to write data to
+ * @param[in] len byte count
+ *
+ * This is a special block read variant for the S3C2440 CPU.
+ */
+static void s3c2440_nand_read_buf(struct mtd_info *mtd, uint8_t *buf, int len)
+{
+ struct nand_chip *nand_chip = mtd->priv;
+ struct s3c24x0_nand_host *host = nand_chip->priv;
+
+ readsl(host->base + NFDATA, buf, len >> 2);
+
+ /* cleanup any fractional read */
+ if (len & 3) {
+ buf += len & ~3;
+
+ for (; len & 3; len--)
+ *buf++ = readb(host->base + NFDATA);
+ }
+}
+
+/**
+ * Write one block of data to the NAND port
+ * @param[in] mtd Instance data
+ * @param[out] buf buffer to read data from
+ * @param[in] len byte count
+ *
+ * This is a special block write variant for the S3C2440 CPU.
+ */
+static void s3c2440_nand_write_buf(struct mtd_info *mtd, const uint8_t *buf,
+ int len)
+{
+ struct nand_chip *nand_chip = mtd->priv;
+ struct s3c24x0_nand_host *host = nand_chip->priv;
+
+ writesl(host->base + NFDATA, buf, len >> 2);
+
+ /* cleanup any fractional write */
+ if (len & 3) {
+ buf += len & ~3;
+
+ for (; len & 3; len--, buf++)
+ writeb(*buf, host->base + NFDATA);
+ }
+}
+#endif
+
/**
* Check the ECC and try to repair the data if possible
* @param[in] mtd_info FIXME
@@ -390,6 +441,10 @@ static int s3c24x0_nand_probe(struct device_d *dev)
chip->IO_ADDR_R = chip->IO_ADDR_W = IOMEM(dev->map_base + NFDATA);
+#ifdef CONFIG_CPU_S3C2440
+ chip->read_buf = s3c2440_nand_read_buf;
+ chip->write_buf = s3c2440_nand_write_buf;
+#endif
chip->cmd_ctrl = s3c24x0_nand_hwcontrol;
chip->dev_ready = s3c24x0_nand_devready;
chip->select_chip = s3c24x0_nand_select_chip;
--
1.7.2.3
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 07/20] mini2440: Be a little be pedantic with the include file order
2011-02-16 18:13 [PATCH v2] Booting from NAND for the mini2440 platform Juergen Beisert
` (5 preceding siblings ...)
2011-02-16 18:13 ` [PATCH 06/20] MACH-S3C2440: Speed up " Juergen Beisert
@ 2011-02-16 18:13 ` Juergen Beisert
2011-02-16 18:13 ` [PATCH 08/20] mini2440: Fix a runtime warning when '.id=0' is used Juergen Beisert
` (12 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Juergen Beisert @ 2011-02-16 18:13 UTC (permalink / raw)
To: barebox; +Cc: Juergen Beisert
From: Juergen Beisert <juergen@kreuzholzen.de>
Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
---
arch/arm/boards/mini2440/mini2440.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/boards/mini2440/mini2440.c b/arch/arm/boards/mini2440/mini2440.c
index 9639176..a3bb817 100644
--- a/arch/arm/boards/mini2440/mini2440.c
+++ b/arch/arm/boards/mini2440/mini2440.c
@@ -29,15 +29,15 @@
#include <common.h>
#include <driver.h>
#include <init.h>
-#include <asm/armlinux.h>
#include <generated/mach-types.h>
#include <partition.h>
+#include <dm9000.h>
#include <nand.h>
+#include <asm/armlinux.h>
#include <asm/io.h>
#include <mach/s3c24x0-iomap.h>
#include <mach/s3c24x0-nand.h>
#include <mach/s3c24xx-generic.h>
-#include <dm9000.h>
static struct memory_platform_data ram_pdata = {
.name = "ram0",
--
1.7.2.3
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 08/20] mini2440: Fix a runtime warning when '.id=0' is used
2011-02-16 18:13 [PATCH v2] Booting from NAND for the mini2440 platform Juergen Beisert
` (6 preceding siblings ...)
2011-02-16 18:13 ` [PATCH 07/20] mini2440: Be a little be pedantic with the include file order Juergen Beisert
@ 2011-02-16 18:13 ` Juergen Beisert
2011-02-16 18:13 ` [PATCH 09/20] mini2440: Add some useful documentation Juergen Beisert
` (11 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Juergen Beisert @ 2011-02-16 18:13 UTC (permalink / raw)
To: barebox; +Cc: Juergen Beisert
From: Juergen Beisert <juergen@kreuzholzen.de>
Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
---
arch/arm/boards/mini2440/mini2440.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/arch/arm/boards/mini2440/mini2440.c b/arch/arm/boards/mini2440/mini2440.c
index a3bb817..e22fbd0 100644
--- a/arch/arm/boards/mini2440/mini2440.c
+++ b/arch/arm/boards/mini2440/mini2440.c
@@ -45,6 +45,7 @@ static struct memory_platform_data ram_pdata = {
};
static struct device_d sdram_dev = {
+ .id = -1,
.name = "mem",
.map_base = CS6_BASE,
.size = 64 * 1024 * 1024,
--
1.7.2.3
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 09/20] mini2440: Add some useful documentation
2011-02-16 18:13 [PATCH v2] Booting from NAND for the mini2440 platform Juergen Beisert
` (7 preceding siblings ...)
2011-02-16 18:13 ` [PATCH 08/20] mini2440: Fix a runtime warning when '.id=0' is used Juergen Beisert
@ 2011-02-16 18:13 ` Juergen Beisert
2011-02-16 18:13 ` [PATCH 10/20] mini2440: Add PLL settings Juergen Beisert
` (10 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Juergen Beisert @ 2011-02-16 18:13 UTC (permalink / raw)
To: barebox; +Cc: Juergen Beisert
From: Juergen Beisert <juergen@kreuzholzen.de>
Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
---
arch/arm/boards/mini2440/mini2440.c | 157 +++++++++++++++++++++++++++++++++++
1 files changed, 157 insertions(+), 0 deletions(-)
diff --git a/arch/arm/boards/mini2440/mini2440.c b/arch/arm/boards/mini2440/mini2440.c
index e22fbd0..17496a4 100644
--- a/arch/arm/boards/mini2440/mini2440.c
+++ b/arch/arm/boards/mini2440/mini2440.c
@@ -64,6 +64,10 @@ static struct device_d nand_dev = {
/*
* dm9000 network controller onboard
+ * Connected to CS line 4 and interrupt line EINT7,
+ * data width is 16 bit
+ * Area 1: Offset 0x300...0x303
+ * Area 2: Offset 0x304...0x307
*/
static struct dm9000_platform_data dm9000_data = {
.iobase = CS4_BASE + 0x300,
@@ -139,3 +143,156 @@ static int mini2440_console_init(void)
}
console_initcall(mini2440_console_init);
+
+/** @page mini2440 FriendlyARM's mini2440
+
+This system is based on a Samsung S3C2440 CPU. The card is shipped with:
+
+- S3C2440\@400 MHz or 533 MHz (ARM920T/ARMv4T)
+- 12 MHz crystal reference
+- 32.768 kHz crystal reference
+- SDRAM 64 MiB (one bank only)
+ - HY57V561620 (two devices for 64 MiB to form a 32 bit bus)
+ - 4M x 16bit x 4 Banks Mobile SDRAM
+ - 8192 refresh cycles / 64 ms
+ - CL2\@100 MHz
+ - 133 MHz max
+ - collumn address size is 9 bits
+ - row address size is 13 bits
+ - MT48LC16M16 (two devices for 64 MiB to form a 32 bit bus)
+ - 4M x 16bit x 4 Banks Mobile SDRAM
+ - commercial & industrial type
+ - 8192 refresh cycles / 64 ms
+ - CL2\@100 MHz
+ - 133 MHz max
+ - collumn address size is 9 bits
+ - row address size is 13 bits
+- NAND Flash 128MiB...1GiB
+ - K9Fxx08
+- NOR Flash (up to 22 address lines available)
+ - AM29LV160DB, 2 MiB
+ - SST39VF1601, 2 MiB
+ - 16 bit data bus
+- SD card interface, 3.3V (fixed voltage)
+- Host and device USB interface, USB1.1 compliant
+- UDA1341TS Audio
+- DM9000 Ethernet interface
+ - uses CS#4
+ - uses EINT7
+ - 16 bit data bus
+- I2C interface, 100 KHz and 400 KHz
+ - EEPROM
+ - ST M24C08
+ - address 0x50
+- Speaker on GPB0 ("low" = inactive)
+- LCD interface
+- Touch Screen interface
+- Camera interface
+- I2S interface
+- AC97 Audio-CODEC interface
+- three serial RS232 interfaces (one with level converter)
+- SPI interface
+- JTAG interface
+
+How to get the binary image:
+
+Using the default configuration:
+
+@code
+make ARCH=arm mini2440_defconfig
+@endcode
+
+Build the binary image:
+
+@code
+make ARCH=arm CROSS_COMPILE=armv4compiler
+@endcode
+
+@note replace the armv4compiler with your ARM v4 cross compiler.
+
+How to bring in \a barebox ?
+
+First run it as a second stage bootloader. There are two known working ways to
+do so:
+
+One way is to use the "device firmware update" feature of the 'supervivi'.
+ - connect a terminal application to the mini2440's serial connector
+ - switch S2 to 'boot from NOR' to boot into 'supervivi'
+ - connect your host to the usb device connector on the mini2440
+ - switch on your mini2440
+ - in 'supervivi' type q (command line) then:
+@code
+load ram 0x31000000 \<barebox-size\> u
+@endcode
+ - use a tool for DFU update (for example from openkomo) to transfer the 'barebox.bin' binary
+ - then in 'supervivi' just run
+@code
+go 0x31000000
+@endcode
+
+A second way is to use any kind of JTAG adapter. For this case I'm using the
+'JTAKkey tiny' from Amontec and OpenOCD. First you need an adapter for this
+kind of Dongle as it uses a 20 pin connector with 2.54 mm grid, and the
+mini2440 uses a 10 pin connector with 2 mm grid.
+
+@code
+ Amontec JTAGkey tiny mini2440
+ -------------------------------------------------------
+ VREF 1 2 n.c. VREF 1 2 VREF
+ TRST_N 3 4 GND TRST_N 3 4 SRST_N
+ TDI 5 6 GND TDI 5 6 TDO
+ TMS 7 8 GND TMS 7 8 GND
+ TCK 9 10 GND TCK 9 10 GND
+ n.c. 11 12 GND
+ TDO 13 14 GND
+ SRST_N 15 16 GND
+ n.c. 17 18 GND
+ n.c. 19 20 GND
+@endcode
+
+Create a simple board description file. I did it this way:
+
+@code
+source [find interface/jtagkey-tiny.cfg]
+source [find target/samsung_s3c2440.cfg]
+
+adapter_khz 12000
+@endcode
+
+And then the following steps:
+ - connect a terminal application to the mini2440's serial connector
+ - connect the mini2440 to a working network
+ - switch S2 to boot from NOR to boot into 'supervivi'
+ - switch on your mini2440
+ - run the OpenOCD daemon configured with the file shown above
+ - connect to the OpenOCD daemon via 'telnet'.
+ - run the following commands to download @a barebox into your target
+@code
+> halt
+> load_image \<path to the 'barebox.bin'\> 0x31000000 bin
+> resume 0x31000000
+@endcode
+
+Now @a barebox is starting from an already initialized CPU and SDRAM (done by
+'supervivi').
+
+Change to your terminal console and configure the network first. Adapt the
+following settings to your network:
+@code
+eth0.ipaddr=192.168.1.240
+eth0.netmask=255.255.255.0
+eth0.gateway=192.168.23.2
+eth0.serverip=192.168.1.7
+eth0.ethaddr=00:04:f3:00:06:35
+@endcode
+
+A 'ping' to your TFTP server should bring a "...is alive" message now.
+
+We are ready now to program @a barebox into the NAND flash:
+
+@code
+erase /dev/nand0.barebox.bb
+tftp barebox.bin /dev/nand0.barebox.bb
+@endcode
+
+*/
--
1.7.2.3
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 10/20] mini2440: Add PLL settings
2011-02-16 18:13 [PATCH v2] Booting from NAND for the mini2440 platform Juergen Beisert
` (8 preceding siblings ...)
2011-02-16 18:13 ` [PATCH 09/20] mini2440: Add some useful documentation Juergen Beisert
@ 2011-02-16 18:13 ` Juergen Beisert
2011-02-16 18:13 ` [PATCH 11/20] mini2440: Add SDRAM config settings Juergen Beisert
` (9 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Juergen Beisert @ 2011-02-16 18:13 UTC (permalink / raw)
To: barebox; +Cc: Juergen Beisert
From: Juergen Beisert <juergen@kreuzholzen.de>
This is required in order to enable booting from NAND and using the generic
S3C2440 setup routines.
Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
---
arch/arm/boards/mini2440/config.h | 22 ++++++++++++++++++++++
1 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/arch/arm/boards/mini2440/config.h b/arch/arm/boards/mini2440/config.h
index a664017..1edd69c 100644
--- a/arch/arm/boards/mini2440/config.h
+++ b/arch/arm/boards/mini2440/config.h
@@ -26,6 +26,28 @@
*/
#define S3C24XX_CLOCK_REFERENCE 12000000
+/**
+ * Define the main clock configuration to be used in register CLKDIVN
+ *
+ * We must limit the frequency of the connected SDRAMs with the clock ratio
+ * setup to 1:4:8. This will result into FCLK:HCLK:PCLK = 405Mhz:102MHz:51MHz
+ */
+#define BOARD_SPECIFIC_CLKDIVN 0x05
+
+/**
+ * Define the MPLL configuration to be used in register MPLLCON
+ *
+ * We want the MPLL to run at 405.0 MHz
+ */
+#define BOARD_SPECIFIC_MPLL ((0x7f << 12) + (2 << 4) + 1)
+
+/**
+ * Define the UPLL configuration to be used in register UPLLCON
+ *
+ * We want the UPLL to run at 48.0 MHz
+ */
+#define BOARD_SPECIFIC_UPLL ((0x38 << 12) + (2 << 4) + 2)
+
/*
* Flash access timings
* Tacls = 0ns (but 20ns data setup time)
--
1.7.2.3
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 11/20] mini2440: Add SDRAM config settings
2011-02-16 18:13 [PATCH v2] Booting from NAND for the mini2440 platform Juergen Beisert
` (9 preceding siblings ...)
2011-02-16 18:13 ` [PATCH 10/20] mini2440: Add PLL settings Juergen Beisert
@ 2011-02-16 18:13 ` Juergen Beisert
2011-02-16 18:13 ` [PATCH 12/20] mini2440: Configure debug UART pins very early Juergen Beisert
` (8 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Juergen Beisert @ 2011-02-16 18:13 UTC (permalink / raw)
To: barebox; +Cc: Juergen Beisert
From: Juergen Beisert <juergen@kreuzholzen.de>
This is required in order to enable booting from NAND and using the generic
S3C2440 setup routines.
Two types of SDRAM devices are known to be shipped by FriendlyARM. This config
should work on both of them. But it is really tested only for the HY57V561620
type.
Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
---
arch/arm/boards/mini2440/config.h | 58 +++++++++++++++++++++++++++++++++++++
1 files changed, 58 insertions(+), 0 deletions(-)
diff --git a/arch/arm/boards/mini2440/config.h b/arch/arm/boards/mini2440/config.h
index 1edd69c..1f2fb4c 100644
--- a/arch/arm/boards/mini2440/config.h
+++ b/arch/arm/boards/mini2440/config.h
@@ -69,4 +69,62 @@
#ifdef CONFIG_S3C24XX_NAND_BOOT
# define BOARD_DEFAULT_NAND_TIMING CALC_NFCONF_TIMING(A9M2440_TACLS, A9M2440_TWRPH0, A9M2440_TWRPH1)
#endif
+
+/*
+ * Needed in the generic SDRAM boot code only
+ *
+ * SDRAM configuration
+ * Two types of SDRAM devices are common on mini2440:
+ * - Two devices of HY57V561620 to form 64 MiB in bank 6 only
+ * - http://friendlyarm.net/dl.php?file=HY57V561620.pdf
+ * - Two devices of MT48LC16M16 to form 64 MiB in bank 6 only
+ * - http://friendlyarm.net/dl.php?file=MT48LC16M16.pdf
+
+ * Most of the time the CPU is specified for 400 MHz only. As the CPU frequency
+ * and the SDRAM frequency are fix coupled by 4:1, the SDRAM runs at HCLCK.
+ * So, we need a 100 MHz timing setup with CL=2 for the SDRAMs.
+ */
+
+/*
+ * - ST7/WS7/DW7: reserved, this SDRAM bank is not used
+ * - ST6/WS6/DW6: 32 bit data bus (for SDRAM usage)
+ * - ST5/WS5/DW5: reserved, to be set by the board init code
+ * - ST4/WS4/DW4: reserved, to be set by the board init code
+ * - ST3/WS3/DW3: reserved, to be set by the board init code
+ * - ST2/WS2/DW2: reserved, to be set by the board init code
+ * - ST1/WS1/DW1: reserved, to be set by the board init code
+ * - DW0: not to be changed
+ */
+#define BOARD_SPECIFIC_BWSCON ((0x3 << 28) | (0x2 << 24) | 0x333330)
+/*
+ * - MT = 11 (= sync dram type)
+ * - Trcd = 00 (= CL2)
+ * - SCAN = 01 (= 9 bit collumns)
+ */
+#define BOARD_SPECIFIC_BANKCON6 ((0x3 << 15) + (0x0 << 2) + (0x1))
+#define BOARD_SPECIFIC_BANKCON7 0 /* disabled */
+/*
+ * SDRAM refresh settings
+ * - REFEN = 1 (= refresh enabled)
+ * - TREFMD = 0 (= auto refresh)
+ * - Trp = 00 (= 2 RAS precharge clocks)
+ * - Tsrc = 01 (= 5 clocks -> row cycle time @100MHz 2+5=7 -> 70ns)
+ * - Refresh = 2^11 + 1 - 100 * 7.8 = 2049 - 780 = 1269
+ */
+#define BOARD_SPECIFIC_REFRESH ((0x1 << 23) + (0x0 << 22) + (0x0 << 20) + (0x1 << 18) + 1269)
+/*
+ * SDRAM banksize
+ * - BURST_EN = 1 (= burst mode enabled)
+ * - SCKE_EN = 1 (= SDRAM SCKE enabled)
+ * - SCLK_EN = 1 (= clock active only during accesses)
+ * - BK67MAP = 001 (= 64 MiB)
+ */
+# define BOARD_SPECIFIC_BANKSIZE ((1 << 7) + (1 << 5) + (1 << 4) + 1)
+/*
+ * SDRAM mode register
+ * CL = 010 (= 2 clocks)
+ */
+# define BOARD_SPECIFIC_MRSRB6 (0x2 << 4)
+# define BOARD_SPECIFIC_MRSRB7 0 /* not used */
+
#endif /* __CONFIG_H */
--
1.7.2.3
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 12/20] mini2440: Configure debug UART pins very early
2011-02-16 18:13 [PATCH v2] Booting from NAND for the mini2440 platform Juergen Beisert
` (10 preceding siblings ...)
2011-02-16 18:13 ` [PATCH 11/20] mini2440: Add SDRAM config settings Juergen Beisert
@ 2011-02-16 18:13 ` Juergen Beisert
2011-02-16 18:13 ` [PATCH 13/20] mini2440: Add SDRAM size autodetection Juergen Beisert
` (7 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Juergen Beisert @ 2011-02-16 18:13 UTC (permalink / raw)
To: barebox; +Cc: Juergen Beisert
From: Juergen Beisert <juergen@kreuzholzen.de>
This is required in order to enable booting from NAND and to avoid any visible
garbage on the screen until the pins are really set.
Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
---
arch/arm/boards/mini2440/mini2440.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/arch/arm/boards/mini2440/mini2440.c b/arch/arm/boards/mini2440/mini2440.c
index 17496a4..46581cc 100644
--- a/arch/arm/boards/mini2440/mini2440.c
+++ b/arch/arm/boards/mini2440/mini2440.c
@@ -138,6 +138,15 @@ static struct device_d mini2440_serial_device = {
static int mini2440_console_init(void)
{
+ /*
+ * configure the UART1 right now, as barebox will
+ * start to send data immediately
+ */
+ s3c_gpio_mode(GPH0_NCTS0);
+ s3c_gpio_mode(GPH1_NRTS0);
+ s3c_gpio_mode(GPH2_TXD0);
+ s3c_gpio_mode(GPH3_RXD0);
+
register_device(&mini2440_serial_device);
return 0;
}
--
1.7.2.3
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 13/20] mini2440: Add SDRAM size autodetection
2011-02-16 18:13 [PATCH v2] Booting from NAND for the mini2440 platform Juergen Beisert
` (11 preceding siblings ...)
2011-02-16 18:13 ` [PATCH 12/20] mini2440: Configure debug UART pins very early Juergen Beisert
@ 2011-02-16 18:13 ` Juergen Beisert
2011-02-16 18:13 ` [PATCH 14/20] mini2440: Add GPIO settings Juergen Beisert
` (6 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Juergen Beisert @ 2011-02-16 18:13 UTC (permalink / raw)
To: barebox; +Cc: Juergen Beisert
From: Juergen Beisert <juergen@kreuzholzen.de>
If the SDRAM type will change in the future, only the 'config.h' must be
adapted to the new settings. The real size will be read back from this setting.
Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
---
arch/arm/boards/mini2440/mini2440.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/arch/arm/boards/mini2440/mini2440.c b/arch/arm/boards/mini2440/mini2440.c
index 46581cc..2aeb09e 100644
--- a/arch/arm/boards/mini2440/mini2440.c
+++ b/arch/arm/boards/mini2440/mini2440.c
@@ -48,7 +48,6 @@ static struct device_d sdram_dev = {
.id = -1,
.name = "mem",
.map_base = CS6_BASE,
- .size = 64 * 1024 * 1024,
.platform_data = &ram_pdata,
};
@@ -87,6 +86,8 @@ static int mini2440_devices_init(void)
{
uint32_t reg;
+ sdram_dev.size = s3c24x0_get_memory_size();
+
reg = readl(BWSCON);
/* CS#4 to access the network controller */
--
1.7.2.3
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 14/20] mini2440: Add GPIO settings
2011-02-16 18:13 [PATCH v2] Booting from NAND for the mini2440 platform Juergen Beisert
` (12 preceding siblings ...)
2011-02-16 18:13 ` [PATCH 13/20] mini2440: Add SDRAM size autodetection Juergen Beisert
@ 2011-02-16 18:13 ` Juergen Beisert
2011-02-16 18:13 ` [PATCH 15/20] mini2440: Add MCI support Juergen Beisert
` (5 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Juergen Beisert @ 2011-02-16 18:13 UTC (permalink / raw)
To: barebox; +Cc: Juergen Beisert
From: Juergen Beisert <juergen@kreuzholzen.de>
This is required in order to enable booting from NAND, when there is no
other first level bootlader.
Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
---
arch/arm/boards/mini2440/mini2440.c | 137 +++++++++++++++++++++++++++++++++++
1 files changed, 137 insertions(+), 0 deletions(-)
diff --git a/arch/arm/boards/mini2440/mini2440.c b/arch/arm/boards/mini2440/mini2440.c
index 2aeb09e..30dff07 100644
--- a/arch/arm/boards/mini2440/mini2440.c
+++ b/arch/arm/boards/mini2440/mini2440.c
@@ -35,6 +35,7 @@
#include <nand.h>
#include <asm/armlinux.h>
#include <asm/io.h>
+#include <mach/gpio.h>
#include <mach/s3c24x0-iomap.h>
#include <mach/s3c24x0-nand.h>
#include <mach/s3c24xx-generic.h>
@@ -82,12 +83,148 @@ static struct device_d dm9000_dev = {
.platform_data = &dm9000_data,
};
+static const unsigned pin_usage[] = {
+ /* address bus, used by NOR, SDRAM */
+ GPA1_ADDR16,
+ GPA2_ADDR17,
+ GPA3_ADDR18,
+ GPA4_ADDR19,
+ GPA5_ADDR20,
+ GPA6_ADDR21,
+ GPA7_ADDR22,
+
+ GPA8_ADDR23_GPIO | GPIO_IN,
+ GPA9_ADDR24, /* BA0 */
+ GPA10_ADDR25, /* BA1 */
+ GPA11_ADDR26_GPIO | GPIO_IN, /* not connected */
+
+ /* DM9000 requirements */
+ GPA15_NGCS4,
+ GPF7_EINT7,
+
+ /* de-activate the speaker */
+ GPB0_GPIO | GPIO_OUT | GPIO_VAL(0),
+
+ /* SD socket */
+ GPE5_SDCLK,
+ GPE6_SDCMD,
+ GPE7_SDDAT0,
+ GPE8_SDDAT1,
+ GPE9_SDDAT2,
+ GPE10_SDDAT3,
+ GPG8_GPIO | GPIO_IN, /* change detection */
+ GPH8_GPIO | GPIO_IN, /* write protection sense */
+
+ /* NAND requirements */
+ GPA17_CLE,
+ GPA18_ALE,
+ GPA19_NFWE,
+ GPA20_NFRE,
+ GPA21_NRSTOUT,
+ GPA22_NFCE,
+
+ /* Video out */
+ GPC0_LEND,
+ GPC1_VCLK,
+ GPC2_VLINE,
+ GPC3_VFRAME,
+ GPC4_VM,
+ GPC5_LPCOE,
+ GPC6_LPCREV,
+ GPC7_LPCREVB,
+ GPG4_LCD_PWREN,
+
+ GPC8_VD0,
+ GPC9_VD1,
+ GPC10_VD2,
+ GPC11_VD3,
+ GPC12_VD4,
+ GPC13_VD5,
+ GPC14_VD6,
+ GPC15_VD7,
+ GPD0_VD8,
+ GPD1_VD9,
+ GPD2_VD10,
+ GPD3_VD11,
+ GPD4_VD12,
+ GPD5_VD13,
+ GPD6_VD14,
+ GPD7_VD15,
+ GPD8_VD16,
+ GPD9_VD17,
+ GPD10_VD18,
+ GPD11_VD19,
+ GPD12_VD20,
+ GPD13_VD21,
+ GPD14_VD22,
+ GPD15_VD23,
+
+ /* K6 or CON12, pin 6, external pull up */
+ GPG11_EINT19 | GPIO_IN,
+ /* K5 or CON12, pin 5*/
+ GPG7_EINT15 | GPIO_IN,
+ /* K4 or CON12, pin 4 */
+ GPG6_EINT14 | GPIO_IN,
+ /* K3 or CON12, pin 3 */
+ GPG5_EINT13 | GPIO_IN,
+ /* K2 or CON12, pin 2 */
+ GPG3_EINT11 | GPIO_IN,
+ /* K1 or CON12, pin 1, external pull up */
+ GPG0_EINT8 | GPIO_IN,
+
+ /* LED 1 1=off */
+ GPB5_GPIO | GPIO_OUT | GPIO_VAL(1),
+ /* LED 2 1=off */
+ GPB6_GPIO | GPIO_OUT | GPIO_VAL(1),
+ /* LED 3 1=off */
+ GPB7_GPIO | GPIO_OUT | GPIO_VAL(1),
+ /* LED 4 1=off */
+ GPB8_GPIO | GPIO_OUT | GPIO_VAL(1),
+
+ /* camera interface (ignore it) */
+ GPJ0_GPIO | GPIO_IN,
+ GPJ1_GPIO | GPIO_IN,
+ GPJ2_GPIO | GPIO_IN,
+ GPJ3_GPIO | GPIO_IN,
+ GPJ4_GPIO | GPIO_IN,
+ GPJ5_GPIO | GPIO_IN,
+ GPJ6_GPIO | GPIO_IN,
+ GPJ7_GPIO | GPIO_IN,
+ GPJ8_GPIO | GPIO_IN,
+ GPJ9_GPIO | GPIO_IN,
+ GPJ10_GPIO | GPIO_IN,
+ GPJ11_GPIO | GPIO_IN,
+ GPJ12_GPIO | GPIO_IN,
+
+ /* I2C bus */
+ GPE14_IICSCL, /* external pull up */
+ GPE15_IICSDA, /* external pull up */
+
+ GPA12_NGCS1, /* CON5, pin 7 */
+ GPA13_NGCS2, /* CON5, pin 8 */
+ GPA14_NGCS3, /* CON5, pin 9 */
+ GPA16_NGCS5, /* CON5, pin 10 */
+
+ /* UART2 (spare) */
+ GPH4_TXD1,
+ GPH5_RXD1,
+
+ /* UART3 (spare) */
+ GPH6_TXD2,
+ GPH7_RXD2,
+};
+
static int mini2440_devices_init(void)
{
uint32_t reg;
+ int i;
sdram_dev.size = s3c24x0_get_memory_size();
+ /* ----------- configure the access to the outer space ---------- */
+ for (i = 0; i < ARRAY_SIZE(pin_usage); i++)
+ s3c_gpio_mode(pin_usage[i]);
+
reg = readl(BWSCON);
/* CS#4 to access the network controller */
--
1.7.2.3
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 15/20] mini2440: Add MCI support
2011-02-16 18:13 [PATCH v2] Booting from NAND for the mini2440 platform Juergen Beisert
` (13 preceding siblings ...)
2011-02-16 18:13 ` [PATCH 14/20] mini2440: Add GPIO settings Juergen Beisert
@ 2011-02-16 18:13 ` Juergen Beisert
2011-02-16 18:13 ` [PATCH 16/20] mini2440: Make it able to save a runtime environment Juergen Beisert
` (4 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Juergen Beisert @ 2011-02-16 18:13 UTC (permalink / raw)
To: barebox; +Cc: Juergen Beisert
From: Juergen Beisert <juergen@kreuzholzen.de>
---
arch/arm/boards/mini2440/mini2440.c | 16 ++++++++++++++++
1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/arch/arm/boards/mini2440/mini2440.c b/arch/arm/boards/mini2440/mini2440.c
index 30dff07..b30a9e2 100644
--- a/arch/arm/boards/mini2440/mini2440.c
+++ b/arch/arm/boards/mini2440/mini2440.c
@@ -33,12 +33,14 @@
#include <partition.h>
#include <dm9000.h>
#include <nand.h>
+#include <mci.h>
#include <asm/armlinux.h>
#include <asm/io.h>
#include <mach/gpio.h>
#include <mach/s3c24x0-iomap.h>
#include <mach/s3c24x0-nand.h>
#include <mach/s3c24xx-generic.h>
+#include <mach/mci.h>
static struct memory_platform_data ram_pdata = {
.name = "ram0",
@@ -83,6 +85,19 @@ static struct device_d dm9000_dev = {
.platform_data = &dm9000_data,
};
+static struct s3c_mci_platform_data mci_data = {
+ .caps = MMC_MODE_4BIT | MMC_MODE_HS | MMC_MODE_HS_52MHz,
+ .voltages = MMC_VDD_32_33 | MMC_VDD_33_34,
+ .gpio_detect = 232, /* GPG8_GPIO */
+ .detect_invert = 0,
+};
+
+static struct device_d mci_dev = {
+ .name = "s3c_mci",
+ .map_base = S3C2410_SDI_BASE,
+ .platform_data = &mci_data,
+};
+
static const unsigned pin_usage[] = {
/* address bus, used by NOR, SDRAM */
GPA1_ADDR16,
@@ -252,6 +267,7 @@ static int mini2440_devices_init(void)
devfs_add_partition("nand0", 0x40000, 0x20000, PARTITION_FIXED, "env_raw");
dev_add_bb_dev("env_raw", NULL);
#endif
+ register_device(&mci_dev);
armlinux_add_dram(&sdram_dev);
armlinux_set_bootparams((void *)sdram_dev.map_base + 0x100);
armlinux_set_architecture(MACH_TYPE_MINI2440);
--
1.7.2.3
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 16/20] mini2440: Make it able to save a runtime environment
2011-02-16 18:13 [PATCH v2] Booting from NAND for the mini2440 platform Juergen Beisert
` (14 preceding siblings ...)
2011-02-16 18:13 ` [PATCH 15/20] mini2440: Add MCI support Juergen Beisert
@ 2011-02-16 18:13 ` Juergen Beisert
2011-02-16 18:13 ` [PATCH 17/20] mini2440: Use a flash based BBT as the kernel also does Juergen Beisert
` (3 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Juergen Beisert @ 2011-02-16 18:13 UTC (permalink / raw)
To: barebox; +Cc: Juergen Beisert
From: Juergen Beisert <juergen@kreuzholzen.de>
Without this modification saving a modified environment ends with:
mini2440:/ saveenv
saving environment
could not open /dev/env0: Read-only file system
Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
---
arch/arm/boards/mini2440/mini2440.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/boards/mini2440/mini2440.c b/arch/arm/boards/mini2440/mini2440.c
index b30a9e2..ae48a51 100644
--- a/arch/arm/boards/mini2440/mini2440.c
+++ b/arch/arm/boards/mini2440/mini2440.c
@@ -261,11 +261,11 @@ static int mini2440_devices_init(void)
/* ----------- add some vital partitions -------- */
devfs_del_partition("self_raw");
devfs_add_partition("nand0", 0x00000, 0x40000, PARTITION_FIXED, "self_raw");
- dev_add_bb_dev("self_raw", NULL);
+ dev_add_bb_dev("self_raw", "self0");
devfs_del_partition("env_raw");
devfs_add_partition("nand0", 0x40000, 0x20000, PARTITION_FIXED, "env_raw");
- dev_add_bb_dev("env_raw", NULL);
+ dev_add_bb_dev("env_raw", "env0");
#endif
register_device(&mci_dev);
armlinux_add_dram(&sdram_dev);
--
1.7.2.3
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 17/20] mini2440: Use a flash based BBT as the kernel also does
2011-02-16 18:13 [PATCH v2] Booting from NAND for the mini2440 platform Juergen Beisert
` (15 preceding siblings ...)
2011-02-16 18:13 ` [PATCH 16/20] mini2440: Make it able to save a runtime environment Juergen Beisert
@ 2011-02-16 18:13 ` Juergen Beisert
2011-02-16 18:13 ` [PATCH 18/20] mini2440: Add booting from NAND support Juergen Beisert
` (2 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Juergen Beisert @ 2011-02-16 18:13 UTC (permalink / raw)
To: barebox; +Cc: Juergen Beisert
From: Juergen Beisert <juergen@kreuzholzen.de>
The default configuration of the mini2440 in the current 2.6.37 kernel uses
a flash based BBT. So, the barebox for the mini2440 must also use one, to be
in sync with the kernel about bad blocks in the flash.
Due to the used OOB layout, the generic BBT description coming with the
framework can be used.
Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
---
arch/arm/boards/mini2440/mini2440.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/arch/arm/boards/mini2440/mini2440.c b/arch/arm/boards/mini2440/mini2440.c
index ae48a51..ab309a0 100644
--- a/arch/arm/boards/mini2440/mini2440.c
+++ b/arch/arm/boards/mini2440/mini2440.c
@@ -55,7 +55,8 @@ static struct device_d sdram_dev = {
};
static struct s3c24x0_nand_platform_data nand_info = {
- .nand_timing = CALC_NFCONF_TIMING(A9M2440_TACLS, A9M2440_TWRPH0, A9M2440_TWRPH1)
+ .nand_timing = CALC_NFCONF_TIMING(A9M2440_TACLS, A9M2440_TWRPH0, A9M2440_TWRPH1),
+ .flash_bbt = 1, /* same as the kernel */
};
static struct device_d nand_dev = {
--
1.7.2.3
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 18/20] mini2440: Add booting from NAND support
2011-02-16 18:13 [PATCH v2] Booting from NAND for the mini2440 platform Juergen Beisert
` (16 preceding siblings ...)
2011-02-16 18:13 ` [PATCH 17/20] mini2440: Use a flash based BBT as the kernel also does Juergen Beisert
@ 2011-02-16 18:13 ` Juergen Beisert
2011-02-16 18:13 ` [PATCH 19/20] mini2440: Remove some A9M2440 platform leftovers Juergen Beisert
2011-02-16 18:13 ` [PATCH 20/20] mini2440: Use generic environment Juergen Beisert
19 siblings, 0 replies; 21+ messages in thread
From: Juergen Beisert @ 2011-02-16 18:13 UTC (permalink / raw)
To: barebox; +Cc: Juergen Beisert
From: Juergen Beisert <juergen@kreuzholzen.de>
With this patch barebox can now be booted from RAM, NOR and NAND on the
mini2440 platform. 'CONFIG_S3C24XX_NAND_BOOT' must still be 'y' to be able to
boot from NAND.
Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
---
arch/arm/boards/mini2440/Makefile | 2 +-
arch/arm/boards/mini2440/lowlevel_init.S | 39 ++++++++++++++++++++++++++++++
arch/arm/mach-s3c24xx/Kconfig | 4 +++
3 files changed, 44 insertions(+), 1 deletions(-)
create mode 100644 arch/arm/boards/mini2440/lowlevel_init.S
diff --git a/arch/arm/boards/mini2440/Makefile b/arch/arm/boards/mini2440/Makefile
index 09f7e7d..856fed0 100644
--- a/arch/arm/boards/mini2440/Makefile
+++ b/arch/arm/boards/mini2440/Makefile
@@ -1,2 +1,2 @@
-obj-y += mini2440.o
+obj-y += mini2440.o lowlevel_init.o
diff --git a/arch/arm/boards/mini2440/lowlevel_init.S b/arch/arm/boards/mini2440/lowlevel_init.S
new file mode 100644
index 0000000..41f50cb
--- /dev/null
+++ b/arch/arm/boards/mini2440/lowlevel_init.S
@@ -0,0 +1,39 @@
+/*
+ * Low level initialization for the FriendlyARM mini2440 board
+ */
+
+#include <config.h>
+#include <mach/s3c24x0-iomap.h>
+
+ .section ".text_bare_init.board_init_lowlevel","ax"
+
+/* ------------------------------------------------------------------------ */
+
+.globl board_init_lowlevel
+board_init_lowlevel:
+
+ mov r10, lr /* save the link register */
+
+ bl s3c24x0_disable_wd
+
+ /* skip everything here if we are already running from SDRAM */
+ cmp pc, #S3C24X0_SDRAM_BASE
+ blo 1f
+ cmp pc, #S3C24X0_SDRAM_END
+ bhs 1f
+
+ mov pc, r10
+
+/* we are running from NOR or NAND/SRAM memory. Do further initialisation */
+1:
+ bl s3c24x0_pll_init
+
+ bl s3c24x0_sdram_init
+
+#ifdef CONFIG_S3C24XX_NAND_BOOT
+ mov lr, r10 /* restore the link register */
+/* up to here we are running from the internal SRAM area */
+ b s3c24x0_nand_boot /* does return directly to our caller into SDRAM */
+#else
+ mov pc, r10
+#endif
diff --git a/arch/arm/mach-s3c24xx/Kconfig b/arch/arm/mach-s3c24xx/Kconfig
index 8b86d2d..33d230c 100644
--- a/arch/arm/mach-s3c24xx/Kconfig
+++ b/arch/arm/mach-s3c24xx/Kconfig
@@ -41,6 +41,10 @@ config MACH_A9M2440
config MACH_MINI2440
bool "Mini 2440"
select CPU_S3C2440
+ select MACH_HAS_LOWLEVEL_INIT
+ select MACH_DO_LOWLEVEL_INIT
+ select S3C24XX_PLL_INIT
+ select S3C24XX_SDRAM_INIT
select HAS_DM9000
help
Say Y here if you are using Mini 2440 dev board equipped
--
1.7.2.3
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 19/20] mini2440: Remove some A9M2440 platform leftovers
2011-02-16 18:13 [PATCH v2] Booting from NAND for the mini2440 platform Juergen Beisert
` (17 preceding siblings ...)
2011-02-16 18:13 ` [PATCH 18/20] mini2440: Add booting from NAND support Juergen Beisert
@ 2011-02-16 18:13 ` Juergen Beisert
2011-02-16 18:13 ` [PATCH 20/20] mini2440: Use generic environment Juergen Beisert
19 siblings, 0 replies; 21+ messages in thread
From: Juergen Beisert @ 2011-02-16 18:13 UTC (permalink / raw)
To: barebox; +Cc: Juergen Beisert
From: Juergen Beisert <juergen@kreuzholzen.de>
Also adapt the config file to the default environment.
Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
---
arch/arm/boards/mini2440/env/config | 71 +++++++++++++++++++++++++---------
1 files changed, 52 insertions(+), 19 deletions(-)
diff --git a/arch/arm/boards/mini2440/env/config b/arch/arm/boards/mini2440/env/config
index 05a2d01..b24877e 100644
--- a/arch/arm/boards/mini2440/env/config
+++ b/arch/arm/boards/mini2440/env/config
@@ -1,27 +1,60 @@
#!/bin/sh
-# can be either 'net' or 'nand''
-kernel=net
-root=net
+machine=mini2440
+eth0.serverip=
+user=
-#uimage=uImage-a9m2440
-uimage=uImage
-jffs2=root-a9m2440.jffs2
+# use 'dhcp' to do dhcp in barebox and in kernel
+# use 'none' if you want to skip kernel ip autoconfiguration
+ip=dhcp
-autoboot_timeout=3
+# or set your networking parameters here
+#eth0.ipaddr=a.b.c.d
+#eth0.netmask=a.b.c.d
+#eth0.gateway=a.b.c.d
+#eth0.serverip=a.b.c.d
-nfsroot="/home/open-nandra/rootfs"
-bootargs="console=ttySAC0,115200"
+# can be either 'net', or 'nand'
+kernel_loc=net
+# can be either 'net', 'nand' or 'initrd'
+rootfs_loc=net
-nand_parts="256k(barebox),128k(bareboxenv),1536k(kernel),-(root)"
-rootpart_nand="/dev/mtdblock3"
+# can be either 'jffs2' or 'ubifs'
+rootfs_type=ubifs
+rootfsimage=root-${machine}.${rootfs_type}
-# use 'dhcp' to do dhcp in barebox and in kernel
-#ip=dhcp
+# The image type of the kernel. Can be uimage, zimage, raw, or raw_lzo
+kernelimage_type=zimage
+kernelimage=zImage-${machine}
+#kernelimage_type=uimage
+#kernelimage=uImage-$machine
+#kernelimage_type=raw
+#kernelimage=Image-$machine
+#kernelimage_type=raw_lzo
+#kernelimage=Image-$machine.lzo
-# or set your networking parameters here
-eth0.ipaddr=192.168.42.32
-eth0.netmask=255.255.0.0
-eth0.gateway=192.168.23.1
-eth0.serverip=192.168.23.2
-eth0.ethaddr=00:04:f3:00:06:35
+if [ -n $user ]; then
+ kernelimage="${user}"-"${kernelimage}"
+ nfsroot="${eth0.serverip}:/home/${user}/nfsroot/${machine}"
+ rootfsimage="${user}"-"${rootfsimage}"
+else
+ nfsroot="${eth0.serverip}:/path/to/nfs/root"
+fi
+
+autoboot_timeout=3
+
+#
+# "mini2440" kernel parameter
+# 0 .. 9 = screen type
+# b = backlight enabled
+# t = touch enabled
+# c = camera enabled
+# Note: can be "minit2440= " if nothing of these components are connected
+#
+bootargs="console=ttySAC0,115200 mini2440=0tbc"
+
+# TODO NOR support
+
+nand_device="nand"
+nand_parts="256k(barebox),128k(bareboxenv),1536k(kernel),-(root)"
+rootfs_mtdblock_nand=3
--
1.7.2.3
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 20/20] mini2440: Use generic environment
2011-02-16 18:13 [PATCH v2] Booting from NAND for the mini2440 platform Juergen Beisert
` (18 preceding siblings ...)
2011-02-16 18:13 ` [PATCH 19/20] mini2440: Remove some A9M2440 platform leftovers Juergen Beisert
@ 2011-02-16 18:13 ` Juergen Beisert
19 siblings, 0 replies; 21+ messages in thread
From: Juergen Beisert @ 2011-02-16 18:13 UTC (permalink / raw)
To: barebox; +Cc: Juergen Beisert
From: Juergen Beisert <juergen@kreuzholzen.de>
Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
---
arch/arm/boards/mini2440/env/bin/_update | 34 ----
arch/arm/boards/mini2440/env/bin/boot | 40 ----
arch/arm/boards/mini2440/env/bin/hush_hack | 1 -
arch/arm/boards/mini2440/env/bin/init | 34 ----
arch/arm/boards/mini2440/env/bin/update_kernel | 13 --
arch/arm/boards/mini2440/env/bin/update_root | 13 --
arch/arm/configs/mini2440_defconfig | 226 +-----------------------
7 files changed, 7 insertions(+), 354 deletions(-)
delete mode 100644 arch/arm/boards/mini2440/env/bin/_update
delete mode 100644 arch/arm/boards/mini2440/env/bin/boot
delete mode 100644 arch/arm/boards/mini2440/env/bin/hush_hack
delete mode 100644 arch/arm/boards/mini2440/env/bin/init
delete mode 100644 arch/arm/boards/mini2440/env/bin/update_kernel
delete mode 100644 arch/arm/boards/mini2440/env/bin/update_root
diff --git a/arch/arm/boards/mini2440/env/bin/_update b/arch/arm/boards/mini2440/env/bin/_update
deleted file mode 100644
index b10682e..0000000
--- a/arch/arm/boards/mini2440/env/bin/_update
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-
-if [ -z "$part" -o -z "$image" ]; then
- echo "define \$part and \$image"
- exit 1
-fi
-
-if [ ! -e "$part" ]; then
- echo "Partition $part does not exist"
- exit 1
-fi
-
-if [ $# = 1 ]; then
- image=$1
-fi
-
-if [ x$ip = xdhcp ]; then
- dhcp
-fi
-
-ping $eth0.serverip
-if [ $? -ne 0 ] ; then
- echo "update aborted"
- exit 1
-fi
-
-echo
-echo "erasing partition $part"
-erase $part
-
-echo
-echo "flashing $image to $part"
-echo
-tftp $image $part
diff --git a/arch/arm/boards/mini2440/env/bin/boot b/arch/arm/boards/mini2440/env/bin/boot
deleted file mode 100644
index 86e22cf..0000000
--- a/arch/arm/boards/mini2440/env/bin/boot
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/sh
-
-. /env/config
-
-if [ x$1 = xnand ]; then
- root=nand
- kernel=nand
-fi
-
-if [ x$1 = xnet ]; then
- root=net
- kernel=net
-fi
-
-if [ x$root = xnand ]; then
- bootargs="$bootargs root=$rootpart_nand rootfstype=jffs2"
-fi
-if [ x$root = xnet ]; then
- bootargs="$bootargs root=/dev/nfs nfsroot=$eth0.serverip:$nfsroot,v3,tcp"
- if [ x$ip = xdhcp ]; then
- bootargs="$bootargs ip=dhcp"
- else
- bootargs="$bootargs ip=$eth0.ipaddr:$eth0.serverip:$eth0.gateway:$eth0.netmask:::"
- fi
-fi
-
-bootargs="$bootargs mtdparts=\"NAND 32MiB 3,3V 8-bit:$nand_parts\""
-
-bootargs="$bootargs cs89x0_media=rj45 cs89x0_mac=$eth0.ethaddr"
-
-if [ x$kernel = xnet ]; then
- if [ x$ip = xdhcp ]; then
- dhcp
- fi
- tftp $uimage uImage || exit 1
- bootm uImage
-else
- bootm /dev/nand0.kernel.bb
-fi
-
diff --git a/arch/arm/boards/mini2440/env/bin/hush_hack b/arch/arm/boards/mini2440/env/bin/hush_hack
deleted file mode 100644
index 5fffa92..0000000
--- a/arch/arm/boards/mini2440/env/bin/hush_hack
+++ /dev/null
@@ -1 +0,0 @@
-nand -a /dev/nand0.*
diff --git a/arch/arm/boards/mini2440/env/bin/init b/arch/arm/boards/mini2440/env/bin/init
deleted file mode 100644
index e98ab84..0000000
--- a/arch/arm/boards/mini2440/env/bin/init
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-
-PATH=/env/bin
-export PATH
-
-. /env/config
-
-if [ -e /dev/nand0 ]; then
-#addpart /dev/nand0 $nand_parts
-
- # Uh, oh, hush first expands wildcards and then starts executing
- # commands. What a bug!
- source /env/bin/hush_hack
-fi
-
-if [ -z $eth0.ethaddr ]; then
- while [ -z $eth0.ethaddr ]; do
- readline "no MAC address set for eth0. please enter the one found on your board: " eth0.ethaddr
- done
- echo -a /env/config "eth0.ethaddr=$eth0.ethaddr"
-fi
-
-echo
-echo -n "Hit any key to stop autoboot: "
-timeout -a $autoboot_timeout
-if [ $? != 0 ]; then
- echo
- echo "type update_kernel [<imagename>] to update kernel into flash"
- echo "type update_root [<imagename>] to update rootfs into flash"
- echo
- exit
-fi
-
-boot
diff --git a/arch/arm/boards/mini2440/env/bin/update_kernel b/arch/arm/boards/mini2440/env/bin/update_kernel
deleted file mode 100644
index c43a557..0000000
--- a/arch/arm/boards/mini2440/env/bin/update_kernel
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-
-. /env/config
-
-part=/dev/nand0.kernel.bb
-
-if [ x$1 = x ]; then
- image=$uimage
-else
- image=$1
-fi
-
-. /env/bin/_update $image
diff --git a/arch/arm/boards/mini2440/env/bin/update_root b/arch/arm/boards/mini2440/env/bin/update_root
deleted file mode 100644
index 46cbca5..0000000
--- a/arch/arm/boards/mini2440/env/bin/update_root
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-
-. /env/config
-
-part=/dev/nand0.root.bb
-
-if [ x$1 = x ]; then
- image=$jffs2
-else
- image=$1
-fi
-
-. /env/bin/_update $image
diff --git a/arch/arm/configs/mini2440_defconfig b/arch/arm/configs/mini2440_defconfig
index f289f0d..e770871 100644
--- a/arch/arm/configs/mini2440_defconfig
+++ b/arch/arm/configs/mini2440_defconfig
@@ -1,122 +1,19 @@
-#
-# Automatically generated make config: don't edit
-# Linux barebox version: 2010.10.0
-# Tue Oct 19 09:01:55 2010
-#
-# CONFIG_BOARD_LINKER_SCRIPT is not set
-CONFIG_GENERIC_LINKER_SCRIPT=y
-CONFIG_ARM=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_IMX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_NOMADIK is not set
-# CONFIG_ARCH_OMAP is not set
CONFIG_ARCH_S3C24xx=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_ARM920T=y
-CONFIG_CPU_32v4T=y
-
-#
-# processor features
-#
-CONFIG_ARCH_TEXT_BASE=0x31fc0000
-CONFIG_BOARDINFO="Mini 2440"
-CONFIG_CPU_S3C2440=y
-# CONFIG_MACH_A9M2410 is not set
-# CONFIG_MACH_A9M2440 is not set
CONFIG_MACH_MINI2440=y
-
-#
-# Board specific settings
-#
-
-#
-# S3C24X0 Features
-#
-# CONFIG_S3C24XX_PLL_INIT is not set
-# CONFIG_S3C24XX_SDRAM_INIT is not set
CONFIG_S3C24XX_NAND_BOOT=y
-# CONFIG_AEABI is not set
-
-#
-# Arm specific settings
-#
-CONFIG_CMD_ARM_CPUINFO=y
+CONFIG_AEABI=y
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
-CONFIG_DEFCONFIG_LIST="$ARCH_DEFCONFIG"
-CONFIG_GREGORIAN_CALENDER=y
-CONFIG_HAS_KALLSYMS=y
-CONFIG_HAS_MODULES=y
-CONFIG_CMD_MEMORY=y
-CONFIG_ENV_HANDLING=y
-
-#
-# General Settings
-#
-CONFIG_LOCALVERSION_AUTO=y
-
-#
-# memory layout
-#
-CONFIG_HAVE_CONFIGURABLE_TEXT_BASE=y
-CONFIG_TEXT_BASE=0x31fc0000
-CONFIG_HAVE_CONFIGURABLE_MEMORY_LAYOUT=y
-CONFIG_MEMORY_LAYOUT_DEFAULT=y
-# CONFIG_MEMORY_LAYOUT_FIXED is not set
-CONFIG_STACK_SIZE=0x8000
-CONFIG_MALLOC_SIZE=0x400000
+CONFIG_TEXT_BASE=0x33e00000
CONFIG_BROKEN=y
-CONFIG_EXPERIMENTAL=y
-# CONFIG_MODULES is not set
-# CONFIG_KALLSYMS is not set
-CONFIG_PROMPT="barebox:"
-CONFIG_BAUDRATE=38400
+CONFIG_PROMPT="mini2440:"
CONFIG_LONGHELP=y
-CONFIG_CBSIZE=1024
-CONFIG_MAXARGS=16
-CONFIG_SHELL_HUSH=y
-# CONFIG_SHELL_SIMPLE is not set
CONFIG_GLOB=y
-CONFIG_PROMPT_HUSH_PS2="> "
-# CONFIG_HUSH_FANCY_PROMPT is not set
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
-# CONFIG_MENU is not set
-# CONFIG_PASSWORD is not set
-CONFIG_DYNAMIC_CRC_TABLE=y
-CONFIG_ERRNO_MESSAGES=y
-CONFIG_TIMESTAMP=y
-CONFIG_CONSOLE_FULL=y
-CONFIG_CONSOLE_ACTIVATE_FIRST=y
-# CONFIG_OF_FLAT_TREE is not set
CONFIG_PARTITION=y
-CONFIG_DEFAULT_ENVIRONMENT=y
+CONFIG_DEFAULT_ENVIRONMENT_GENERIC=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/mini2440/env"
-
-#
-# Debugging
-#
CONFIG_DEBUG_INFO=y
-# CONFIG_ENABLE_FLASH_NOISE is not set
-# CONFIG_ENABLE_PARTITION_NOISE is not set
-CONFIG_ENABLE_DEVICE_NOISE=y
-
-#
-# Commands
-#
-
-#
-# scripting
-#
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
@@ -124,128 +21,19 @@ CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
-CONFIG_CMD_TRUE=y
-CONFIG_CMD_FALSE=y
-# CONFIG_CMD_LOGIN is not set
-# CONFIG_CMD_PASSWD is not set
-
-#
-# file commands
-#
-CONFIG_CMD_LS=y
-CONFIG_CMD_RM=y
-CONFIG_CMD_CAT=y
-CONFIG_CMD_MKDIR=y
-CONFIG_CMD_RMDIR=y
-CONFIG_CMD_CP=y
-CONFIG_CMD_PWD=y
-CONFIG_CMD_CD=y
-CONFIG_CMD_MOUNT=y
-CONFIG_CMD_UMOUNT=y
-
-#
-# console
-#
-CONFIG_CMD_CLEAR=y
-CONFIG_CMD_ECHO=y
-# CONFIG_CMD_ECHO_E is not set
-
-#
-# memory
-#
-# CONFIG_CMD_LOADB is not set
-# CONFIG_CMD_LOADY is not set
-# CONFIG_CMD_LOADS is not set
CONFIG_CMD_MEMINFO=y
-CONFIG_CMD_CRC=y
CONFIG_CMD_MTEST=y
-# CONFIG_CMD_MTEST_ALTERNATIVE is not set
-
-#
-# flash
-#
CONFIG_CMD_FLASH=y
-# CONFIG_CMD_UBI is not set
-
-#
-# booting
-#
-CONFIG_CMD_BOOTM=y
-# CONFIG_CMD_BOOTM_ZLIB is not set
-# CONFIG_CMD_BOOTM_BZLIB is not set
-# CONFIG_CMD_BOOTM_LZO is not set
-# CONFIG_CMD_BOOTM_SHOW_TYPE is not set
-CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTU=y
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
-CONFIG_CMD_TEST=y
-CONFIG_CMD_VERSION=y
-CONFIG_CMD_HELP=y
-CONFIG_CMD_DEVINFO=y
-# CONFIG_CMD_UNLZO is not set
+CONFIG_CMD_GPIO=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
-# CONFIG_NET_NFS is not set
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
-# CONFIG_NET_TFTP_PUSH is not set
-# CONFIG_NET_NETCONSOLE is not set
-# CONFIG_NET_RESOLV is not set
-
-#
-# Drivers
-#
-
-#
-# serial drivers
-#
-# CONFIG_DRIVER_SERIAL_ARM_DCC is not set
-# CONFIG_DRIVER_SERIAL_NS16550 is not set
-CONFIG_DRIVER_SERIAL_S3C24X0=y
-# CONFIG_DRIVER_SERIAL_S3C24X0_AUTOSYNC is not set
-CONFIG_HAS_DM9000=y
-CONFIG_MIIDEV=y
-
-#
-# Network drivers
-#
-# CONFIG_DRIVER_NET_SMC911X is not set
-# CONFIG_DRIVER_NET_SMC91111 is not set
CONFIG_DRIVER_NET_DM9000=y
-
-#
-# SPI drivers
-#
# CONFIG_SPI is not set
-# CONFIG_I2C is not set
-
-#
-# flash drivers
-#
-# CONFIG_DRIVER_CFI is not set
-CONFIG_MTD=y
-CONFIG_NAND=y
-CONFIG_NAND_S3C24X0=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-# CONFIG_UBI is not set
-# CONFIG_ATA is not set
-# CONFIG_USB is not set
-# CONFIG_USB_GADGET is not set
-# CONFIG_VIDEO is not set
-
-#
-# Filesystem support
-#
-# CONFIG_FS_CRAMFS is not set
-CONFIG_FS_RAMFS=y
-CONFIG_FS_DEVFS=y
-CONFIG_CRC32=y
-# CONFIG_DIGEST is not set
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
-# CONFIG_PROCESS_ESCAPE_SEQUENCE is not set
+CONFIG_MCI=y
+CONFIG_MCI_S3C=y
--
1.7.2.3
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 21+ messages in thread