From: Jagan Date: Thu, 31 May 2012 07:53:18 +0000 (+0530) Subject: Merge branch 'master-2011.03' into master-new X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1b3539f50fcc1acb1c732292335cea64df0f4f80;p=thirdparty%2Fu-boot.git Merge branch 'master-2011.03' into master-new Conflicts: Makefile drivers/mtd/spi/spansion.c drivers/mtd/spi/winbond.c include/configs/zynq_zc702.h Signed-off-by: Jagan --- 1b3539f50fcc1acb1c732292335cea64df0f4f80 diff --cc Makefile index 973e0035f0e,ece91ab48b7..ece91ab48b7 mode 100644,100644..100755 --- a/Makefile +++ b/Makefile diff --cc board/xilinx/dfe/board.c index 0e347b90a8a,acdd8ffedd1..26a75ad62b0 --- a/board/xilinx/dfe/board.c +++ b/board/xilinx/dfe/board.c @@@ -595,11 -597,11 +597,13 @@@ int board_init(void Xil_Out32(0xe000a204, 0x80); Xil_Out32(0xe000a208, 0x80); Xil_Out32(0xe000a040, 0x80); + Xil_Out32(0xe000a040, 0x00); + Xil_Out32(0xe000a040, 0x80); icache_enable(); + #ifndef CONFIG_SYS_NO_FLASH init_nor_flash(); + #endif return 0; } diff --cc drivers/mtd/spi/spansion.c index 42b9fc21f12,c0900f978f2..16111c74440 mode 100644,100644..100755 --- a/drivers/mtd/spi/spansion.c +++ b/drivers/mtd/spi/spansion.c @@@ -50,11 -50,9 +50,12 @@@ #define SPSN_ID_S25FL032A 0x0215 #define SPSN_ID_S25FL064A 0x0216 #define SPSN_ID_S25FL128P 0x2018 +#define SPSN_ID_S25FL129P 0x2018 #define SPSN_EXT_ID_S25FL128P_256KB 0x0300 #define SPSN_EXT_ID_S25FL128P_64KB 0x0301 +#define SPSN_EXT_ID_S25FL129P_256KB 0x4d00 +#define SPSN_EXT_ID_S25FL129P_64KB 0x4d01 + #define SPSN_EXT_ID_S25FL032P 0x4d00 #define SPANSION_SR_WIP (1 << 0) /* Write-in-Progress */ @@@ -128,50 -125,16 +129,58 @@@ static const struct spansion_spi_flash_ .nr_sectors = 64, .name = "S25FL128P_256K", }, + { + .idcode1 = SPSN_ID_S25FL129P, + .idcode2 = SPSN_EXT_ID_S25FL129P_64KB, + .page_size = 256, + .pages_per_sector = 256, +#ifndef CONFIG_XILINX_PSS_QSPI_USE_DUAL_FLASH + .nr_sectors = 256, + .name = "S25FL129P_64K", +#else + .nr_sectors = 512, + .name = "S25FL129P_64Kx2", +#endif + }, + { + .idcode1 = SPSN_ID_S25FL129P, + .idcode2 = SPSN_EXT_ID_S25FL129P_256KB, + .page_size = 256, + .pages_per_sector = 1024, + .nr_sectors = 64, + .name = "S25FL129P_256K", + }, + { + .idcode1 = SPSN_ID_S25FL032A, + .idcode2 = SPSN_EXT_ID_S25FL032P, + .page_size = 256, + .pages_per_sector = 256, + .nr_sectors = 64, + .name = "S25FL032P", + }, }; +static inline void span_addr2cmd(struct spansion_spi_flash *spsn, + unsigned page_addr, unsigned byte_addr, u8 *cmd) +{ + /* opcode is in cmd[0] */ + if (spsn->addr_width == 4) { + cmd[1] = page_addr >> 16; + cmd[2] = page_addr >> 8; + cmd[3] = page_addr; + cmd[4] = byte_addr; + } else { + cmd[1] = page_addr >> 8; + cmd[2] = page_addr; + cmd[3] = byte_addr; + } +} + +static inline int span_cmdsz(struct spansion_spi_flash *flash) +{ + return 1 + flash->addr_width; +} + static int spansion_wait_ready(struct spi_flash *flash, unsigned long timeout) { struct spi_slave *spi = flash->spi; @@@ -304,8 -271,9 +313,7 @@@ int spansion_erase(struct spi_flash *fl return -1; } - len /= sector_size; cmd[0] = CMD_S25FLXX_SE; - cmd[2] = 0x00; - cmd[3] = 0x00; ret = spi_claim_bus(flash->spi); if (ret) { diff --cc drivers/mtd/spi/winbond.c index 15539db4bf9,44523555d9e..fcad032ea92 mode 100644,100644..100755 --- a/drivers/mtd/spi/winbond.c +++ b/drivers/mtd/spi/winbond.c @@@ -80,18 -74,37 +75,50 @@@ static const struct winbond_spi_flash_p .name = "W25X64", }, { - .id = WINBOND_ID_W25Q64DW, + .id = 0x4015, + .l2_page_size = 8, + .pages_per_sector = 16, + .sectors_per_block = 16, + .nr_blocks = 32, + .name = "W25Q16", + }, + { + .id = 0x4016, + .l2_page_size = 8, + .pages_per_sector = 16, + .sectors_per_block = 16, + .nr_blocks = 64, + .name = "W25Q32", + }, + { + .id = 0x4017, + .l2_page_size = 8, + .pages_per_sector = 16, + .sectors_per_block = 16, + .nr_blocks = 128, + .name = "W25Q64", + }, + { + .id = 0x4018, + .l2_page_size = 8, + .pages_per_sector = 16, + .sectors_per_block = 16, + .nr_blocks = 256, + .name = "W25Q128", + }, ++ { ++ .id = 0x6017, + .l2_page_size = 8, + .pages_per_sector = 16, + .sectors_per_block = 16, +#ifdef CONFIG_XILINX_PSS_QSPI_USE_DUAL_FLASH + .nr_blocks = 256, + .name = "W25Q64DWx2", +#else + .nr_blocks = 128, + .name = "W25Q64DW", +#endif - }, ++ } }; static int winbond_wait_ready(struct spi_flash *flash, unsigned long timeout) diff --cc include/configs/zynq_zc702.h index 6558008a719,22ea8eee816..6c31d18b7bf mode 100644,100644..100755 --- a/include/configs/zynq_zc702.h +++ b/include/configs/zynq_zc702.h @@@ -95,13 -105,10 +102,10 @@@ #define CONFIG_AUTO_COMPLETE 1 #define CONFIG_CMDLINE_EDITING 1 -#define CONFIG_SYS_PROMPT "pele-boot> " +#define CONFIG_SYS_PROMPT "zynq-uboot> " -#undef CONFIG_SKIP_RELOCATE_UBOOT +#undef CONFIG_SKIP_RELOCATE_UBOOT - /* Uncomment it if you don't want Flash */ - /*#define CONFIG_SYS_NO_FLASH */ - #define CONFIG_SYS_SDRAM_BASE 0 #define CONFIG_L2_OFF @@@ -147,11 -154,14 +151,14 @@@ #define CONFIG_SYS_CACHELINE_SIZE 32 /* Assuming bytes? */ - /* CONFIG_SYS_INIT_RAM_ADDR? */ - /* CONFIG_SYS_GLOBAL_DATA_OFFSET? */ + #define CONFIG_SYS_INIT_RAM_ADDR 0xFFFF0000 + #define CONFIG_SYS_INIT_RAM_SIZE 0x1000 + #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_INIT_RAM_ADDR + \ + CONFIG_SYS_INIT_RAM_SIZE - \ + GENERATED_GBL_DATA_SIZE) /* Because (at least at first) we're going to be loaded via JTAG_Tcl */ -//#define CONFIG_SKIP_LOWLEVEL_INIT +/*#define CONFIG_SKIP_LOWLEVEL_INIT */ /* HW to use */