U-Boot
Threads by month
- ----- 2025 -----
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2000 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
January 2014
- 180 participants
- 674 discussions

[U-Boot] [PATCH] designware_i2c: Enhance DesignWare I2C driver address support
by Chin Liang See 15 Jan '14
by Chin Liang See 15 Jan '14
15 Jan '14
Enhance the DesignWare I2C driver to support address length more
than 1 byte. This enhancement is required as some I2C slave
device such as EEPROM chip might have 16 bit address byte.
Signed-off-by: Chin Liang See <clsee(a)altera.com>
Cc: Alexey Brodkin <Alexey.Brodkin(a)synopsys.com>
Cc: Tom Rini <trini(a)ti.com>
cc: Armando Visconti <armando.visconti(a)st.com>
Cc: Stefan Roese <sr(a)denx.de>
Cc: Albert ARIBAUD <albert.u.boot(a)aribaud.net>
Cc: Heiko Schocher <hs(a)denx.de>
Cc: Vipin KUMAR <vipin.kumar(a)st.com>
Cc: Tom Rix <Tom.Rix(a)windriver.com>
Cc: Mischa Jonker <mjonker(a)synopsys.com>
---
drivers/i2c/designware_i2c.c | 24 +++++++++---------------
1 file changed, 9 insertions(+), 15 deletions(-)
diff --git a/drivers/i2c/designware_i2c.c b/drivers/i2c/designware_i2c.c
index cb2ac04..c0ac5f7 100644
--- a/drivers/i2c/designware_i2c.c
+++ b/drivers/i2c/designware_i2c.c
@@ -205,27 +205,21 @@ static int check_params(uint addr, int alen, uchar *buffer, int len)
return 1;
}
- if (alen > 1) {
- printf("addr len %d not supported\n", alen);
- return 1;
- }
-
- if (addr + len > 256) {
- printf("address out of range\n");
- return 1;
- }
-
return 0;
}
-static int i2c_xfer_init(uchar chip, uint addr)
+static int i2c_xfer_init(uchar chip, uint addr, int alen)
{
if (i2c_wait_for_bb())
return 1;
i2c_setaddress(chip);
- writel(addr, &i2c_regs_p->ic_cmd_data);
-
+ while (alen) {
+ alen--;
+ /* high byte address going out first */
+ writel((addr >> (alen * 8)) & 0xff,
+ &i2c_regs_p->ic_cmd_data);
+ }
return 0;
}
@@ -269,7 +263,7 @@ int i2c_read(uchar chip, uint addr, int alen, uchar *buffer, int len)
if (check_params(addr, alen, buffer, len))
return 1;
- if (i2c_xfer_init(chip, addr))
+ if (i2c_xfer_init(chip, addr, alen))
return 1;
start_time_rx = get_timer(0);
@@ -310,7 +304,7 @@ int i2c_write(uchar chip, uint addr, int alen, uchar *buffer, int len)
if (check_params(addr, alen, buffer, len))
return 1;
- if (i2c_xfer_init(chip, addr))
+ if (i2c_xfer_init(chip, addr, alen))
return 1;
start_time_tx = get_timer(0);
--
1.7.9.5
2
2

[U-Boot] [PATCH v7 01/17] sf: Add extended read commands support
by Jagannadha Sutradharudu Teki 15 Jan '14
by Jagannadha Sutradharudu Teki 15 Jan '14
15 Jan '14
Current sf uses FAST_READ command, this patch adds support to
use the different/extended read command.
This implementation will determine the fastest command by taking
the supported commands from the flash and the controller, controller
is always been a priority.
Signed-off-by: Jagannadha Sutradharudu Teki <jaganna(a)xilinx.com>
---
drivers/mtd/spi/sf_internal.h | 2 +
drivers/mtd/spi/sf_ops.c | 2 +-
drivers/mtd/spi/sf_probe.c | 190 +++++++++++++++++++++++-------------------
include/spi.h | 8 ++
include/spi_flash.h | 10 +++
5 files changed, 126 insertions(+), 86 deletions(-)
diff --git a/drivers/mtd/spi/sf_internal.h b/drivers/mtd/spi/sf_internal.h
index d291746..938a78e 100644
--- a/drivers/mtd/spi/sf_internal.h
+++ b/drivers/mtd/spi/sf_internal.h
@@ -36,6 +36,8 @@
/* Read commands */
#define CMD_READ_ARRAY_SLOW 0x03
#define CMD_READ_ARRAY_FAST 0x0b
+#define CMD_READ_DUAL_OUTPUT_FAST 0x3b
+#define CMD_READ_DUAL_IO_FAST 0xbb
#define CMD_READ_ID 0x9f
/* Bank addr access commands */
diff --git a/drivers/mtd/spi/sf_ops.c b/drivers/mtd/spi/sf_ops.c
index e316a69..49ceef0 100644
--- a/drivers/mtd/spi/sf_ops.c
+++ b/drivers/mtd/spi/sf_ops.c
@@ -285,7 +285,7 @@ int spi_flash_cmd_read_ops(struct spi_flash *flash, u32 offset,
return 0;
}
- cmd[0] = CMD_READ_ARRAY_FAST;
+ cmd[0] = flash->read_cmd;
cmd[4] = 0x00;
while (len) {
diff --git a/drivers/mtd/spi/sf_probe.c b/drivers/mtd/spi/sf_probe.c
index b863a98..c0baac6 100644
--- a/drivers/mtd/spi/sf_probe.c
+++ b/drivers/mtd/spi/sf_probe.c
@@ -27,6 +27,7 @@ DECLARE_GLOBAL_DATA_PTR;
* @ext_jedec: Device ext_jedec ID
* @sector_size: Sector size of this device
* @nr_sectors: No.of sectors on this device
+ * @e_rd_cmd: Enum list for read commands
* @flags: Importent param, for flash specific behaviour
*/
struct spi_flash_params {
@@ -35,110 +36,111 @@ struct spi_flash_params {
u16 ext_jedec;
u32 sector_size;
u32 nr_sectors;
+ u8 e_rd_cmd;
u16 flags;
};
static const struct spi_flash_params spi_flash_params_table[] = {
#ifdef CONFIG_SPI_FLASH_ATMEL /* ATMEL */
- {"AT45DB011D", 0x1f2200, 0x0, 64 * 1024, 4, SECT_4K},
- {"AT45DB021D", 0x1f2300, 0x0, 64 * 1024, 8, SECT_4K},
- {"AT45DB041D", 0x1f2400, 0x0, 64 * 1024, 8, SECT_4K},
- {"AT45DB081D", 0x1f2500, 0x0, 64 * 1024, 16, SECT_4K},
- {"AT45DB161D", 0x1f2600, 0x0, 64 * 1024, 32, SECT_4K},
- {"AT45DB321D", 0x1f2700, 0x0, 64 * 1024, 64, SECT_4K},
- {"AT45DB641D", 0x1f2800, 0x0, 64 * 1024, 128, SECT_4K},
- {"AT25DF321", 0x1f4701, 0x0, 64 * 1024, 64, SECT_4K},
+ {"AT45DB011D", 0x1f2200, 0x0, 64 * 1024, 4, 0, SECT_4K},
+ {"AT45DB021D", 0x1f2300, 0x0, 64 * 1024, 8, 0, SECT_4K},
+ {"AT45DB041D", 0x1f2400, 0x0, 64 * 1024, 8, 0, SECT_4K},
+ {"AT45DB081D", 0x1f2500, 0x0, 64 * 1024, 16, 0, SECT_4K},
+ {"AT45DB161D", 0x1f2600, 0x0, 64 * 1024, 32, 0, SECT_4K},
+ {"AT45DB321D", 0x1f2700, 0x0, 64 * 1024, 64, 0, SECT_4K},
+ {"AT45DB641D", 0x1f2800, 0x0, 64 * 1024, 128, 0, SECT_4K},
+ {"AT25DF321", 0x1f4701, 0x0, 64 * 1024, 64, 0, SECT_4K},
#endif
#ifdef CONFIG_SPI_FLASH_EON /* EON */
- {"EN25Q32B", 0x1c3016, 0x0, 64 * 1024, 64, 0},
- {"EN25Q64", 0x1c3017, 0x0, 64 * 1024, 128, SECT_4K},
- {"EN25Q128B", 0x1c3018, 0x0, 64 * 1024, 256, 0},
- {"EN25S64", 0x1c3817, 0x0, 64 * 1024, 128, 0},
+ {"EN25Q32B", 0x1c3016, 0x0, 64 * 1024, 64, 0, 0},
+ {"EN25Q64", 0x1c3017, 0x0, 64 * 1024, 128, 0, SECT_4K},
+ {"EN25Q128B", 0x1c3018, 0x0, 64 * 1024, 256, 0, 0},
+ {"EN25S64", 0x1c3817, 0x0, 64 * 1024, 128, 0, 0},
#endif
#ifdef CONFIG_SPI_FLASH_GIGADEVICE /* GIGADEVICE */
- {"GD25Q64B", 0xc84017, 0x0, 64 * 1024, 128, SECT_4K},
- {"GD25LQ32", 0xc86016, 0x0, 64 * 1024, 64, SECT_4K},
+ {"GD25Q64B", 0xc84017, 0x0, 64 * 1024, 128, 0, SECT_4K},
+ {"GD25LQ32", 0xc86016, 0x0, 64 * 1024, 64, 0, SECT_4K},
#endif
#ifdef CONFIG_SPI_FLASH_MACRONIX /* MACRONIX */
- {"MX25L2006E", 0xc22012, 0x0, 64 * 1024, 4, 0},
- {"MX25L4005", 0xc22013, 0x0, 64 * 1024, 8, 0},
- {"MX25L8005", 0xc22014, 0x0, 64 * 1024, 16, 0},
- {"MX25L1605D", 0xc22015, 0x0, 64 * 1024, 32, 0},
- {"MX25L3205D", 0xc22016, 0x0, 64 * 1024, 64, 0},
- {"MX25L6405D", 0xc22017, 0x0, 64 * 1024, 128, 0},
- {"MX25L12805", 0xc22018, 0x0, 64 * 1024, 256, 0},
- {"MX25L25635F", 0xc22019, 0x0, 64 * 1024, 512, 0},
- {"MX25L51235F", 0xc2201a, 0x0, 64 * 1024, 1024, 0},
- {"MX25L12855E", 0xc22618, 0x0, 64 * 1024, 256, 0},
+ {"MX25L2006E", 0xc22012, 0x0, 64 * 1024, 4, 0, 0},
+ {"MX25L4005", 0xc22013, 0x0, 64 * 1024, 8, 0, 0},
+ {"MX25L8005", 0xc22014, 0x0, 64 * 1024, 16, 0, 0},
+ {"MX25L1605D", 0xc22015, 0x0, 64 * 1024, 32, 0, 0},
+ {"MX25L3205D", 0xc22016, 0x0, 64 * 1024, 64, 0, 0},
+ {"MX25L6405D", 0xc22017, 0x0, 64 * 1024, 128, 0, 0},
+ {"MX25L12805", 0xc22018, 0x0, 64 * 1024, 256, 0, 0},
+ {"MX25L25635F", 0xc22019, 0x0, 64 * 1024, 512, 0, 0},
+ {"MX25L51235F", 0xc2201a, 0x0, 64 * 1024, 1024, 0, 0},
+ {"MX25L12855E", 0xc22618, 0x0, 64 * 1024, 256, 0, 0},
#endif
#ifdef CONFIG_SPI_FLASH_SPANSION /* SPANSION */
- {"S25FL008A", 0x010213, 0x0, 64 * 1024, 16, 0},
- {"S25FL016A", 0x010214, 0x0, 64 * 1024, 32, 0},
- {"S25FL032A", 0x010215, 0x0, 64 * 1024, 64, 0},
- {"S25FL064A", 0x010216, 0x0, 64 * 1024, 128, 0},
- {"S25FL128P_256K", 0x012018, 0x0300, 256 * 1024, 64, 0},
- {"S25FL128P_64K", 0x012018, 0x0301, 64 * 1024, 256, 0},
- {"S25FL032P", 0x010215, 0x4d00, 64 * 1024, 64, 0},
- {"S25FL064P", 0x010216, 0x4d00, 64 * 1024, 128, 0},
- {"S25FL128S_64K", 0x012018, 0x4d01, 64 * 1024, 256, 0},
- {"S25FL256S_256K", 0x010219, 0x4d00, 64 * 1024, 512, 0},
- {"S25FL256S_64K", 0x010219, 0x4d01, 64 * 1024, 512, 0},
- {"S25FL512S_256K", 0x010220, 0x4d00, 64 * 1024, 1024, 0},
- {"S25FL512S_64K", 0x010220, 0x4d01, 64 * 1024, 1024, 0},
+ {"S25FL008A", 0x010213, 0x0, 64 * 1024, 16, 0, 0},
+ {"S25FL016A", 0x010214, 0x0, 64 * 1024, 32, 0, 0},
+ {"S25FL032A", 0x010215, 0x0, 64 * 1024, 64, 0, 0},
+ {"S25FL064A", 0x010216, 0x0, 64 * 1024, 128, 0, 0},
+ {"S25FL128P_256K", 0x012018, 0x0300, 256 * 1024, 64, 0, 0},
+ {"S25FL128P_64K", 0x012018, 0x0301, 64 * 1024, 256, 0, 0},
+ {"S25FL032P", 0x010215, 0x4d00, 64 * 1024, 64, 0, 0},
+ {"S25FL064P", 0x010216, 0x4d00, 64 * 1024, 128, 0, 0},
+ {"S25FL128S_64K", 0x012018, 0x4d01, 64 * 1024, 256, 0, 0},
+ {"S25FL256S_256K", 0x010219, 0x4d00, 64 * 1024, 512, RD_EXTN, 0},
+ {"S25FL256S_64K", 0x010219, 0x4d01, 64 * 1024, 512, RD_EXTN, 0},
+ {"S25FL512S_256K", 0x010220, 0x4d00, 64 * 1024, 1024, 0, 0},
+ {"S25FL512S_64K", 0x010220, 0x4d01, 64 * 1024, 1024, 0, 0},
#endif
#ifdef CONFIG_SPI_FLASH_STMICRO /* STMICRO */
- {"M25P10", 0x202011, 0x0, 32 * 1024, 4, 0},
- {"M25P20", 0x202012, 0x0, 64 * 1024, 4, 0},
- {"M25P40", 0x202013, 0x0, 64 * 1024, 8, 0},
- {"M25P80", 0x202014, 0x0, 64 * 1024, 16, 0},
- {"M25P16", 0x202015, 0x0, 64 * 1024, 32, 0},
- {"M25P32", 0x202016, 0x0, 64 * 1024, 64, 0},
- {"M25P64", 0x202017, 0x0, 64 * 1024, 128, 0},
- {"M25P128", 0x202018, 0x0, 256 * 1024, 64, 0},
- {"N25Q32", 0x20ba16, 0x0, 64 * 1024, 64, SECT_4K},
- {"N25Q32A", 0x20bb16, 0x0, 64 * 1024, 64, SECT_4K},
- {"N25Q64", 0x20ba17, 0x0, 64 * 1024, 128, SECT_4K},
- {"N25Q64A", 0x20bb17, 0x0, 64 * 1024, 128, SECT_4K},
- {"N25Q128", 0x20ba18, 0x0, 64 * 1024, 256, SECT_4K},
- {"N25Q128A", 0x20bb18, 0x0, 64 * 1024, 256, SECT_4K},
- {"N25Q256", 0x20ba19, 0x0, 64 * 1024, 512, SECT_4K},
- {"N25Q256A", 0x20bb19, 0x0, 64 * 1024, 512, SECT_4K},
- {"N25Q512", 0x20ba20, 0x0, 64 * 1024, 1024, E_FSR | SECT_4K},
- {"N25Q512A", 0x20bb20, 0x0, 64 * 1024, 1024, E_FSR | SECT_4K},
- {"N25Q1024", 0x20ba21, 0x0, 64 * 1024, 2048, E_FSR | SECT_4K},
- {"N25Q1024A", 0x20bb21, 0x0, 64 * 1024, 2048, E_FSR | SECT_4K},
+ {"M25P10", 0x202011, 0x0, 32 * 1024, 4, 0, 0},
+ {"M25P20", 0x202012, 0x0, 64 * 1024, 4, 0, 0},
+ {"M25P40", 0x202013, 0x0, 64 * 1024, 8, 0, 0},
+ {"M25P80", 0x202014, 0x0, 64 * 1024, 16, 0, 0},
+ {"M25P16", 0x202015, 0x0, 64 * 1024, 32, 0, 0},
+ {"M25P32", 0x202016, 0x0, 64 * 1024, 64, 0, 0},
+ {"M25P64", 0x202017, 0x0, 64 * 1024, 128, 0, 0},
+ {"M25P128", 0x202018, 0x0, 256 * 1024, 64, 0, 0},
+ {"N25Q32", 0x20ba16, 0x0, 64 * 1024, 64, 0, SECT_4K},
+ {"N25Q32A", 0x20bb16, 0x0, 64 * 1024, 64, 0, SECT_4K},
+ {"N25Q64", 0x20ba17, 0x0, 64 * 1024, 128, 0, SECT_4K},
+ {"N25Q64A", 0x20bb17, 0x0, 64 * 1024, 128, 0, SECT_4K},
+ {"N25Q128", 0x20ba18, 0x0, 64 * 1024, 256, 0, SECT_4K},
+ {"N25Q128A", 0x20bb18, 0x0, 64 * 1024, 256, 0, SECT_4K},
+ {"N25Q256", 0x20ba19, 0x0, 64 * 1024, 512, 0, SECT_4K},
+ {"N25Q256A", 0x20bb19, 0x0, 64 * 1024, 512, 0, SECT_4K},
+ {"N25Q512", 0x20ba20, 0x0, 64 * 1024, 1024, 0, E_FSR | SECT_4K},
+ {"N25Q512A", 0x20bb20, 0x0, 64 * 1024, 1024, 0, E_FSR | SECT_4K},
+ {"N25Q1024", 0x20ba21, 0x0, 64 * 1024, 2048, 0, E_FSR | SECT_4K},
+ {"N25Q1024A", 0x20bb21, 0x0, 64 * 1024, 2048, 0, E_FSR | SECT_4K},
#endif
#ifdef CONFIG_SPI_FLASH_SST /* SST */
- {"SST25VF040B", 0xbf258d, 0x0, 64 * 1024, 8, SECT_4K | SST_WP},
- {"SST25VF080B", 0xbf258e, 0x0, 64 * 1024, 16, SECT_4K | SST_WP},
- {"SST25VF016B", 0xbf2541, 0x0, 64 * 1024, 32, SECT_4K | SST_WP},
- {"SST25VF032B", 0xbf254a, 0x0, 64 * 1024, 64, SECT_4K | SST_WP},
- {"SST25VF064C", 0xbf254b, 0x0, 64 * 1024, 128, SECT_4K},
- {"SST25WF512", 0xbf2501, 0x0, 64 * 1024, 1, SECT_4K | SST_WP},
- {"SST25WF010", 0xbf2502, 0x0, 64 * 1024, 2, SECT_4K | SST_WP},
- {"SST25WF020", 0xbf2503, 0x0, 64 * 1024, 4, SECT_4K | SST_WP},
- {"SST25WF040", 0xbf2504, 0x0, 64 * 1024, 8, SECT_4K | SST_WP},
- {"SST25WF080", 0xbf2505, 0x0, 64 * 1024, 16, SECT_4K | SST_WP},
+ {"SST25VF040B", 0xbf258d, 0x0, 64 * 1024, 8, 0, SECT_4K | SST_WP},
+ {"SST25VF080B", 0xbf258e, 0x0, 64 * 1024, 16, 0, SECT_4K | SST_WP},
+ {"SST25VF016B", 0xbf2541, 0x0, 64 * 1024, 32, 0, SECT_4K | SST_WP},
+ {"SST25VF032B", 0xbf254a, 0x0, 64 * 1024, 64, 0, SECT_4K | SST_WP},
+ {"SST25VF064C", 0xbf254b, 0x0, 64 * 1024, 128, 0, SECT_4K},
+ {"SST25WF512", 0xbf2501, 0x0, 64 * 1024, 1, 0, SECT_4K | SST_WP},
+ {"SST25WF010", 0xbf2502, 0x0, 64 * 1024, 2, 0, SECT_4K | SST_WP},
+ {"SST25WF020", 0xbf2503, 0x0, 64 * 1024, 4, 0, SECT_4K | SST_WP},
+ {"SST25WF040", 0xbf2504, 0x0, 64 * 1024, 8, 0, SECT_4K | SST_WP},
+ {"SST25WF080", 0xbf2505, 0x0, 64 * 1024, 16, 0, SECT_4K | SST_WP},
#endif
#ifdef CONFIG_SPI_FLASH_WINBOND /* WINBOND */
- {"W25P80", 0xef2014, 0x0, 64 * 1024, 16, 0},
- {"W25P16", 0xef2015, 0x0, 64 * 1024, 32, 0},
- {"W25P32", 0xef2016, 0x0, 64 * 1024, 64, 0},
- {"W25X40", 0xef3013, 0x0, 64 * 1024, 8, SECT_4K},
- {"W25X16", 0xef3015, 0x0, 64 * 1024, 32, SECT_4K},
- {"W25X32", 0xef3016, 0x0, 64 * 1024, 64, SECT_4K},
- {"W25X64", 0xef3017, 0x0, 64 * 1024, 128, SECT_4K},
- {"W25Q80BL", 0xef4014, 0x0, 64 * 1024, 16, SECT_4K},
- {"W25Q16CL", 0xef4015, 0x0, 64 * 1024, 32, SECT_4K},
- {"W25Q32BV", 0xef4016, 0x0, 64 * 1024, 64, SECT_4K},
- {"W25Q64CV", 0xef4017, 0x0, 64 * 1024, 128, SECT_4K},
- {"W25Q128BV", 0xef4018, 0x0, 64 * 1024, 256, SECT_4K},
- {"W25Q256", 0xef4019, 0x0, 64 * 1024, 512, SECT_4K},
- {"W25Q80BW", 0xef5014, 0x0, 64 * 1024, 16, SECT_4K},
- {"W25Q16DW", 0xef6015, 0x0, 64 * 1024, 32, SECT_4K},
- {"W25Q32DW", 0xef6016, 0x0, 64 * 1024, 64, SECT_4K},
- {"W25Q64DW", 0xef6017, 0x0, 64 * 1024, 128, SECT_4K},
- {"W25Q128FW", 0xef6018, 0x0, 64 * 1024, 256, SECT_4K},
+ {"W25P80", 0xef2014, 0x0, 64 * 1024, 16, 0, 0},
+ {"W25P16", 0xef2015, 0x0, 64 * 1024, 32, 0, 0},
+ {"W25P32", 0xef2016, 0x0, 64 * 1024, 64, 0, 0},
+ {"W25X40", 0xef3013, 0x0, 64 * 1024, 8, 0, SECT_4K},
+ {"W25X16", 0xef3015, 0x0, 64 * 1024, 32, 0, SECT_4K},
+ {"W25X32", 0xef3016, 0x0, 64 * 1024, 64, 0, SECT_4K},
+ {"W25X64", 0xef3017, 0x0, 64 * 1024, 128, 0, SECT_4K},
+ {"W25Q80BL", 0xef4014, 0x0, 64 * 1024, 16, 0, SECT_4K},
+ {"W25Q16CL", 0xef4015, 0x0, 64 * 1024, 32, 0, SECT_4K},
+ {"W25Q32BV", 0xef4016, 0x0, 64 * 1024, 64, 0, SECT_4K},
+ {"W25Q64CV", 0xef4017, 0x0, 64 * 1024, 128, 0, SECT_4K},
+ {"W25Q128BV", 0xef4018, 0x0, 64 * 1024, 256, 0, SECT_4K},
+ {"W25Q256", 0xef4019, 0x0, 64 * 1024, 512, 0, SECT_4K},
+ {"W25Q80BW", 0xef5014, 0x0, 64 * 1024, 16, 0, SECT_4K},
+ {"W25Q16DW", 0xef6015, 0x0, 64 * 1024, 32, 0, SECT_4K},
+ {"W25Q32DW", 0xef6016, 0x0, 64 * 1024, 64, 0, SECT_4K},
+ {"W25Q64DW", 0xef6017, 0x0, 64 * 1024, 128, 0, SECT_4K},
+ {"W25Q128FW", 0xef6018, 0x0, 64 * 1024, 256, 0, SECT_4K},
#endif
/*
* Note:
@@ -155,12 +157,20 @@ static const struct spi_flash_params spi_flash_params_table[] = {
*/
};
+/* Read commands array */
+static u8 spi_read_cmds_array[] = {
+ CMD_READ_ARRAY_SLOW,
+ CMD_READ_DUAL_OUTPUT_FAST,
+ CMD_READ_DUAL_IO_FAST,
+};
+
static struct spi_flash *spi_flash_validate_params(struct spi_slave *spi,
u8 *idcode)
{
const struct spi_flash_params *params;
struct spi_flash *flash;
int i;
+ u8 cmd;
u16 jedec = idcode[1] << 8 | idcode[2];
u16 ext_jedec = idcode[3] << 8 | idcode[4];
@@ -222,6 +232,16 @@ static struct spi_flash *spi_flash_validate_params(struct spi_slave *spi,
flash->erase_size = flash->sector_size;
}
+ /* Look for the fastest read cmd */
+ cmd = fls(params->e_rd_cmd & flash->spi->op_mode_rx);
+ if (cmd) {
+ cmd = spi_read_cmds_array[cmd - 1];
+ flash->read_cmd = cmd;
+ } else {
+ /* Go for for default supported read cmd */
+ flash->read_cmd = CMD_READ_ARRAY_FAST;
+ }
+
/* Poll cmd seclection */
flash->poll_cmd = CMD_READ_STATUS;
#ifdef CONFIG_SPI_FLASH_STMICRO
diff --git a/include/spi.h b/include/spi.h
index aba7922..31195a3 100644
--- a/include/spi.h
+++ b/include/spi.h
@@ -31,6 +31,12 @@
#define SPI_XFER_MMAP_END 0x10 /* Memory Mapped End */
#define SPI_XFER_ONCE (SPI_XFER_BEGIN | SPI_XFER_END)
+/* SPI RX operation modes */
+#define SPI_OPM_RX_AS 1 << 0
+#define SPI_OPM_RX_DOUT 1 << 1
+#define SPI_OPM_RX_DIO 1 << 2
+#define SPI_OPM_RX_EXTN SPI_OPM_RX_AS | SPI_OPM_RX_DOUT | SPI_OPM_RX_DIO
+
/* Header byte that marks the start of the message */
#define SPI_PREAMBLE_END_BYTE 0xec
@@ -43,6 +49,7 @@
*
* @bus: ID of the bus that the slave is attached to.
* @cs: ID of the chip select connected to the slave.
+ * @op_mode_rx: SPI RX operation mode.
* @wordlen: Size of SPI word in number of bits
* @max_write_size: If non-zero, the maximum number of bytes which can
* be written at once, excluding command bytes.
@@ -51,6 +58,7 @@
struct spi_slave {
unsigned int bus;
unsigned int cs;
+ u8 op_mode_rx;
unsigned int wordlen;
unsigned int max_write_size;
void *memory_map;
diff --git a/include/spi_flash.h b/include/spi_flash.h
index afc3a58..692e143 100644
--- a/include/spi_flash.h
+++ b/include/spi_flash.h
@@ -19,6 +19,14 @@
#include <linux/types.h>
#include <linux/compiler.h>
+/* Enum list - Extended read commands */
+enum spi_read_cmds {
+ ARRAY_SLOW = 1 << 0,
+ DUAL_OUTPUT_FAST = 1 << 1,
+ DUAL_IO_FAST = 1 << 2,
+};
+#define RD_EXTN ARRAY_SLOW | DUAL_OUTPUT_FAST | DUAL_IO_FAST
+
/**
* struct spi_flash - SPI flash structure
*
@@ -33,6 +41,7 @@
* @bank_curr: Current flash bank
* @poll_cmd: Poll cmd - for flash erase/program
* @erase_cmd: Erase cmd 4K, 32K, 64K
+ * @read_cmd: Read cmd - Array Fast and Extn read
* @memory_map: Address of read-only SPI flash access
* @read: Flash read ops: Read len bytes at offset into buf
* Supported cmds: Fast Array Read
@@ -57,6 +66,7 @@ struct spi_flash {
#endif
u8 poll_cmd;
u8 erase_cmd;
+ u8 read_cmd;
void *memory_map;
int (*read)(struct spi_flash *flash, u32 offset, size_t len, void *buf);
--
1.8.3
3
4
Hi Albert,
still a couple of patches for the release. Please pull from u-boot-imx,
thanks !
The following changes since commit a6bbee66197759f790de83181924bf1d2cf482b2:
mx6slevk: Include "mx6_common.h" (2014-01-13 11:52:28 +0100)
are available in the git repository at:
git://www.denx.de/git/u-boot-imx.git master
for you to fetch changes up to 3a21773129f6ef218f1978d05a1a5d5cf6801ab6:
mx6: Add initial support for the Hummingboard solo (2014-01-15
10:33:25 +0100)
----------------------------------------------------------------
Fabio Estevam (2):
mx6: clock: Pass the frequency as argument of
enable_fec_anatop_clock()
mx6: Add initial support for the Hummingboard solo
arch/arm/cpu/armv7/mx6/clock.c | 8 +-
arch/arm/include/asm/arch-mx6/clock.h | 9 +-
arch/arm/include/asm/arch-mx6/imx-regs.h | 4 +
board/freescale/mx6slevk/mx6slevk.c | 2 +-
board/solidrun/hummingboard/Makefile | 9 +
board/solidrun/hummingboard/README | 40 ++++
board/solidrun/hummingboard/hummingboard.c | 187 ++++++++++++++++
board/solidrun/hummingboard/solo.cfg | 25 +++
board/solidrun/mx6-microsom/800mhz_2x128mx16.cfg | 74 +++++++
board/solidrun/mx6-microsom/clocks.cfg | 33 +++
.../mx6-microsom/ddr-800mhz-32bit-setup.cfg | 76 +++++++
boards.cfg | 1 +
include/configs/hummingboard.h | 226
++++++++++++++++++++
13 files changed, 691 insertions(+), 3 deletions(-)
create mode 100644 board/solidrun/hummingboard/Makefile
create mode 100644 board/solidrun/hummingboard/README
create mode 100644 board/solidrun/hummingboard/hummingboard.c
create mode 100644 board/solidrun/hummingboard/solo.cfg
create mode 100644 board/solidrun/mx6-microsom/800mhz_2x128mx16.cfg
create mode 100644 board/solidrun/mx6-microsom/clocks.cfg
create mode 100644 board/solidrun/mx6-microsom/ddr-800mhz-32bit-setup.cfg
create mode 100644 include/configs/hummingboard.h
--
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic(a)denx.de
=====================================================================
2
1
We switched to Kbuild style makefiles at v2014.01-rc1 release.
With that modification, we can write makefiles simpler.
But it is NOT real Kbuild. We need more progress.
As the next step, this series imports (+ adjusts) build scripts
from Linux Kernel under scripts/ directory.
By applying this series, we can get more advantages:
- short log
- perfect dependency tracking
- preparation to the next step, Kconfig
- other things...
Kbuild without Kconfig
----------------------
First of all, to make things clearer, let me explain
the difference between "Kbuild" and "Kconfig".
They are, I think, sometimes confusing.
Kbuild - build system used for Linux Kernel.
Some features of Kbuild are:
(a) We can describe makefiles simply.
Just add objects to "obj-y" like this:
obj-$(CONFIG_FOO) += foo.o
(b) We can describe directory descending nicely.
Add directories with a slash to "obj-y" like this:
obj-$(CONFIG_BAR) += bar/
(c) Short log like follows:
CC common/foo.o
CC common/bar.o
LD common/built-in.o
(d) Perfect dependency tracking
I think this is the biggest advantage.
To be honest, the dependency tracing of U-Boot build system
was not reliable.
Kconfig - A tool to manage CONFIG macros.
We can handle the dependency among CONFIG macros.
Kconfig allows us to modify CONFIG settings easily
by "make config".
GUI interface are also available by "make menuconfig"
All defined CONFIG macros are stored into ".config" file
I think most of U-boot developers are already familiar with above.
(In most cases, they are Linux Kernel developers too.)
I definitely want to port both of these, but I want to do them separately: Kbuild first.
(If we do Kbuild and Kconfig at the same time, it might be messed up.)
So, I want to do "Kbuild without Kconfig" in this series.
The conventional tool (mkconfig + boards.cfg file)
is used for board configuration.
Prerequisite
------------
You need to apply the followings beforehand to use this series.
[1] sandbox: Use system headers first for sandbox's os.c in a different way
http://patchwork.ozlabs.org/patch/294233/
How to Build ?
--------------
We can build the same as before.
Do board configuraton first and then run "make".
$ make omap4_panda_config
Configuring for omap4_panda board...
$ make CROSS_COMPILE=arm-linux-gnueabi-
GEN include/autoconf.mk.dep
GEN include/autoconf.mk
CC lib/asm-offsets.s
GEN include/generated/generic-asm-offsets.h
CC arch/arm/cpu/armv7/omap4/asm-offsets.s
GEN include/generated/asm-offsets.h
HOSTCC scripts/basic/fixdep
...
You will find a difference at a glance, short log
If you need detail log message, please add "V=1".
(You can also use "V=2")
Please note we can no longer use
$ make omap4_panda CROSS_COMPILE=arm-linux-gnueabi-
to do board configuration and "make" at the same time.
Instead, we can use Kbuild-ish way for that purpose:
$ make omap4_panda_config all CROSS_COMPILE=arm-linux-gnuabi-
This series keeps the other features:
- Support out-of-tree build
You can use "O=<dir_name>" like this
$ mkdir build_dir
$ make omap4_panda_config all O=build_dir CROSS_COMPILE=arm-linux-gnueabi-
- Works with parallel make option
Add "-j" option for this. Compiling will get faster.
- Of cource, SPL, TPL build are supported
(nand_spl also works. But "nand_spl" is obsolete and we should switch to "spl".
Until when should we continue to maintain nand_spl?)
- Breaks no boards (except some boards which are already broken)
I built all target boards to prove correctness of this series
at least for compile test.
My Next Plan
------------
- Import Kconfig
Use "make config", "make menuconfig", "make defconfig", etc. in U-Boot.
- More refactoring
Some parts of makefiles are still dirty.
I want to refactor more makefiles in follow-up patches.
- Use "obj-m" for standalone program?? Loadable module??
I have not deceided about this yet.
Note
----
- I marked dirty parts with "FIX ME".
In some board-specific config.mk files.
# FIX ME
ifneq ($(filter lib lib/lzma lib/zlib, $(obj)),)
ccflags-y := -O2
endif
In the top Makefile
# FIX ME
cpp_flags := $(KBUILD_CPPFLAGS) $(CPPFLAGS) $(UBOOTINCLUDE) $(NOSTDINC_FLAGS)
c_flags := $(KBUILD_CFLAGS) $(cpp_flags)
I will re-write them more nicely after other parts are prepared.
Changes for v4:
- Add a new patch at the tail:
37/37 "kbuild: Do not generate .*.su files at the top directory"
- Change "checkstack" target to Kbuild style
- Move the line where U_BOOT_VERSION is defined
Changes for v3:
- Rebase on the current u-boot/master
- Add a new patch at the tail:
36/36 "board: sandburst: delete FORCEBUILD"
Changes for v2:
- At version 1, nand_spl boards got broken at 12 and fixed at 14.
Fix this problem
- At version 1, sandbox got broken at 17 and fixed at 21.
Fix this problem
- Add a new patch at the tail:
35/35 "Kbuild: chech clean source and generate Makefile for out-of-tree build"
- Rebase on v2014.01-rc2 tag
Changes in v4:
- Change a little checkstack target:
Use $(src) rather than $(srctree) where Linux Kernel does so.
- Move the line where U_BOOT_VERSION is defined
- Change checkstack target
- Newly added
Changes in v3:
- Rebase on the current u-boot/master
- Use "all:" instead of "__build:" in nand_spl Makefiles
- Newly added
Changes in v2:
- Do not double "*~"
- Ignore more patterns
- Rebase on v2014.01-rc2 tag
- Do not use bash-dependent clean rules:
For example,
rm -f $(obj)tools/env/{fw_printenv,fw_setenv}
should be converted to
rm -f $(addprefix $(obj)tools/env/, fw_printenv fw_setenv)
- Add more comments in commit log
- Rebase on v2014.01-rc2 tag
- At version 1, nand_spl boards got broken by this commit
(and fixed again in the lator commit.)
Fix this problem
- Rebase on v2014.01-rc2 tag
- At version 1, sandbox got broken by this commit
(and fixed again in the lator commit.)
Fix this problem
- Change a little MAKEALL
Do not add "O=<dir>" if objtree is the same as srctree.
This will be helpful at 35/35.
- Rebase on v2014.01-rc2 tag
- Omit "*.depend*" from .gitignore
- Rebase on v2014.01-rc2 tag
- Rebase on v2014.01-rc2 tag
- Newly added
Masahiro Yamada (37):
.gitignore: ingore files generated by Kbuild
Makefile.host.tmp: add a new script to refactor tools
tools: convert makefiles to kbuild style
board: samsung: refactor host programs
examples: Use scripts/Makefile.build
nand-spl: Use scripts/Makefile.build
Makfile: move suffix rules to Makefile.build
Makefile: move some variable definitions to the top Makefile
Makefile: move BFD_ROOT_DIR to tools/gdb/Makefile
kbuild: import Kbuild.include from linux v3.12 tag
kbuild: Use Kbuild.include
Makefile: move more flags to the top Makefile
Makefile: refactor include path settings
Makefile: move more stuff to top Makefile
Makefile: move some flags to spl/Makefile
Makefile: move some flags to examples makefiles
kbuild: change out-of-tree build
kbuild: add dummy obj-y to create built-in.o
Makefile: rename scripts/Makefile.build to scripts/Makefile.build.tmp
kbuild: import more build scripts from Linux v3.12 tag
kbuild: use Linux Kernel build scripts
kbuild: delete temporary build scripts
kbuild: move some lines to more suitable place
kbuild: convert some make rules to Kbuild style
kbuild: move include directives of board configuration files
kbuild: generate {spl,tpl}-autoconf.mk only when it is necessary
Makefile: remove a cleaning target "tidy"
kbuild: change the top Makefile to more Kbuild-ish structure
examples: move api/ and standalone/ to examples/Makefile
kbuild: refactor Makefile and spl/Makefile more
Makefile: Do not pass MTD_VERSION from the top Makefile
Makefile: refactor tools-all targets
kbuild: use scripts/Makefile.clean
kbuild: support simultaneous board configuration and "make all"
kbuild: check clean source and generate Makefile for out-of-tree build
board: sandburst: delete FORCEBUILD
kbuild: Do not generate .*.su files at the top directory
.gitignore | 28 +-
MAKEALL | 8 +-
Makefile | 1299 +++++++++++++-------
arch/arm/cpu/arm1136/config.mk | 2 +-
arch/arm/cpu/arm926ejs/config.mk | 2 +-
arch/arm/cpu/arm926ejs/davinci/config.mk | 2 +-
arch/arm/cpu/armv7/am33xx/config.mk | 2 +-
arch/arm/cpu/armv7/config.mk | 2 +-
arch/arm/cpu/armv7/omap3/config.mk | 2 +-
arch/arm/cpu/armv7/omap4/config.mk | 2 +-
arch/arm/cpu/armv7/omap5/config.mk | 2 +-
arch/arm/cpu/armv7/socfpga/config.mk | 2 +-
arch/arm/cpu/armv7/tegra114/Makefile | 3 +-
arch/arm/cpu/armv7/tegra30/Makefile | 3 +-
arch/arm/imx-common/Makefile | 2 +-
arch/blackfin/config.mk | 10 +-
arch/blackfin/cpu/Makefile | 10 +-
arch/blackfin/lib/Makefile | 5 +-
arch/m68k/cpu/mcf5227x/Makefile | 2 +-
arch/m68k/cpu/mcf523x/Makefile | 2 +-
arch/m68k/cpu/mcf52x2/Makefile | 2 +-
arch/m68k/cpu/mcf532x/Makefile | 2 +-
arch/m68k/cpu/mcf5445x/Makefile | 2 +-
arch/m68k/cpu/mcf547x_8x/Makefile | 2 +-
arch/mips/cpu/mips32/config.mk | 2 +-
arch/mips/cpu/mips64/config.mk | 2 +-
arch/mips/cpu/xburst/config.mk | 2 +-
arch/nds32/config.mk | 2 +-
arch/nds32/cpu/n1213/Makefile | 3 +
arch/powerpc/cpu/mpc8xx/Makefile | 2 +-
arch/powerpc/lib/Makefile | 4 +-
arch/sandbox/cpu/Makefile | 11 +-
arch/sparc/config.mk | 3 +-
arch/x86/lib/Makefile | 2 +-
board/ait/cam_enc_4xx/config.mk | 2 +-
board/avionic-design/medcom-wide/Makefile | 2 +-
board/avionic-design/plutux/Makefile | 2 +-
board/avionic-design/tec/Makefile | 2 +-
board/bct-brettl2/config.mk | 7 +-
board/bf518f-ezbrd/config.mk | 7 +-
board/bf526-ezbrd/config.mk | 7 +-
board/bf527-ad7160-eval/config.mk | 7 +-
board/bf527-ezkit/config.mk | 7 +-
board/bf527-sdp/config.mk | 7 +-
board/bf533-ezkit/config.mk | 7 +-
board/bf533-stamp/config.mk | 7 +-
board/bf537-stamp/config.mk | 7 +-
board/bf538f-ezkit/config.mk | 7 +-
board/bf548-ezkit/config.mk | 7 +-
board/bf561-acvilon/config.mk | 7 +-
board/bf561-ezkit/config.mk | 7 +-
board/br4/config.mk | 7 +-
board/cm-bf527/config.mk | 7 +-
board/cm-bf533/config.mk | 7 +-
board/cm-bf537e/config.mk | 7 +-
board/cm-bf537u/config.mk | 7 +-
board/cm-bf548/config.mk | 7 +-
board/cm-bf561/config.mk | 7 +-
board/compal/paz00/Makefile | 2 +-
board/compulab/trimslice/Makefile | 2 +-
board/cray/L1/Makefile | 10 +-
board/freescale/common/Makefile | 5 +-
board/h2200/Makefile | 2 +-
board/ip04/config.mk | 7 +-
board/matrix_vision/mvblm7/Makefile | 4 +-
board/matrix_vision/mvblx/Makefile | 2 +-
board/matrix_vision/mvsmr/Makefile | 2 +-
board/nvidia/common/Makefile | 2 +-
board/pcs440ep/config.mk | 2 +-
board/pr1/config.mk | 7 +-
board/samsung/origen/Makefile | 23 +-
.../origen/tools/{mkv310_image.c => mkorigenspl.c} | 0
board/samsung/smdkv310/Makefile | 16 +-
.../tools/{mkv310_image.c => mksmdkv310spl.c} | 0
board/sandburst/karef/Makefile | 6 +-
board/sandburst/metrobox/Makefile | 6 +-
board/spear/common/Makefile | 5 +-
board/spear/x600/Makefile | 5 +-
board/st-ericsson/snowball/Makefile | 2 +-
board/st-ericsson/u8500/Makefile | 2 +-
board/tcm-bf518/config.mk | 7 +-
board/tcm-bf537/config.mk | 7 +-
common/Makefile | 11 +-
config.mk | 333 +----
disk/Makefile | 2 +-
doc/DocBook/Makefile | 17 -
drivers/bios_emulator/Makefile | 5 +-
drivers/hwmon/Makefile | 2 +-
drivers/net/npe/Makefile | 4 +-
drivers/rtc/Makefile | 2 +-
drivers/usb/musb-new/Makefile | 7 +-
dts/Makefile | 20 +-
examples/Makefile | 9 +
examples/api/Makefile | 44 +-
examples/standalone/Makefile | 71 +-
fs/ubifs/Makefile | 2 +-
fs/yaffs2/Makefile | 9 +-
lib/Makefile | 2 +-
lib/lzma/Makefile | 2 +-
mkconfig | 2 +-
nand_spl/board/amcc/acadia/Makefile | 43 +-
nand_spl/board/amcc/bamboo/Makefile | 43 +-
nand_spl/board/amcc/canyonlands/Makefile | 43 +-
nand_spl/board/amcc/kilauea/Makefile | 41 +-
nand_spl/board/amcc/sequoia/Makefile | 45 +-
nand_spl/board/freescale/mpc8315erdb/Makefile | 45 +-
nand_spl/board/freescale/mpc8536ds/Makefile | 57 +-
nand_spl/board/freescale/mpc8569mds/Makefile | 57 +-
nand_spl/board/freescale/mpc8572ds/Makefile | 57 +-
nand_spl/board/freescale/p1023rds/Makefile | 58 +-
nand_spl/board/freescale/p1_p2_rdb/Makefile | 57 +-
nand_spl/board/sheldon/simpc8313/Makefile | 46 +-
net/Makefile | 2 +-
post/lib_powerpc/fpu/Makefile | 30 +-
rules.mk | 51 -
scripts/Kbuild.include | 284 +++++
scripts/Makefile | 2 +
scripts/Makefile.build | 519 +++++++-
scripts/Makefile.clean | 108 ++
scripts/Makefile.host | 170 +++
scripts/Makefile.lib | 375 ++++++
scripts/basic/.gitignore | 1 +
scripts/basic/Makefile | 15 +
scripts/basic/fixdep.c | 462 +++++++
scripts/mkmakefile | 59 +
spl/Makefile | 185 +--
tools/.gitignore | 2 +-
tools/Makefile | 364 ++----
tools/crc32.c | 1 +
tools/easylogo/Makefile | 12 +-
tools/env/Makefile | 34 +-
tools/env/crc32.c | 1 +
tools/env/ctype.c | 1 +
tools/env/env_attr.c | 1 +
tools/env/env_flags.c | 1 +
tools/env/linux_string.c | 1 +
tools/env_embedded.c | 1 +
tools/fdt.c | 1 +
tools/fdt_ro.c | 1 +
tools/fdt_rw.c | 1 +
tools/fdt_strerror.c | 1 +
tools/fdt_wip.c | 1 +
tools/gdb/Makefile | 64 +-
tools/image-fit.c | 1 +
tools/image-sig.c | 1 +
tools/image.c | 1 +
tools/kernel-doc/Makefile | 21 +-
tools/md5.c | 1 +
tools/rsa-sign.c | 1 +
tools/sha1.c | 1 +
150 files changed, 3597 insertions(+), 2022 deletions(-)
rename board/samsung/origen/tools/{mkv310_image.c => mkorigenspl.c} (100%)
rename board/samsung/smdkv310/tools/{mkv310_image.c => mksmdkv310spl.c} (100%)
create mode 100644 examples/Makefile
delete mode 100644 rules.mk
create mode 100644 scripts/Kbuild.include
create mode 100644 scripts/Makefile
create mode 100644 scripts/Makefile.clean
create mode 100644 scripts/Makefile.host
create mode 100644 scripts/Makefile.lib
create mode 100644 scripts/basic/.gitignore
create mode 100644 scripts/basic/Makefile
create mode 100644 scripts/basic/fixdep.c
create mode 100644 scripts/mkmakefile
create mode 100644 tools/crc32.c
create mode 100644 tools/env/crc32.c
create mode 100644 tools/env/ctype.c
create mode 100644 tools/env/env_attr.c
create mode 100644 tools/env/env_flags.c
create mode 100644 tools/env/linux_string.c
create mode 100644 tools/env_embedded.c
create mode 100644 tools/fdt.c
create mode 100644 tools/fdt_ro.c
create mode 100644 tools/fdt_rw.c
create mode 100644 tools/fdt_strerror.c
create mode 100644 tools/fdt_wip.c
create mode 100644 tools/image-fit.c
create mode 100644 tools/image-sig.c
create mode 100644 tools/image.c
create mode 100644 tools/md5.c
create mode 100644 tools/rsa-sign.c
create mode 100644 tools/sha1.c
--
1.8.3.2
2
40
Squash the malloc()+memset() combo in favor of calloc().
Signed-off-by: Marek Vasut <marex(a)denx.de>
Cc: Jagannadha Sutradharudu Teki <jaganna(a)xilinx.com>
---
drivers/mtd/spi/sf_probe.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
NOTE: compile-tested only.
diff --git a/drivers/mtd/spi/sf_probe.c b/drivers/mtd/spi/sf_probe.c
index bc3cf6c..e84ab13 100644
--- a/drivers/mtd/spi/sf_probe.c
+++ b/drivers/mtd/spi/sf_probe.c
@@ -123,12 +123,11 @@ static struct spi_flash *spi_flash_validate_params(struct spi_slave *spi,
return NULL;
}
- flash = malloc(sizeof(*flash));
+ flash = calloc(1, sizeof(*flash));
if (!flash) {
debug("SF: Failed to allocate spi_flash\n");
return NULL;
}
- memset(flash, '\0', sizeof(*flash));
/* Assign spi data */
flash->spi = spi;
--
1.8.5.2
1
0
From: David Feng <fenghua(a)phytium.com.cn>
Changes for v15:
- modify boot process, u-boot will run at the highest
exception level until it prepare jump to OS.
- Fix a few bugs in cache.S.These bug is reported by
York Sun <yorksun(a)freescale.com> and Scott Wood
<scottwood(a)freescale.com>.
- when booting, slaves will wait on WFI, master wakeup
slaves by SGI interrupt.
- add generic_timer.c to utilize the newest timer architecture.
- add gic.S to support gic initialization and interrupt
operations, currently only support GICv2.
Changes for v14:
- Merge rela relocation patches from Scott Wood
<scottwood(a)freescale.com>.
- Remove all CONFIG_NEED_MANUAL_RELOC and other fixups
due to manual relocation. With rela relocation patches
them are not needed.
- Fix the bug of MEMORY_ATTRIBUTES definition due to
assembler. That need put brackets around (MT_NORMAL*8).
Otherwise the result is wrong.This bug is reported by
York Sun <yorksun(a)freescale.com>.
- -msoft-float is not supported by aarch64-gcc,
make a test though $(call cc-option,-msoft-float).
- Adjust the virtual address space to 42 bits.
- Filter armv8 boards from LIST_arm in MAKEALL.
- remove gpio.h in asm/arch-armv8/ and move mmu.h to
asm/armv8/ directory.
- remove vexpress64.dts from this patch, it could be
accessed from linux kernel.
Changes for v13:
- fix the bug of board_r.c and arm/lib/board.c due to
CONFIG_NEED_MANUAL_RELOC. adjust initr_serial() in board_r.c
to the first entry of init_sequence_r[] and relocate
serial_initialize() in arm/lib/board.c, routines of serial_device
should be relocated firstly by serial_initialize(), so that printf
access the correct puts function, otherwise uninitialized
serial_current will be selected as the output device.
- fix the bug of dcache_enable(). after mmu_setup the sctrl
register value should be fetched again because it has been
modifed by mmu_seup() function. This bug is reported by York Sun
<yorksun(a)freescale.com>.
- add macro branch_if_slave to macro.h, it choose processor
with all zero affinity value as the master and is used in start.S.
Changes for v12:
- custom the patches to new format boards.cfg.
Changes for v11:
- Replace CONFIG_ARMV8 with CONFIG_ARM64. Currently,
it's hard to distinguish what is armv8 specific and
what is aarch64 specific, so we use CONFIG_ARM64
only, no CONFIG_ARMV8 used.
- rename README.armv8 with README.arm64 and make some modification.
Changes for v10:
- add weak definition to include/linux/linkage.h and make
setup_el2/setup_el3/lowlevel_init weak routines,
so them can be easily overridden by processor specific code.
- modify s-o-f of 0002-board-support-of-vexpress_aemv8a which
use wrong mail address of Bhupesh Sharma.
Changes for v9:
- add Signed-off-by information to patch "board support of
vexpress_aemv8a" which SMC91111 support is integrated
from Sharma Bhupesh's patch.
- adjust pt_regs struct and add exception state
preservation in exception.S.
Changes for v8:
- Integrate SMC91111 patch of sharma bhupesh.
- remove v8_outer_cache* which is not need currently.
- Change license tag.
- Mov crt0.S/relocate.S/interrupts.c to arm/lib and
rename them with _64 suffix.
- Make el3/el2 initializing process of start.S as
two separate routines. It could be easier to be
replaced with processor specific codes.
- Remove exception stack save and restore routine,
it is unnecessary now.
- simplify __weak function declaration.
Changes for v7:
- Check the patches with checkpatch.pl and get rid of
almost all warnings. There are a few warnings still,
but I think it should be that.
- change printf format in cmd_pxe.c, use %zd indtead
of %ld to format size_t type variable.
- add macro PGTABLE_SIZE to identify tlb table size.
Changes for v6:
- Make modification to inappropriate licensed file
and bugs according to ScottWood's advice.
Thanks Scott for his checking to these patches.
- Enable u-boot's running at EL1.
- Get rid of compiling warnings originated from cmd_pxe.c.
Changes for v5:
- fix the generic board_f.c, remove zero_global_data
from init_sequence_f array and move it to board_init_f()
function with CONFIG_X86 switch. The previous fixup is
inaccurate.
- Replace __ARMEB__ with __AARCH64EB__ in byteorder.h
and unaligned.h, gcc for aarch64 use __AARCH64EB__ and
__AARCH64EL__ to identify endian.
- Some modification to README.armv8
Changes for v4:
- merge arm64 to arm architecture.
David Feng (10):
fdt_support: 64bit initrd start address support
cmd_pxe: remove compiling warnings
add weak entry definition
arm64: Add tool to statically apply RELA relocations
arm64: Turn u-boot.bin back into an ELF file after relocate-rela
arm64: Make checkarmreloc accept arm64 relocations
arm64: core support
arm64: generic board support
arm64: board support of vexpress_aemv8a
arm64: MAKEALL, filter armv8 boards from LIST_arm
MAKEALL | 12 +-
Makefile | 39 +++++-
arch/arm/config.mk | 3 +-
arch/arm/cpu/armv8/Makefile | 17 +++
arch/arm/cpu/armv8/cache.S | 136 +++++++++++++++++++
arch/arm/cpu/armv8/cache_v8.c | 219 +++++++++++++++++++++++++++++++
arch/arm/cpu/armv8/config.mk | 15 +++
arch/arm/cpu/armv8/cpu.c | 43 ++++++
arch/arm/cpu/armv8/exceptions.S | 113 ++++++++++++++++
arch/arm/cpu/armv8/generic_timer.c | 31 +++++
arch/arm/cpu/armv8/gic.S | 106 +++++++++++++++
arch/arm/cpu/armv8/start.S | 164 +++++++++++++++++++++++
arch/arm/cpu/armv8/tlb.S | 34 +++++
arch/arm/cpu/armv8/transition.S | 83 ++++++++++++
arch/arm/cpu/armv8/u-boot.lds | 89 +++++++++++++
arch/arm/include/asm/armv8/mmu.h | 111 ++++++++++++++++
arch/arm/include/asm/byteorder.h | 12 ++
arch/arm/include/asm/cache.h | 5 +
arch/arm/include/asm/config.h | 6 +
arch/arm/include/asm/gic.h | 49 ++++++-
arch/arm/include/asm/global_data.h | 6 +-
arch/arm/include/asm/io.h | 15 ++-
arch/arm/include/asm/macro.h | 53 ++++++++
arch/arm/include/asm/posix_types.h | 10 ++
arch/arm/include/asm/proc-armv/ptrace.h | 21 +++
arch/arm/include/asm/proc-armv/system.h | 59 ++++++++-
arch/arm/include/asm/system.h | 84 ++++++++++++
arch/arm/include/asm/types.h | 4 +
arch/arm/include/asm/u-boot.h | 4 +
arch/arm/include/asm/unaligned.h | 2 +-
arch/arm/lib/Makefile | 20 ++-
arch/arm/lib/board.c | 7 +-
arch/arm/lib/bootm.c | 24 ++++
arch/arm/lib/crt0_64.S | 113 ++++++++++++++++
arch/arm/lib/interrupts_64.c | 120 +++++++++++++++++
arch/arm/lib/relocate_64.S | 58 ++++++++
board/armltd/vexpress64/Makefile | 8 ++
board/armltd/vexpress64/vexpress64.c | 56 ++++++++
boards.cfg | 1 +
common/board_f.c | 20 ++-
common/cmd_pxe.c | 4 +-
common/fdt_support.c | 66 +++++-----
common/image.c | 1 +
doc/README.arm64 | 46 +++++++
examples/standalone/stubs.c | 15 +++
include/configs/vexpress_aemv8a.h | 189 ++++++++++++++++++++++++++
include/image.h | 1 +
include/linux/linkage.h | 4 +
tools/Makefile | 6 +
tools/relocate-rela.c | 189 ++++++++++++++++++++++++++
50 files changed, 2425 insertions(+), 68 deletions(-)
create mode 100644 arch/arm/cpu/armv8/Makefile
create mode 100644 arch/arm/cpu/armv8/cache.S
create mode 100644 arch/arm/cpu/armv8/cache_v8.c
create mode 100644 arch/arm/cpu/armv8/config.mk
create mode 100644 arch/arm/cpu/armv8/cpu.c
create mode 100644 arch/arm/cpu/armv8/exceptions.S
create mode 100644 arch/arm/cpu/armv8/generic_timer.c
create mode 100644 arch/arm/cpu/armv8/gic.S
create mode 100644 arch/arm/cpu/armv8/start.S
create mode 100644 arch/arm/cpu/armv8/tlb.S
create mode 100644 arch/arm/cpu/armv8/transition.S
create mode 100644 arch/arm/cpu/armv8/u-boot.lds
create mode 100644 arch/arm/include/asm/armv8/mmu.h
create mode 100644 arch/arm/lib/crt0_64.S
create mode 100644 arch/arm/lib/interrupts_64.c
create mode 100644 arch/arm/lib/relocate_64.S
create mode 100644 board/armltd/vexpress64/Makefile
create mode 100644 board/armltd/vexpress64/vexpress64.c
create mode 100644 doc/README.arm64
create mode 100644 include/configs/vexpress_aemv8a.h
create mode 100644 tools/relocate-rela.c
--
1.7.9.5
9
22

[U-Boot] [PATCH v2 1/3] mx6: clock: Pass the frequency as argument of enable_fec_anatop_clock()
by Fabio Estevam 15 Jan '14
by Fabio Estevam 15 Jan '14
15 Jan '14
From: Fabio Estevam <fabio.estevam(a)freescale.com>
Provide an argument to enable_fec_anatop_clock() to specify the clock frequency
that will be generated.
No changes are made to mx6slevk, which uses the default 50MHz fec clock.
Signed-off-by: Fabio Estevam <fabio.estevam(a)freescale.com>
---
Stefano,
I don't have access to a mx6slevk board at the moment, but will test it on
Monday. Wanted to submit it so that people could provide some feedback on the
series.
mx6slevk is using the default clock of 50MHz, so I kept it unchanged.
Changes since v1:
- Newly introduced on v2.
arch/arm/cpu/armv7/mx6/clock.c | 8 +++++++-
arch/arm/include/asm/arch-mx6/clock.h | 9 ++++++++-
board/freescale/mx6slevk/mx6slevk.c | 2 +-
3 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/arch/arm/cpu/armv7/mx6/clock.c b/arch/arm/cpu/armv7/mx6/clock.c
index fcc4f35..c0805b3 100644
--- a/arch/arm/cpu/armv7/mx6/clock.c
+++ b/arch/arm/cpu/armv7/mx6/clock.c
@@ -322,7 +322,7 @@ static u32 get_mmdc_ch0_clk(void)
#endif
#ifdef CONFIG_FEC_MXC
-int enable_fec_anatop_clock(void)
+int enable_fec_anatop_clock(enum enet_freq freq)
{
u32 reg = 0;
s32 timeout = 100000;
@@ -330,7 +330,13 @@ int enable_fec_anatop_clock(void)
struct anatop_regs __iomem *anatop =
(struct anatop_regs __iomem *)ANATOP_BASE_ADDR;
+ if (freq < ENET_25MHz || freq > ENET_125MHz)
+ return -EINVAL;
+
reg = readl(&anatop->pll_enet);
+ reg &= ~BM_ANADIG_PLL_ENET_DIV_SELECT;
+ reg |= freq;
+
if ((reg & BM_ANADIG_PLL_ENET_POWERDOWN) ||
(!(reg & BM_ANADIG_PLL_ENET_LOCK))) {
reg &= ~BM_ANADIG_PLL_ENET_POWERDOWN;
diff --git a/arch/arm/include/asm/arch-mx6/clock.h b/arch/arm/include/asm/arch-mx6/clock.h
index 93f29a7..e31ba0a 100644
--- a/arch/arm/include/asm/arch-mx6/clock.h
+++ b/arch/arm/include/asm/arch-mx6/clock.h
@@ -42,6 +42,13 @@ enum mxc_clock {
MXC_I2C_CLK,
};
+enum enet_freq {
+ ENET_25MHz,
+ ENET_50MHz,
+ ENET_100MHz,
+ ENET_125MHz,
+};
+
u32 imx_get_uartclk(void);
u32 imx_get_fecclk(void);
unsigned int mxc_get_clock(enum mxc_clock clk);
@@ -50,5 +57,5 @@ void enable_usboh3_clk(unsigned char enable);
int enable_sata_clock(void);
int enable_i2c_clk(unsigned char enable, unsigned i2c_num);
void enable_ipu_clock(void);
-int enable_fec_anatop_clock(void);
+int enable_fec_anatop_clock(enum enet_freq freq);
#endif /* __ASM_ARCH_CLOCK_H */
diff --git a/board/freescale/mx6slevk/mx6slevk.c b/board/freescale/mx6slevk/mx6slevk.c
index 643fdac..47c04ce 100644
--- a/board/freescale/mx6slevk/mx6slevk.c
+++ b/board/freescale/mx6slevk/mx6slevk.c
@@ -128,7 +128,7 @@ static int setup_fec(void)
/* clear gpr1[14], gpr1[18:17] to select anatop clock */
clrsetbits_le32(&iomuxc_regs->gpr[1], IOMUX_GPR1_FEC_MASK, 0);
- ret = enable_fec_anatop_clock();
+ ret = enable_fec_anatop_clock(ENET_50MHz);
if (ret)
return ret;
--
1.8.1.2
3
13
Dear Reinhard,
attempting to build the TOP860 code with a GCC 4.8.1 based tool chain
(say ELDK v5.5 or Yocto 1.5) gives the following errors:
-> ./MAKEALL TOP860
Configuring for TOP860 board...
text data bss dec hex filename
165471 21020 17316 203807 31c1f ./u-boot
../common/flash.c: In function 'flash_init':
../common/flash.c:336:20: warning: iteration 128u invokes undefined behavior [-Waggressive-loop-optimizations]
info->start[i] = (ulong)addr + 0x10000 * i;
^
../common/flash.c:334:4: note: containing loop
for (i = 0; i < info->sector_count; i++)
^
...
Can you please provide a fix - or is this old hardware and the code
should be removed from the U-Boot tree?
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd(a)denx.de
Life would be so much easier if everyone read the manual.
3
3
Dear Tom,
The following changes since commit cddb6b8304bfbc34f43920051256de7fe6c4c0ab:
Prepare v2014.01-rc3 (2014-01-13 14:36:17 -0500)
are available in the git repository at:
git://git.denx.de/u-boot-mpc82xx.git master
for you to fetch changes up to 91167bdaec8470360bc424eccc5ec6d7620e14d4:
PPC: remove support for MPC82xx processors (2014-01-15 08:11:22 +0100)
Note: I did a full build test for all (remaining) Power
Architecture boards, and sample builds for some ARM and MIPS
boards.
Note 2: Patch # 2 has been truncated on the ML due to it's size; the
full version is available at [1], or from the aforementioned
git repository, of course.
[1] http://www.denx.de/wiki/pub/U-Boot/TooBigPatches/0002-PPC-remove-support-fo…
----------------------------------------------------------------
Wolfgang Denk (2):
doc/README.scrapyard: update commit IDs, use TAB for indentation
PPC: remove support for MPC82xx processors
MAKEALL | 12 -
Makefile | 1 -
README | 70 +-
api/api_platform-powerpc.c | 2 +-
arch/powerpc/cpu/mpc824x/Makefile | 11 -
arch/powerpc/cpu/mpc824x/config.mk | 8 -
arch/powerpc/cpu/mpc824x/cpu.c | 262 -----
arch/powerpc/cpu/mpc824x/cpu_init.c | 399 --------
arch/powerpc/cpu/mpc824x/drivers/epic.h | 1 -
arch/powerpc/cpu/mpc824x/drivers/epic/README | 102 --
arch/powerpc/cpu/mpc824x/drivers/epic/epic.h | 163 ---
arch/powerpc/cpu/mpc824x/drivers/epic/epic1.c | 517 ----------
arch/powerpc/cpu/mpc824x/drivers/epic/epic2.S | 196 ----
arch/powerpc/cpu/mpc824x/drivers/epic/epicutil.S | 57 --
arch/powerpc/cpu/mpc824x/drivers/errors.h | 212 ----
arch/powerpc/cpu/mpc824x/drivers/i2c/i2c.c | 254 -----
arch/powerpc/cpu/mpc824x/drivers/i2c_export.h | 103 --
arch/powerpc/cpu/mpc824x/interrupts.c | 77 --
arch/powerpc/cpu/mpc824x/pci.c | 75 --
arch/powerpc/cpu/mpc824x/speed.c | 102 --
arch/powerpc/cpu/mpc824x/start.S | 729 --------------
arch/powerpc/cpu/mpc824x/traps.c | 194 ----
arch/powerpc/cpu/mpc824x/u-boot.lds | 76 --
arch/powerpc/cpu/mpc8260/Makefile | 13 -
arch/powerpc/cpu/mpc8260/bedbug_603e.c | 236 -----
arch/powerpc/cpu/mpc8260/commproc.c | 178 ----
arch/powerpc/cpu/mpc8260/config.mk | 9 -
arch/powerpc/cpu/mpc8260/cpu.c | 321 ------
arch/powerpc/cpu/mpc8260/cpu_init.c | 276 -----
arch/powerpc/cpu/mpc8260/ether_fcc.c | 1172 ----------------------
arch/powerpc/cpu/mpc8260/ether_scc.c | 367 -------
arch/powerpc/cpu/mpc8260/i2c.c | 740 --------------
arch/powerpc/cpu/mpc8260/interrupts.c | 263 -----
arch/powerpc/cpu/mpc8260/kgdb.S | 56 --
arch/powerpc/cpu/mpc8260/pci.c | 450 ---------
arch/powerpc/cpu/mpc8260/serial_scc.c | 492 ---------
arch/powerpc/cpu/mpc8260/serial_smc.c | 461 ---------
arch/powerpc/cpu/mpc8260/speed.c | 228 -----
arch/powerpc/cpu/mpc8260/speed.h | 38 -
arch/powerpc/cpu/mpc8260/spi.c | 415 --------
arch/powerpc/cpu/mpc8260/start.S | 992 ------------------
arch/powerpc/cpu/mpc8260/traps.c | 248 -----
arch/powerpc/cpu/mpc8260/u-boot.lds | 75 --
arch/powerpc/cpu/mpc83xx/start.S | 2 +-
arch/powerpc/include/asm/cpm_8260.h | 795 ---------------
arch/powerpc/include/asm/global_data.h | 2 -
arch/powerpc/include/asm/immap_8260.h | 604 -----------
arch/powerpc/include/asm/iopin_8260.h | 168 ----
arch/powerpc/include/asm/m8260_pci.h | 165 ---
arch/powerpc/include/asm/mpc8349_pci.h | 6 +-
arch/powerpc/include/asm/processor.h | 8 -
arch/powerpc/include/asm/status_led.h | 4 +-
arch/powerpc/include/asm/u-boot.h | 2 +-
arch/powerpc/lib/board.c | 6 +-
arch/powerpc/lib/kgdb.c | 50 -
board/a3000/Makefile | 8 -
board/a3000/README | 17 -
board/a3000/a3000.c | 101 --
board/a3000/flash.c | 438 --------
board/atc/Makefile | 8 -
board/atc/atc.c | 382 -------
board/atc/flash.c | 647 ------------
board/atc/ti113x.c | 620 ------------
board/cogent/kbm.c | 3 -
board/cogent/kbm.h | 79 --
board/cogent/mb.c | 176 ----
board/cogent/pci.c | 3 -
board/cogent/pci.h | 3 -
board/cogent/rtc.c | 3 -
board/cogent/rtc.h | 3 -
board/cpc45/Makefile | 8 -
board/cpc45/cpc45.c | 250 -----
board/cpc45/flash.c | 506 ----------
board/cpc45/ide.c | 128 ---
board/cpc45/pd67290.c | 797 ---------------
board/cpc45/plx9030.c | 156 ---
board/cpu86/Makefile | 8 -
board/cpu86/cpu86.c | 304 ------
board/cpu86/cpu86.h | 27 -
board/cpu86/flash.c | 599 -----------
board/cpu87/Makefile | 8 -
board/cpu87/cpu87.c | 330 ------
board/cpu87/cpu87.h | 27 -
board/cpu87/flash.c | 608 -----------
board/cu824/Makefile | 8 -
board/cu824/README | 453 ---------
board/cu824/cu824.c | 83 --
board/cu824/flash.c | 470 ---------
board/eXalion/Makefile | 8 -
board/eXalion/eXalion.c | 283 ------
board/eXalion/eXalion.h | 36 -
board/eXalion/piix_pci.h | 156 ---
board/ep8248/Makefile | 8 -
board/ep8248/ep8248.c | 254 -----
board/ep8260/Makefile | 8 -
board/ep8260/ep8260.c | 304 ------
board/ep8260/ep8260.h | 24 -
board/ep8260/flash.c | 395 --------
board/ep8260/mii_phy.c | 107 --
board/ep82xxm/Makefile | 8 -
board/ep82xxm/ep82xxm.c | 274 -----
board/etin/debris/Makefile | 8 -
board/etin/debris/debris.c | 174 ----
board/etin/debris/flash.c | 705 -------------
board/etin/debris/phantom.c | 301 ------
board/etin/debris/speed.h | 38 -
board/etin/kvme080/Makefile | 8 -
board/etin/kvme080/kvme080.c | 184 ----
board/etin/kvme080/multiverse.c | 184 ----
board/etin/kvme080/multiverse.h | 173 ----
board/freescale/mpc8260ads/Makefile | 8 -
board/freescale/mpc8260ads/flash.c | 476 ---------
board/freescale/mpc8260ads/mpc8260ads.c | 544 ----------
board/freescale/mpc8266ads/Makefile | 8 -
board/freescale/mpc8266ads/flash.c | 493 ---------
board/freescale/mpc8266ads/mpc8266ads.c | 582 -----------
board/funkwerk/vovpn-gw/Makefile | 8 -
board/funkwerk/vovpn-gw/flash.c | 436 --------
board/funkwerk/vovpn-gw/m88e6060.c | 249 -----
board/funkwerk/vovpn-gw/m88e6060.h | 75 --
board/funkwerk/vovpn-gw/vovpn-gw.c | 363 -------
board/gw8260/Makefile | 8 -
board/gw8260/flash.c | 502 ---------
board/gw8260/gw8260.c | 639 ------------
board/hidden_dragon/Makefile | 8 -
board/hidden_dragon/README | 60 --
board/hidden_dragon/early_init.S | 137 ---
board/hidden_dragon/flash.c | 559 -----------
board/hidden_dragon/hidden_dragon.c | 85 --
board/hidden_dragon/speed.h | 38 -
board/hymod/Makefile | 8 -
board/hymod/bsp.c | 387 -------
board/hymod/config.mk | 14 -
board/hymod/eeprom.c | 678 -------------
board/hymod/env.c | 221 ----
board/hymod/fetch.c | 91 --
board/hymod/flash.c | 490 ---------
board/hymod/flash.h | 140 ---
board/hymod/global_env | 145 ---
board/hymod/hymod.c | 521 ----------
board/hymod/hymod.h | 305 ------
board/hymod/input.c | 93 --
board/hymod/u-boot.lds | 132 ---
board/hymod/u-boot.lds.debug | 121 ---
board/ids8247/Makefile | 11 -
board/ids8247/ids8247.c | 390 -------
board/iphase4539/Makefile | 10 -
board/iphase4539/README | 358 -------
board/iphase4539/flash.c | 474 ---------
board/iphase4539/iphase4539.c | 408 --------
board/ispan/Makefile | 11 -
board/ispan/ispan.c | 448 ---------
board/keymile/km82xx/Makefile | 8 -
board/keymile/km82xx/km82xx.c | 467 ---------
board/mousse/Makefile | 8 -
board/mousse/README | 346 -------
board/mousse/flash.c | 917 -----------------
board/mousse/flash.h | 78 --
board/mousse/m48t59y.c | 308 ------
board/mousse/m48t59y.h | 41 -
board/mousse/mousse.c | 77 --
board/mousse/mousse.h | 243 -----
board/mousse/pci.c | 267 -----
board/mousse/u-boot.lds | 77 --
board/mousse/u-boot.lds.ram | 85 --
board/mousse/u-boot.lds.rom | 112 ---
board/muas3001/Makefile | 8 -
board/muas3001/muas3001.c | 335 -------
board/musenki/Makefile | 8 -
board/musenki/README | 298 ------
board/musenki/flash.c | 496 ---------
board/musenki/musenki.c | 94 --
board/mvblue/Makefile | 8 -
board/mvblue/flash.c | 570 -----------
board/mvblue/mvblue.c | 254 -----
board/mvblue/u-boot.lds | 86 --
board/pm826/Makefile | 8 -
board/pm826/flash.c | 370 -------
board/pm826/pm826.c | 319 ------
board/pm828/Makefile | 8 -
board/pm828/flash.c | 370 -------
board/pm828/pm828.c | 352 -------
board/ppmc8260/Makefile | 8 -
board/ppmc8260/ppmc8260.c | 291 ------
board/ppmc8260/strataflash.c | 736 --------------
board/rattler/Makefile | 8 -
board/rattler/rattler.c | 215 ----
board/rpxsuper/Makefile | 8 -
board/rpxsuper/flash.c | 416 --------
board/rpxsuper/mii_phy.c | 107 --
board/rpxsuper/readme | 30 -
board/rpxsuper/rpxsuper.c | 289 ------
board/rpxsuper/rpxsuper.h | 25 -
board/rsdproto/Makefile | 9 -
board/rsdproto/flash.c | 386 -------
board/rsdproto/flash_asm.S | 39 -
board/rsdproto/rsdproto.c | 361 -------
board/rsdproto/u-boot.lds | 114 ---
board/sacsng/sacsng.c | 2 -
board/sandpoint/Makefile | 8 -
board/sandpoint/README | 411 --------
board/sandpoint/dinkdl | 2 -
board/sandpoint/early_init.S | 137 ---
board/sandpoint/flash.c | 748 --------------
board/sandpoint/sandpoint.c | 91 --
board/sandpoint/speed.h | 38 -
board/sandpoint/u-boot.lds | 84 --
board/tqc/tqm8260/Makefile | 8 -
board/tqc/tqm8260/README | 415 --------
board/tqc/tqm8260/tqm8260.c | 352 -------
board/tqc/tqm8272/Makefile | 8 -
board/tqc/tqm8272/nand.c | 260 -----
board/tqc/tqm8272/tqm8272.c | 944 -----------------
board/tqc/tqm8272/tqm8272.h | 37 -
board/utx8245/Makefile | 13 -
board/utx8245/flash.c | 544 ----------
board/utx8245/utx8245.c | 119 ---
board/zpc1900/Makefile | 8 -
board/zpc1900/zpc1900.c | 288 ------
boards.cfg | 83 --
common/board_f.c | 6 +-
common/cmd_bdinfo.c | 3 +-
common/cmd_bedbug.c | 2 +-
common/cmd_immap.c | 147 +--
common/lynxkdi.c | 2 +-
doc/README.idma2intr | 10 -
doc/README.scrapyard | 252 +++--
drivers/bootcount/bootcount.c | 6 -
drivers/i2c/soft_i2c.c | 9 +-
drivers/pci/pci_indirect.c | 17 +-
drivers/usb/gadget/gadget_chips.h | 21 +-
examples/standalone/.gitignore | 1 -
examples/standalone/Makefile | 1 -
examples/standalone/mem_to_mem_idma2intr.c | 385 -------
include/asm-generic/global_data.h | 2 +-
include/asm-generic/u-boot.h | 2 +-
include/common.h | 21 +-
include/configs/A3000.h | 294 ------
include/configs/CPC45.h | 490 ---------
include/configs/CPU86.h | 630 ------------
include/configs/CPU87.h | 677 -------------
include/configs/CU824.h | 287 ------
include/configs/HIDDEN_DRAGON.h | 372 -------
include/configs/IDS8247.h | 463 ---------
include/configs/IPHASE4539.h | 329 ------
include/configs/ISPAN.h | 331 ------
include/configs/MOUSSE.h | 321 ------
include/configs/MPC8260ADS.h | 551 ----------
include/configs/MPC8266ADS.h | 564 -----------
include/configs/MPC8315ERDB.h | 2 -
include/configs/MPC832XEMDS.h | 2 -
include/configs/MPC8360EMDS.h | 2 -
include/configs/MPC837XEMDS.h | 2 -
include/configs/MPC837XERDB.h | 2 -
include/configs/MUSENKI.h | 276 -----
include/configs/MVBLUE.h | 326 ------
include/configs/PM826.h | 535 ----------
include/configs/PM828.h | 529 ----------
include/configs/RPXClassic.h | 1 -
include/configs/RPXsuper.h | 502 ---------
include/configs/Rattler.h | 280 ------
include/configs/Sandpoint8240.h | 399 --------
include/configs/Sandpoint8245.h | 377 -------
include/configs/TQM8260.h | 621 ------------
include/configs/TQM8272.h | 736 --------------
include/configs/VoVPN-GW.h | 399 --------
include/configs/ZPC1900.h | 262 -----
include/configs/atc.h | 490 ---------
include/configs/cogent_common.h | 18 +-
include/configs/cogent_mpc8260.h | 392 --------
include/configs/debris.h | 444 --------
include/configs/eXalion.h | 434 --------
include/configs/ep8248.h | 253 -----
include/configs/ep8260.h | 745 --------------
include/configs/ep82xxm.h | 384 -------
include/configs/gw8260.h | 801 ---------------
include/configs/hymod.h | 729 --------------
include/configs/km82xx.h | 440 --------
include/configs/kvme080.h | 252 -----
include/configs/muas3001.h | 397 --------
include/configs/ppmc8260.h | 987 ------------------
include/configs/rsdproto.h | 401 --------
include/configs/sacsng.h | 1039 -------------------
include/configs/utx8245.h | 409 --------
include/i2c.h | 4 +-
include/ioports.h | 6 +-
include/mpc824x.h | 523 ----------
include/mpc8260.h | 907 -----------------
include/mpc8260_irq.h | 48 -
include/pci.h | 4 -
include/post.h | 4 -
include/ppc_asm.tmpl | 28 +-
post/cpu/mpc8xx/ether.c | 2 -
post/cpu/mpc8xx/uart.c | 2 -
post/drivers/memory.c | 7 -
tools/bddb/README | 116 ---
tools/bddb/badsubmit.php | 23 -
tools/bddb/bddb.css | 207 ----
tools/bddb/brlog.php | 109 --
tools/bddb/browse.php | 147 ---
tools/bddb/config.php | 16 -
tools/bddb/create_tables.sql | 90 --
tools/bddb/defs.php | 710 -------------
tools/bddb/dodelete.php | 65 --
tools/bddb/dodellog.php | 57 --
tools/bddb/doedit.php | 186 ----
tools/bddb/doedlog.php | 76 --
tools/bddb/donew.php | 230 -----
tools/bddb/donewlog.php | 86 --
tools/bddb/edit.php | 131 ---
tools/bddb/edlog.php | 86 --
tools/bddb/execute.php | 33 -
tools/bddb/index.php | 38 -
tools/bddb/new.php | 120 ---
tools/bddb/newlog.php | 54 -
315 files changed, 201 insertions(+), 72338 deletions(-)
delete mode 100644 arch/powerpc/cpu/mpc824x/Makefile
delete mode 100644 arch/powerpc/cpu/mpc824x/config.mk
delete mode 100644 arch/powerpc/cpu/mpc824x/cpu.c
delete mode 100644 arch/powerpc/cpu/mpc824x/cpu_init.c
delete mode 100644 arch/powerpc/cpu/mpc824x/drivers/epic.h
delete mode 100644 arch/powerpc/cpu/mpc824x/drivers/epic/README
delete mode 100644 arch/powerpc/cpu/mpc824x/drivers/epic/epic.h
delete mode 100644 arch/powerpc/cpu/mpc824x/drivers/epic/epic1.c
delete mode 100644 arch/powerpc/cpu/mpc824x/drivers/epic/epic2.S
delete mode 100644 arch/powerpc/cpu/mpc824x/drivers/epic/epicutil.S
delete mode 100644 arch/powerpc/cpu/mpc824x/drivers/errors.h
delete mode 100644 arch/powerpc/cpu/mpc824x/drivers/i2c/i2c.c
delete mode 100644 arch/powerpc/cpu/mpc824x/drivers/i2c_export.h
delete mode 100644 arch/powerpc/cpu/mpc824x/interrupts.c
delete mode 100644 arch/powerpc/cpu/mpc824x/pci.c
delete mode 100644 arch/powerpc/cpu/mpc824x/speed.c
delete mode 100644 arch/powerpc/cpu/mpc824x/start.S
delete mode 100644 arch/powerpc/cpu/mpc824x/traps.c
delete mode 100644 arch/powerpc/cpu/mpc824x/u-boot.lds
delete mode 100644 arch/powerpc/cpu/mpc8260/Makefile
delete mode 100644 arch/powerpc/cpu/mpc8260/bedbug_603e.c
delete mode 100644 arch/powerpc/cpu/mpc8260/commproc.c
delete mode 100644 arch/powerpc/cpu/mpc8260/config.mk
delete mode 100644 arch/powerpc/cpu/mpc8260/cpu.c
delete mode 100644 arch/powerpc/cpu/mpc8260/cpu_init.c
delete mode 100644 arch/powerpc/cpu/mpc8260/ether_fcc.c
delete mode 100644 arch/powerpc/cpu/mpc8260/ether_scc.c
delete mode 100644 arch/powerpc/cpu/mpc8260/i2c.c
delete mode 100644 arch/powerpc/cpu/mpc8260/interrupts.c
delete mode 100644 arch/powerpc/cpu/mpc8260/kgdb.S
delete mode 100644 arch/powerpc/cpu/mpc8260/pci.c
delete mode 100644 arch/powerpc/cpu/mpc8260/serial_scc.c
delete mode 100644 arch/powerpc/cpu/mpc8260/serial_smc.c
delete mode 100644 arch/powerpc/cpu/mpc8260/speed.c
delete mode 100644 arch/powerpc/cpu/mpc8260/speed.h
delete mode 100644 arch/powerpc/cpu/mpc8260/spi.c
delete mode 100644 arch/powerpc/cpu/mpc8260/start.S
delete mode 100644 arch/powerpc/cpu/mpc8260/traps.c
delete mode 100644 arch/powerpc/cpu/mpc8260/u-boot.lds
delete mode 100644 arch/powerpc/include/asm/cpm_8260.h
delete mode 100644 arch/powerpc/include/asm/immap_8260.h
delete mode 100644 arch/powerpc/include/asm/iopin_8260.h
delete mode 100644 arch/powerpc/include/asm/m8260_pci.h
delete mode 100644 board/a3000/Makefile
delete mode 100644 board/a3000/README
delete mode 100644 board/a3000/a3000.c
delete mode 100644 board/a3000/flash.c
delete mode 100644 board/atc/Makefile
delete mode 100644 board/atc/atc.c
delete mode 100644 board/atc/flash.c
delete mode 100644 board/atc/ti113x.c
delete mode 100644 board/cogent/kbm.c
delete mode 100644 board/cogent/kbm.h
delete mode 100644 board/cogent/pci.c
delete mode 100644 board/cogent/pci.h
delete mode 100644 board/cogent/rtc.c
delete mode 100644 board/cogent/rtc.h
delete mode 100644 board/cpc45/Makefile
delete mode 100644 board/cpc45/cpc45.c
delete mode 100644 board/cpc45/flash.c
delete mode 100644 board/cpc45/ide.c
delete mode 100644 board/cpc45/pd67290.c
delete mode 100644 board/cpc45/plx9030.c
delete mode 100644 board/cpu86/Makefile
delete mode 100644 board/cpu86/cpu86.c
delete mode 100644 board/cpu86/cpu86.h
delete mode 100644 board/cpu86/flash.c
delete mode 100644 board/cpu87/Makefile
delete mode 100644 board/cpu87/cpu87.c
delete mode 100644 board/cpu87/cpu87.h
delete mode 100644 board/cpu87/flash.c
delete mode 100644 board/cu824/Makefile
delete mode 100644 board/cu824/README
delete mode 100644 board/cu824/cu824.c
delete mode 100644 board/cu824/flash.c
delete mode 100644 board/eXalion/Makefile
delete mode 100644 board/eXalion/eXalion.c
delete mode 100644 board/eXalion/eXalion.h
delete mode 100644 board/eXalion/piix_pci.h
delete mode 100644 board/ep8248/Makefile
delete mode 100644 board/ep8248/ep8248.c
delete mode 100644 board/ep8260/Makefile
delete mode 100644 board/ep8260/ep8260.c
delete mode 100644 board/ep8260/ep8260.h
delete mode 100644 board/ep8260/flash.c
delete mode 100644 board/ep8260/mii_phy.c
delete mode 100644 board/ep82xxm/Makefile
delete mode 100644 board/ep82xxm/ep82xxm.c
delete mode 100644 board/etin/debris/Makefile
delete mode 100644 board/etin/debris/debris.c
delete mode 100644 board/etin/debris/flash.c
delete mode 100644 board/etin/debris/phantom.c
delete mode 100644 board/etin/debris/speed.h
delete mode 100644 board/etin/kvme080/Makefile
delete mode 100644 board/etin/kvme080/kvme080.c
delete mode 100644 board/etin/kvme080/multiverse.c
delete mode 100644 board/etin/kvme080/multiverse.h
delete mode 100644 board/freescale/mpc8260ads/Makefile
delete mode 100644 board/freescale/mpc8260ads/flash.c
delete mode 100644 board/freescale/mpc8260ads/mpc8260ads.c
delete mode 100644 board/freescale/mpc8266ads/Makefile
delete mode 100644 board/freescale/mpc8266ads/flash.c
delete mode 100644 board/freescale/mpc8266ads/mpc8266ads.c
delete mode 100644 board/funkwerk/vovpn-gw/Makefile
delete mode 100644 board/funkwerk/vovpn-gw/flash.c
delete mode 100644 board/funkwerk/vovpn-gw/m88e6060.c
delete mode 100644 board/funkwerk/vovpn-gw/m88e6060.h
delete mode 100644 board/funkwerk/vovpn-gw/vovpn-gw.c
delete mode 100644 board/gw8260/Makefile
delete mode 100644 board/gw8260/flash.c
delete mode 100644 board/gw8260/gw8260.c
delete mode 100644 board/hidden_dragon/Makefile
delete mode 100644 board/hidden_dragon/README
delete mode 100644 board/hidden_dragon/early_init.S
delete mode 100644 board/hidden_dragon/flash.c
delete mode 100644 board/hidden_dragon/hidden_dragon.c
delete mode 100644 board/hidden_dragon/speed.h
delete mode 100644 board/hymod/Makefile
delete mode 100644 board/hymod/bsp.c
delete mode 100644 board/hymod/config.mk
delete mode 100644 board/hymod/eeprom.c
delete mode 100644 board/hymod/env.c
delete mode 100644 board/hymod/fetch.c
delete mode 100644 board/hymod/flash.c
delete mode 100644 board/hymod/flash.h
delete mode 100644 board/hymod/global_env
delete mode 100644 board/hymod/hymod.c
delete mode 100644 board/hymod/hymod.h
delete mode 100644 board/hymod/input.c
delete mode 100644 board/hymod/u-boot.lds
delete mode 100644 board/hymod/u-boot.lds.debug
delete mode 100644 board/ids8247/Makefile
delete mode 100644 board/ids8247/ids8247.c
delete mode 100644 board/iphase4539/Makefile
delete mode 100644 board/iphase4539/README
delete mode 100644 board/iphase4539/flash.c
delete mode 100644 board/iphase4539/iphase4539.c
delete mode 100644 board/ispan/Makefile
delete mode 100644 board/ispan/ispan.c
delete mode 100644 board/keymile/km82xx/Makefile
delete mode 100644 board/keymile/km82xx/km82xx.c
delete mode 100644 board/mousse/Makefile
delete mode 100644 board/mousse/README
delete mode 100644 board/mousse/flash.c
delete mode 100644 board/mousse/flash.h
delete mode 100644 board/mousse/m48t59y.c
delete mode 100644 board/mousse/m48t59y.h
delete mode 100644 board/mousse/mousse.c
delete mode 100644 board/mousse/mousse.h
delete mode 100644 board/mousse/pci.c
delete mode 100644 board/mousse/u-boot.lds
delete mode 100644 board/mousse/u-boot.lds.ram
delete mode 100644 board/mousse/u-boot.lds.rom
delete mode 100644 board/muas3001/Makefile
delete mode 100644 board/muas3001/muas3001.c
delete mode 100644 board/musenki/Makefile
delete mode 100644 board/musenki/README
delete mode 100644 board/musenki/flash.c
delete mode 100644 board/musenki/musenki.c
delete mode 100644 board/mvblue/Makefile
delete mode 100644 board/mvblue/flash.c
delete mode 100644 board/mvblue/mvblue.c
delete mode 100644 board/mvblue/u-boot.lds
delete mode 100644 board/pm826/Makefile
delete mode 100644 board/pm826/flash.c
delete mode 100644 board/pm826/pm826.c
delete mode 100644 board/pm828/Makefile
delete mode 100644 board/pm828/flash.c
delete mode 100644 board/pm828/pm828.c
delete mode 100644 board/ppmc8260/Makefile
delete mode 100644 board/ppmc8260/ppmc8260.c
delete mode 100644 board/ppmc8260/strataflash.c
delete mode 100644 board/rattler/Makefile
delete mode 100644 board/rattler/rattler.c
delete mode 100644 board/rpxsuper/Makefile
delete mode 100644 board/rpxsuper/flash.c
delete mode 100644 board/rpxsuper/mii_phy.c
delete mode 100644 board/rpxsuper/readme
delete mode 100644 board/rpxsuper/rpxsuper.c
delete mode 100644 board/rpxsuper/rpxsuper.h
delete mode 100644 board/rsdproto/Makefile
delete mode 100644 board/rsdproto/flash.c
delete mode 100644 board/rsdproto/flash_asm.S
delete mode 100644 board/rsdproto/rsdproto.c
delete mode 100644 board/rsdproto/u-boot.lds
delete mode 100644 board/sandpoint/Makefile
delete mode 100644 board/sandpoint/README
delete mode 100644 board/sandpoint/dinkdl
delete mode 100644 board/sandpoint/early_init.S
delete mode 100644 board/sandpoint/flash.c
delete mode 100644 board/sandpoint/sandpoint.c
delete mode 100644 board/sandpoint/speed.h
delete mode 100644 board/sandpoint/u-boot.lds
delete mode 100644 board/tqc/tqm8260/Makefile
delete mode 100644 board/tqc/tqm8260/README
delete mode 100644 board/tqc/tqm8260/tqm8260.c
delete mode 100644 board/tqc/tqm8272/Makefile
delete mode 100644 board/tqc/tqm8272/nand.c
delete mode 100644 board/tqc/tqm8272/tqm8272.c
delete mode 100644 board/tqc/tqm8272/tqm8272.h
delete mode 100644 board/utx8245/Makefile
delete mode 100644 board/utx8245/flash.c
delete mode 100644 board/utx8245/utx8245.c
delete mode 100644 board/zpc1900/Makefile
delete mode 100644 board/zpc1900/zpc1900.c
delete mode 100644 doc/README.idma2intr
delete mode 100644 examples/standalone/mem_to_mem_idma2intr.c
delete mode 100644 include/configs/A3000.h
delete mode 100644 include/configs/CPC45.h
delete mode 100644 include/configs/CPU86.h
delete mode 100644 include/configs/CPU87.h
delete mode 100644 include/configs/CU824.h
delete mode 100644 include/configs/HIDDEN_DRAGON.h
delete mode 100644 include/configs/IDS8247.h
delete mode 100644 include/configs/IPHASE4539.h
delete mode 100644 include/configs/ISPAN.h
delete mode 100644 include/configs/MOUSSE.h
delete mode 100644 include/configs/MPC8260ADS.h
delete mode 100644 include/configs/MPC8266ADS.h
delete mode 100644 include/configs/MUSENKI.h
delete mode 100644 include/configs/MVBLUE.h
delete mode 100644 include/configs/PM826.h
delete mode 100644 include/configs/PM828.h
delete mode 100644 include/configs/RPXsuper.h
delete mode 100644 include/configs/Rattler.h
delete mode 100644 include/configs/Sandpoint8240.h
delete mode 100644 include/configs/Sandpoint8245.h
delete mode 100644 include/configs/TQM8260.h
delete mode 100644 include/configs/TQM8272.h
delete mode 100644 include/configs/VoVPN-GW.h
delete mode 100644 include/configs/ZPC1900.h
delete mode 100644 include/configs/atc.h
delete mode 100644 include/configs/cogent_mpc8260.h
delete mode 100644 include/configs/debris.h
delete mode 100644 include/configs/eXalion.h
delete mode 100644 include/configs/ep8248.h
delete mode 100644 include/configs/ep8260.h
delete mode 100644 include/configs/ep82xxm.h
delete mode 100644 include/configs/gw8260.h
delete mode 100644 include/configs/hymod.h
delete mode 100644 include/configs/km82xx.h
delete mode 100644 include/configs/kvme080.h
delete mode 100644 include/configs/muas3001.h
delete mode 100644 include/configs/ppmc8260.h
delete mode 100644 include/configs/rsdproto.h
delete mode 100644 include/configs/sacsng.h
delete mode 100644 include/configs/utx8245.h
delete mode 100644 include/mpc824x.h
delete mode 100644 include/mpc8260.h
delete mode 100644 include/mpc8260_irq.h
delete mode 100644 tools/bddb/README
delete mode 100644 tools/bddb/badsubmit.php
delete mode 100644 tools/bddb/bddb.css
delete mode 100644 tools/bddb/brlog.php
delete mode 100644 tools/bddb/browse.php
delete mode 100644 tools/bddb/config.php
delete mode 100644 tools/bddb/create_tables.sql
delete mode 100644 tools/bddb/defs.php
delete mode 100644 tools/bddb/dodelete.php
delete mode 100644 tools/bddb/dodellog.php
delete mode 100644 tools/bddb/doedit.php
delete mode 100644 tools/bddb/doedlog.php
delete mode 100644 tools/bddb/donew.php
delete mode 100644 tools/bddb/donewlog.php
delete mode 100644 tools/bddb/edit.php
delete mode 100644 tools/bddb/edlog.php
delete mode 100644 tools/bddb/execute.php
delete mode 100644 tools/bddb/index.php
delete mode 100644 tools/bddb/new.php
delete mode 100644 tools/bddb/newlog.php
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd(a)denx.de
It took him several minutes to understand any new idea put to him,
and this is a very valuable trait in a leader, because anything any-
one is still trying to explain to you after two minutes is probably
important and anything they give up after a mere minute or so is al-
most certainly something they shouldn't have been bothering you with
in the first place. - Terry Pratchett, _Reaper Man_
1
0
Hi all,
I am bringing up XHCI support for our SOC and have run into several
issues with U-Boot's XHCI code.
1. I need to use a wrapper I call xhci_readl/xhci_writel since all of
our I/O is to 64-bit addresses rather than readl/writel which work for
PCIe. While xhci_readl/xhci_writel is used in most places there are a
few places this is missing.
2. A memory address used by a pointer is not a DMA address on MIPS. On
MIPS a wrapper is needed for all read/write operations to descriptors to
map the addresses. Generally U-Boot runs in KSEG0 where a pointer always
has bit 31 set. In our case we run it in virtual memory with U-Boot
loaded at the top of memory (which might be as high as 64GB+256MB).
3. xhci_alloc_virt_device is missing a conversion from big endian to
little endian on line 401 of xhci-mem.c.
4. I keep getting hit with
BUG_ON(GET_COMP_CODE(le32_to_cpu(event->trans_event.transfer_len
!= COMP_STOP)));
on line 491 in xhci-ring.c. Commenting this out seems to work fine.
5. I also hit the BUG_ON on line 722 of xhci-ring.c since on MIPS a
pointer is not a DMA address and the fact that we use 64-bit addresses
where pointers are 32-bits.
I ran into similar issues with EHCI where again we have to map pointers
to physical addresses and use our own wrappers for register accesses.
At some point I would love to merge our stuff back into the mainline
U-Boot but it's going to be a huge job given that we probably have
almost 250K lines of code involved for our MIPS SOCs.
-Aaron
--
Aaron Williams
Software Engineer
Cavium, Inc.
(408) 943-7198 (510) 789-8988 (cell)
1
2