summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-11-18NAND: Update read_read_subpage API checkSandeep Paulraj
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>
2009-11-18NAND:Extending the nand_ecclayout structureSandeep Paulraj
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>
2009-11-16OMAP2/3: I2C: Add support for second and third busDirk Behme
Add support to use second and third I2C bus, too. Bus 0 is still the default, but by calling i2c_set_bus_num(1/2) before doing I2C accesses, code can switch to bus 1 and 2, too. Don't forget to switch back afterwards, then. Signed-off-by: Dirk Behme <dirk.behme@googlemail.com>
2009-11-15Merge branch 'master' into nextWolfgang Denk
2009-11-15Merge branch 'master' of git://git.denx.de/u-boot-netWolfgang Denk
2009-11-15Merge branch 'master' of git://git.denx.de/u-boot-mpc85xxWolfgang Denk
2009-11-15Merge branch 'master-sync' of git://git.denx.de/u-boot-armWolfgang Denk
2009-11-13ENV Variable support for Flex-OneNANDAmul Kumar Saha
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>
2009-11-13Flex-OneNAND driver supportAmul Kumar Saha
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>
2009-11-13fsl_elbc_nand: remove the bbt descriptors relocation fixupMingkai Hu
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>
2009-11-13ppc/85xx: make boot from NAND full relocation to RAMMingkai Hu
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>
2009-11-13NAND: fix "raw" reads with ECC syndrome layoutsDavid Brownell
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>
2009-11-13NAND: Don't walk past end of oobfree[]Sandeep Paulraj
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>
2009-11-13NAND: Update check condition for nand_read_page_hwecc APISandeep Paulraj
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>
2009-11-13NAND: Updating comments/explanations in the NAND driverSandeep Paulraj
Patch updates the comments and explanations for the arguments to various functions. Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2009-11-13NAND: Subpage shift for ecc_steps equal to 16Sandeep Paulraj
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>
2009-11-13NAND: Remove commented out codeSandeep Paulraj
Patch removes already commented out dead code Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2009-11-13NAND: Correct the "chip_shift" calculationSandeep Paulraj
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>
2009-11-13NAND: Update to support 64 bit device sizeSandeep Paulraj
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>
2009-11-13cmd_nand: Move conditional compilation to MakefilePeter Tyser
Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
2009-11-13cmd_nand: Remove duplicate includePeter Tyser
Also remove vague, unnecessary comment Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
2009-11-13ppc/85xx: Fix how we determine the number of CAM entriesKumar Gala
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>
2009-11-12smc911x: make smc911x_initialize return correct valueMike Rapoport
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>
2009-11-12smc911x_eeprom: fix building after smc911x overhaulMike Frysinger
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>
2009-11-12fsl-ddr: Fix the chip-select interleaving issueDave Liu
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>
2009-11-11Merge branch 'master' of git://git.denx.de/u-boot-netWolfgang Denk
2009-11-11Merge branch 'master' of git://git.denx.de/u-boot-ppc4xxWolfgang Denk
2009-11-11mxc_fec: avoid free() calls to already freed pointers.javier Martin
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>
2009-11-11mxc_fec: fix some erroneous PHY accesses.javier Martin
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>
2009-11-11ARM Don't inline weak symbolsRon Lee
------------------------------------------------------------------------ GCC 4.4 complains about this now. Signed-off-by: Ron Lee <ron@debian.org>
2009-11-10ppc4xx: Katmai: Add chip_config commandStefan Roese
This patch removes the Katmai "bootstrap" command and replaces it with the now common command "chip_config". Signed-off-by: Stefan Roese <sr@denx.de>
2009-11-10ppc4xx: Switch to I2C bus numer 0 for chip_config commandStefan Roese
All currently available 4xx derivats have the I2C bootstrap EEPROM located on I2C bus number 0. This patch now first sets this bus number, so that the chip_config command also works for board with multiple I2C busses, like Katmai. Signed-off-by: Stefan Roese <sr@denx.de>
2009-11-10ppc4xx: Add UBI support to PLU405 boardsMatthias Fuchs
-add UBI support -increase malloc'able memory size -cleanup MONITOR|FLASH_BASE|LEN constants Signed-off-by: Matthias Fuchs <matthias.fuchs@esd.eu> Signed-off-by: Stefan Roese <sr@denx.de>
2009-11-09Fix SMC91111 regression: lpd7a40x build failuresBen Warren
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>
2009-11-09SMC91111: Clean up SMC_inx macros on xsengine and xaeniaxBen Warren
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>
2009-11-09Merge branch 'master-sync' of git://git.denx.de/u-boot-armWolfgang Denk
2009-11-09Fix CS8900 regression on impa7 boardBen Warren
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>
2009-11-09clarify eth driver halt/recv stepsMike Frysinger
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>
2009-11-09Fix cs8900 dev->priv not init issueHui.Tang
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>
2009-11-09ppc4xx: 44x_spd_ddr2.c: Fix register macro ECCCR -> ECCES (SDRAM_ECCES)Stefan Roese
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>
2009-11-09ppc4xx: Canyonlands: Change EBC bus config to drive always (no high-z)Stefan Roese
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>
2009-11-09ppc4xx: Fix NAND booting targets after 4xx linker script consolidationStefan Roese
Somehow I missed the NAND booting targets in the 4xx linker script consolidation patchset. This patch fixes this issue. Signed-off-by: Stefan Roese <sr@denx.de>
2009-11-09ppc4xx: Remove duplicated is_pci_host() functionsStefan Roese
This patch introduces a weak default function for is_pci_host(), returning 1. This is the default behaviour, since most boards only implement PCI host functionality. This weak default can be overridden by a board specific version if needed. Signed-off-by: Stefan Roese <sr@denx.de>
2009-11-09ppc4xx: Consolidate 4xx PCIe board specific configurationStefan Roese
This patch consolidates the PPC4xx board specific PCIe configuration code. This way the duplicated code is removed. Boards can implement a special, non standard behaviour (e.g. number of PCIe slots, etc) by overriding the weak default functions. Signed-off-by: Stefan Roese <sr@denx.de>
2009-11-07ARM: Use Linux version for unaligned access codeRemy Bohmer
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
2009-11-04ppc/85xx: Fix inclusion of 83xx immap in 85xx buildsKumar Gala
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>
2009-11-0486xx: Remove redundant code in initdramBecky Bruce
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>
2009-11-04fsl_pci_init_port end-point initialization is brokenEd Swarthout
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>
2009-11-04Revert "ppc/85xx/pci: fsl_pci_init: pcie agent mode support"Kumar Gala
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>
2009-11-02ppc4xx: Remove board specific linker scripts from most PPC4xx boardsStefan Roese
All these linker scripts can be removed since the new common ppc4xx linker script should be able to handle all of those boards. Please test and report problems. Thanks. Signed-off-by: Stefan Roese <sr@denx.de>