summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeLines
* NAND: Add Support for 4K page size in DaVinci NAND driverSandeep Paulraj2009-11-20-7/+16
| | | | | | | | This patch adds support for NAND devices with a page size of 4K in the DaVinci NAND driver. The layout matches the layout that TI uses for 4K page size NAND devices in the kernel NAND driver. Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* S3C2410 NAND Flash Add Missing FunctionHui.Tang2009-11-18-4/+27
| | | | | | | | This patch add nand_read_buf() for S3C2410 NAND SPL. In nand_spl/nand_boot.c, nand_boot() will check nand->select_chip, so nand->select_chip should also be initialized. Signed-off-by: Hui.Tang <zetalabs@gmail.com>
* NAND: Update read_read_subpage API checkSandeep Paulraj2009-11-18-1/+1
| | | | | | | This patch updates a check condition in the NAND driver. The check condition is similat to what is in linux/next. Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* NAND:Extending the nand_ecclayout structureSandeep Paulraj2009-11-18-1/+1
| | | | | | | | | NANDs with page size of lesser than and equal to 2K are reaching EOL. They are bing replaced with NANDs of page size 4K and above. To support this we have to extend the eccpos field Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* Merge branch 'master' into nextWolfgang Denk2009-11-15-233/+358
|\
| * Merge branch 'master' of git://git.denx.de/u-boot-netWolfgang Denk2009-11-15-62/+64
| |\
| | * smc911x: make smc911x_initialize return correct valueMike Rapoport2009-11-12-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Make smc911x_initialize return -1 on error and number of interfaces detected otherwise. Signed-off-by: Mike Rapoport <mike@compulab.co.il> Acked-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
| | * smc911x_eeprom: fix building after smc911x overhaulMike Frysinger2009-11-12-60/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the smc911x driver was converted to NET_MULTI, the smc911x eeprom was missed. The config option needed updating as well as overhauling of the rergister read/write functions. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Tested-by: Mike Rapoport <mike.rapoport@gmail.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
| * | Merge branch 'master' of git://git.denx.de/u-boot-mpc85xxWolfgang Denk2009-11-15-6/+5
| |\ \
| | * | ppc/85xx: Fix how we determine the number of CAM entriesKumar Gala2009-11-13-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were incorrectly use the max CAM size as the number of entries in the array for setting up the addrmap. We should be using the NENTRY field which is the low 12-bits of TLB1CFG. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| | * | fsl-ddr: Fix the chip-select interleaving issueDave Liu2009-11-12-4/+3
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 1542fbdeec0d1e2a6df13189df8dcb1ce8802be3 introduced one new bug to chip-select interleaving. Single DDR controller also can do the chip-select interleaving if there is dual-rank or qual-rank DIMMs. Signed-off-by: Dave Liu <daveliu@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * | Merge branch 'master-sync' of git://git.denx.de/u-boot-armWolfgang Denk2009-11-15-9/+9
| |\ \ | | |/ | |/|
| | * ARM Don't inline weak symbolsRon Lee2009-11-11-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ GCC 4.4 complains about this now. Signed-off-by: Ron Lee <ron@debian.org>
| * | Merge branch 'master' of git://git.denx.de/u-boot-netWolfgang Denk2009-11-11-36/+44
| |\ \
| | * | mxc_fec: avoid free() calls to already freed pointers.javier Martin2009-11-11-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes, inside NetLoop, eth_halt() is called before eth_init() has been called. This is harmless except for free() calls to pointers which have not been allocated yet. This patch initializes those pointers to NULL and allocates them only the first time. This way we can get rid of free calls in halt callback. This has been tested in i.MX27 Litekit board and eldk-4.2 toolchains. Signed-off-by: Javier Martin <javier.martin@vista-silicon.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
| | * | mxc_fec: fix some erroneous PHY accesses.javier Martin2009-11-11-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes erroneous access to the ethernet PHY which broke the driver. 1. Selector field in the auto-negotiation register must be 0x00001 for using 802.3, not 0x00000 which is reseved. 2. Access to the PHY address specified by CONFIG_FEC_MXC_PHYADDR, not 0x0 fixed address. This has been tested in i.MX27 Litekit board and eldk-4.2 toolchains. Now using proper defines for auto-negotiation register. Signed-off-by: Javier Martin <javier.martin@vista-silicon.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
| | * | Fix SMC91111 regression: lpd7a40x build failuresBen Warren2009-11-09-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Both lpd7a400 and lpd7a404 failed to compile because they had CONFIG_SMC_USE_IOFUNCS defined: examples/standalone/smc91111_eeprom.c:388: undefined reference to `SMC_outw' Also removed an orphaned paren in lpd7a404.h Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
| | * | SMC91111: Clean up SMC_inx macros on xsengine and xaeniaxBen Warren2009-11-09-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes the following warnings: Configuring for xaeniax board... smc91111_eeprom.c: In function 'print_macaddr': smc91111_eeprom.c:278: warning: suggest parentheses around + or - in operand of & smc91111_eeprom.c:281: warning: suggest parentheses around + or - in operand of & ... Configuring for xsengine board... smc91111_eeprom.c: In function 'print_macaddr': smc91111_eeprom.c:278: warning: suggest parentheses around + or - inside shift smc91111_eeprom.c:281: warning: suggest parentheses around + or - inside shift Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
| | * | Fix CS8900 regression on impa7 boardBen Warren2009-11-09-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following error was seen on impa7 board, due to its use of a 32-bit bus on CS8900. cs8900.c:137:37: error: macro "get_reg_init_bus" passed 2 arguments, but takes just 1 This patch gives the macro the correct number of arguments Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
| | * | clarify eth driver halt/recv stepsMike Frysinger2009-11-09-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The dev->halt() func can be called at any time, and the dev->recv() func does not need to use NetRxPackets[] when calling NetReceive(). Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
| | * | Fix cs8900 dev->priv not init issueHui.Tang2009-11-09-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure all CS8900 data structures are assigned before accessing device Signed-off-by: Hui.Tang <zetalabs@gmail.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
| | * | Fix DM9000 MAC address handlingBen Warren2009-10-29-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Proper behavior is to pull MAC address from NVRAM in the initialization() an stuff it in dev->address, then program the device from dev->address in the init() function. Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
| * | | Merge branch 'master' of git://git.denx.de/u-boot-ppc4xxWolfgang Denk2009-11-11-2/+2
| |\ \ \ | | |_|/ | |/| |
| | * | ppc4xx: 44x_spd_ddr2.c: Fix register macro ECCCR -> ECCES (SDRAM_ECCES)Stefan Roese2009-11-09-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This error only appears when DEBUG is enabled in this driver. That's why it went unnoticed till now. Signed-off-by: Stefan Roese <sr@denx.de>
| | * | ppc4xx: Canyonlands: Change EBC bus config to drive always (no high-z)Stefan Roese2009-11-09-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes a problem only seen very occasionally on Canyonlands. The NOR flash interface (CFI driver) doesn't work reliably in all cases. Erasing and/or programming sometimes doesn't work. Sometimes with an error message, like "flash not erased" when trying to program an area that should have just been erased. And sometimes without any error messages. As mentioned above, this problem was only seen rarely and with some PLL configuration (CPU speed, EBC speed). Now I spotted this problem a few times, when running my Canyonlands with the following setup (chip_config): 1000-nor - NOR CPU:1000 PLB: 200 OPB: 100 EBC: 100 Changing the EBC configuration to not release the bus into high impedance state inbetween the transfers (ATC, DTC and CTC bits set to 1 in EBC0_CFG) seems to fix this problem. I haven't seen any failure anymore with this patch applied. Signed-off-by: Stefan Roese <sr@denx.de> Cc: David Mitchell <dmitchell@amcc.com> Cc: Jeff Mann <MannJ@embeddedplanet.com>
| * | | Merge branch 'master-sync' of git://git.denx.de/u-boot-armWolfgang Denk2009-11-09-1/+142
| |\ \ \
| | * | | ARM: Use Linux version for unaligned access codeRemy Bohmer2009-11-07-1/+142
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The asm-arm/unaligned.h includes linux/unaligned/access_ok.h This file is unsafe to be used on ARM, since it does an unaligned memory accesses which fails on ARM. Lookin at Linux the basic difference seems to be the header "include/asm-arm/unaligned.h". The Linux version of "unaligned.h" does *not* include "access_ok.h" at all. It includes "le_byteshift.h" and "be_byteshift.h" instead. Signed-off-by: Remy Bohmer <linux@bohmer.net> Signed-off-by: Stefan Roese <sr@denx.de> -- include/asm-arm/unaligned.h | 3 - include/linux/unaligned/be_byteshift.h | 70 +++++++++++++++++++++++++++++++++ include/linux/unaligned/le_byteshift.h | 70 +++++++++++++++++++++++++++++++++ 3 files changed, 142 insertions(+), 1 deletion(-) create mode 100644 include/linux/unaligned/be_byteshift.h create mode 100644 include/linux/unaligned/le_byteshift.h
| * | | ppc/85xx: Fix inclusion of 83xx immap in 85xx buildsKumar Gala2009-11-04-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The nand_boot_fsl_elbc.c is shared between 83xx & 85xx however we should not be including the immap_83xx.h when building 85xx. We can just get this all from common.h Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * | | 86xx: Remove redundant code in initdramBecky Bruce2009-11-04-15/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The same code exists both inside an #ifdef and outside of it. Remove the extra code for all the 86xx boards. Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * | | fsl_pci_init_port end-point initialization is brokenEd Swarthout2009-11-04-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 70ed869e broke fsl pcie end-point initialization. Returning 0 is not correct. The function must return the first free bus number for the next controller. fsl_pci_init() must still be called and a bus allocated even if the controller is an end-point. Signed-off-by: Ed Swarthout <Ed.Swarthout@freescale.com> Acked-by: Vivek Mahajan <vivek.mahajan@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * | | Revert "ppc/85xx/pci: fsl_pci_init: pcie agent mode support"Kumar Gala2009-11-04-28/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 70ed869ea5f6b1d13d7b140c83ec0dcd8a127ddc. There isn't any need to modify the API for fsl_pci_init_port to pass the status of host/agent(end-point) status. We can determine that internally to fsl_pci_init_port. Revert the patch that makes the API change. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * | | ppc/85xx: Fix misc L2 cache enabling bugDave Liu2009-10-31-4/+8
| |/ / | | | | | | | | | | | | | | | | | | We need loop-check the flash clear lock and enable bit for L2 cache. Signed-off-by: Dave Liu <daveliu@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * | Merge branch 'master' of /home/wd/git/u-boot/custodiansWolfgang Denk2009-10-31-69/+54
| |\ \
| | * | sh: Update lowlevel_init.S of espt-gigaNobuhiro Iwamatsu2009-10-30-9/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There was the point that did not use write macro. Change to write macro. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
| | * | sh: Move some defs to convince 'pcrel too far'Nobuhiro Iwamatsu2009-10-30-54/+53
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Signed-off-by: Takashi Yoshii <yoshii.takashi@gmail.com>
| | * | sh: Remove malloc_bin_reloc from lib_sh, lib_nios2 and lib_nios.Nobuhiro Iwamatsu2009-10-30-6/+0
| | |/ | | | | | | | | | | | | | | | | | | | | | By "arm/microblaze/nios/nios2/sh: Remove relocation fixups" (commit: 0630535e2d062dd73c1ceca5c6125c86d1127a49", doesn't need malloc_bin_reloc function. This commit remove this. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
| * | sbc8349: fix incorrect commentWolfgang Denk2009-10-28-1/+1
| |/ | | | | | | | | | | | | | | The comment for the BR0_PRELIM port size initialization incorrectly stated 32 bit, while it's actually 16 bit. The code is correct. Reported-by: Guenter Koellner <guenter.koellner@nsn.com> Signed-off-by: Wolfgang Denk <wd@denx.de>
* | ENV Variable support for Flex-OneNANDAmul Kumar Saha2009-11-13-0/+12
| | | | | | | | | | | | | | | | Define and use CONFIG_ENV_ADDR_FLEX and CONFIG_ENV_SIZE_FLEX for storing environment variables. Signed-off-by: Rohit Hagargundgi <h.rohit@samsung.com> Signed-off-by: Amul Kumar Saha <amul.saha@samsung.com>
* | Flex-OneNAND driver supportAmul Kumar Saha2009-11-13-101/+703
| | | | | | | | | | | | | | This patch adds support for Flex-OneNAND devices. Signed-off-by: Rohit Hagargundgi <h.rohit@samsung.com> Signed-off-by: Amul Kumar Saha <amul.saha@samsung.com>
* | fsl_elbc_nand: remove the bbt descriptors relocation fixupMingkai Hu2009-11-13-4/+0
| | | | | | | | | | | | | | The commit 66372fe2 manually relocated the bbt pattern pointer, which can be removed by using full relocation. Signed-off-by: Mingkai Hu <Mingkai.hu@freescale.com>
* | ppc/85xx: make boot from NAND full relocation to RAMMingkai Hu2009-11-13-1/+0
| | | | | | | | | | | | | | | | Take advantage of the latest full relocation commit of PPC platform for boot from NAND. Signed-off-by: Mingkai Hu <Mingkai.hu@freescale.com> Acked-by: Kumar Gala <galak@kernel.crashing.org>
* | NAND: fix "raw" reads with ECC syndrome layoutsDavid Brownell2009-11-13-4/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The syndrome based page read/write routines store ECC, and possibly other "OOB" data, right after each chunk of ECC'd data. With ECC chunk size of 512 bytes and a large page (2KiB) NAND, the layout is: data-0 OOB-0 data-1 OOB-1 data-2 OOB-2 data-3 OOB-3 OOB-leftover Where OOBx is (prepad, ECC, postpad). However, the current "raw" routines use a traditional layout -- data OOB, disregarding the prepad and postpad values -- so when they're used with that type of ECC hardware, those calls mix up the data and OOB. Which means, in particular, that bad block tables won't be found on startup, with data corruption and related chaos ensuing. The current syndrome-based drivers in mainline all seem to use one chunk per page; presumably they haven't noticed such bugs. Fix this, by adding read/write page_raw_syndrome() routines as siblings of the existing non-raw routines; "raw" just means to bypass the ECC computations, not change data and OOB layout. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
* | NAND: Don't walk past end of oobfree[]Sandeep Paulraj2009-11-13-1/+2
| | | | | | | | | | | | | | | | When computing oobavail from the list of free areas in the OOB, don't assume there will always be an unused slot at the end. This syncs up with the kernel NAND driver. Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* | NAND: Update check condition for nand_read_page_hwecc APISandeep Paulraj2009-11-13-1/+1
| | | | | | | | | | | | | | | | The patch updates the check condition for determining whether the ECC corrections has failed. This makes it similar to what is in the kernel NAND driver. Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* | NAND: Updating comments/explanations in the NAND driverSandeep Paulraj2009-11-13-4/+8
| | | | | | | | | | | | | | Patch updates the comments and explanations for the arguments to various functions. Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* | NAND: Subpage shift for ecc_steps equal to 16Sandeep Paulraj2009-11-13-0/+1
| | | | | | | | | | | | | | | | | | This was originally part of Thomas Gleixner's patch for adding support for 4KiB pages. This is not part of the U-Boot NAND driver so updating the driver with this to sync up with the kernel NAND driver. Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* | NAND: Remove commented out codeSandeep Paulraj2009-11-13-1/+0
| | | | | | | | | | | | Patch removes already commented out dead code Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* | NAND: Correct the "chip_shift" calculationSandeep Paulraj2009-11-13-1/+1
| | | | | | | | | | | | | | | | This patch updates the "chip_shift" calculation in the NAND driver. This is being done to sync up the NAND driver with the kernel NAND driver. Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* | NAND: Update to support 64 bit device sizeSandeep Paulraj2009-11-13-31/+42
| | | | | | | | | | | | | | | | This patch adds support for NANDs greater than 2 GB. Patch is based on the MTD NAND driver in the kernel. Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com> Signed-off-by: Scott Wood <scottwood@freescale.com>
* | cmd_nand: Move conditional compilation to MakefilePeter Tyser2009-11-13-5/+1
| | | | | | | | Signed-off-by: Peter Tyser <ptyser@xes-inc.com>