summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-05-24mtd: vf610_nfc: use in-band bad block tableStefan Agner
Use in-band bad block table (NAND_BBT_NO_OOB) which allows to use the full OOB for hardare ECC purposes. Since there is no ECC correction on the OOB it is also safer to use in-band area to store the bad block table marker. Signed-off-by: Stefan Agner <stefan@agner.ch>
2015-05-24mtd: vf610_nfc: implement OOB only readStefan Agner
Implement read of OOB area only. When using column and sector size properties, only parts of the page can be read. However, this works only when hardware ECC is disabled, otherwise the ECC engine would ruin the data in the buffer. To allow OOB only reads, three points had to be addressed: - Set ECC mode per command. - Handle NAND_CMD_READOOB seperate. Make sure column and sector size is correctly set up, while disabling ECC. - Now, the OOB data end up at the beginning of the buffer. Remove the special handling of OOB (spareonly). Especially bad block scans benefit from this change. On a 512MiB SLC NAND device, the bad block scan took 1.5s less than before. Signed-off-by: Stefan Agner <stefan@agner.ch>
2015-05-24mtd: vf610_nfc: allow bitflips in an empty pageStefan Agner
Allow bit flips in a empty page up to half of the recoverable bits (strength / 2). Signed-off-by: Stefan Agner <stefan@agner.ch>
2015-05-24mtd: vf610_nfc: remove read on SEQINStefan Agner
Since we do not support sub-page writes anyway, reading the page back to the controller on SEQIN command is not required. Remove the page read on SEQIN. However, the column/page values relevant to the SEQIN command, hence set the column/row address on SEQIN command. Signed-off-by: Stefan Agner <stefan@agner.ch>
2015-05-24mtd: vf610_nfc: remove caching of page in bufferStefan Agner
To improve performance we remember the current page in the buffer and avoid reading it twice. This implicit page cache increases complexity while does not increase performance in real world cases. This patch removes that feature. Acked-by: Bill Pringlemeir <bpringlemeir@nbsps.com> Signed-off-by: Stefan Agner <stefan@agner.ch>
2015-05-24tools: mxsboot: Calculate ECC strength dynamicallyJörg Krause
Calculating the ECC strength dynamically to be aligned with the mxs NAND driver and the Linux Kernel. Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Reviewed-by: Marek Vasut <marex@denx.de>
2015-05-24mtd: nand: mxs: Replace magic number for bits per ECC level with macroJörg Krause
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Reviewed-by: Marek Vasut <marex@denx.de>
2015-05-24mtd:mxs:nand calculate ecc strength dynamicallyPeng Fan
Calculate ecc strength according oobsize, but not hardcoded which is not aligned with kernel driver Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Signed-off-by: Ye.Li <b37916@freescale.com> Reviewed-by: Marek Vasut <marex@denx.de> Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
2015-05-22Merge branch 'master' of git://git.denx.de/u-boot-fsl-qoriqTom Rini
2015-05-22nand/elbc: Memory leak fixRaghav Dogra
Freeing allocated memory to priv before returning from the function Signed-off-by: Raghav Dogra <raghav@freescale.com> [scottwood: removed unnecessary cast] Signed-off-by: Scott Wood <scottwood@freescale.com>
2015-05-21nand: fix buffer alignment in new verification featureStephen Warren
On systems with caches enabled, NAND I/O may need to flush/invalidate the cache during read/write operations. For this to work correctly, all buffers must be cache-aligned. Fix nand_verify*() to allocate aligned buffers. This prevents cache alignment warnings from being spewed when using U-Boot to write an updated version of itself to flash on NVIDIA Tegra Seaboard (after perturbation of stack/data layout in current u-boot-dm/next branch). I have validatd (executed) nand_verify(), but I don't think I've executed nand_verify_page_oob(); testing of that would be useful. Cc: Peter Tyser <ptyser@xes-inc.com> Cc: Heiko Schocher <hs@denx.de> Cc: Scott Wood <scottwood@freescale.com> Fixes: 59b5a2ad83df ("nand: Add verification functions") Signed-off-by: Stephen Warren <swarren@nvidia.com> Reviewed-by: Simon Glass <sjg@chromium.org> Acked-by: Scott Wood <scottwood@freescale.com>
2015-05-21imx: ventana: config: enable Falcon modeTim Harvey
Falcon mode entails the SPL booting the OS directly instead of U-Boot. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2015-05-21wandboard: Switch to SPL supportFabio Estevam
Currently we need to build one U-boot image for each of the wandboard variants: quad, dual-lite and solo. By switching to SPL we can support all these variants with a single binary, which is very convenient. Based on the work from Richard Hu. Tested kernel booting on the three boards. Signed-off-by: Richard Hu <hakahu@gmail.com> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Tested-by: Vagrant Cascadian <vagrant@aikidev.net> Reviewed-by: Stefano Babic <sbabic@denx.de>
2015-05-21sandbox: Enable env unit testsJoe Hershberger
Enable the new env unit tests on sandbox. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-05-21test: env: Add a test of the new regex behavior for attrsJoe Hershberger
The behavior of the env attrs depends on CONFIG_REGEX. Add an additional test if that variable is set. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-05-21test: env: Add test for verifying env attrsJoe Hershberger
Add a test of the env_attr_lookup() function. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-05-21test: env: Add test framework for envJoe Hershberger
Add a new "env" subcommand to the ut command. This will run unit tests on the env code. This should be targetable to any device that supports the env features needed for the tests. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-05-21test: dm: Recover the driver model tree after testsJoe Hershberger
Put the driver model for the system back into a good state after completing the DM testing. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
2015-05-21test: Return values from the asserts compatible with cmdsJoe Hershberger
The asserts are sometimes called from the context of the test command itself so make sure that a return that happens as a result of a failure is compatible with that command return. When called within a test, the return value is ignored. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-05-21test: dm: eth: Handle failed test env cleanupJoe Hershberger
Make sure that the env gets cleaned up after a test fails so that other tests aren't affected. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
2015-05-21test: dm: Don't bail on all tests if one test failsJoe Hershberger
There's not much point in having a failure count if we always give up on the first failure. Also stop clearing the entire state between tests. Make sure that any failures are still passed out to the command line. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-05-21test: Move the unit tests to their own menuJoe Hershberger
Make all unit tests selectable as a menu of test suites instead of just sitting in the top-level menu individually. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
2015-05-21test: dm: Move the time test over to the ut commandJoe Hershberger
Unify the command for running unit tests further by moving the "ut_time" command over to "ut time". Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
2015-05-21test: dm: Move the dm tests over to the ut commandJoe Hershberger
Unify the command for running unit tests further by moving the "dm test" command over to "ut dm". Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
2015-05-21test: Add a common unit test commandJoe Hershberger
Add a command that all other unit tests should be a sub-command of. Also include a command that will run all tests. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
2015-05-21test: Generalize the unit test frameworkJoe Hershberger
Separate the ability to define tests and assert status of test functions from the dm tests so they can be used more consistently throughout all tests. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-05-21net: Handle ethaddr changes as an env callbackJoe Hershberger
When the ethaddr is changed in the env, update the device pdata at the same time (only if it is probed for the DM case; only if registered for the non-DM case). Again this gets us closer to completely non-polled env needed to simplify the net_loop. This requires that the NET feature select the REGEX feature. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
2015-05-21net: Remove duplicate bootfile syncing functionalityJoe Hershberger
The bootfile env var is already kept up to date by the callback in net.c so there is no need to poll it too. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
2015-05-21net: Add default flags for common net env varsJoe Hershberger
Check that the common network stack's env vars conform to the proper format for IP addresses. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-05-21net: Use env callbacks for net variablesJoe Hershberger
Instead of checking for changes to the env each time we enter the net_loop, use the env callbacks to update the values of the variables. Don't update the variables when the source was programmatic, since the variables were the source of the new value. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-05-21net: Apply default format rules to all ethaddrJoe Hershberger
Use a regular expression to apply the default formatting flags for all ethaddr env vars. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-05-21env: Distinguish finer between source of env changeJoe Hershberger
We already could tell the difference in the callback between an import and "other" which we called interactive. Now add further distinction between interactive (i.e. running env set / env edit / env ask / etc. from the U-Boot command line) and programmatic (i.e. when u-boot source calls any variant of setenv() ). Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-05-21env: Add regex support to env_attrsJoe Hershberger
Allow the features that use env_attrs to specify regexs for the name Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-05-21env: Allow env_attr_walk to pass a priv * to callbackJoe Hershberger
In some cases it can be helpful to have context in the callback about the calling situation. This is needed for following patches. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-05-21env: Simplify the reverse_strstr() interfaceJoe Hershberger
The logic to find the whole matching name was split needlessly between the reverse_strstr function and its caller. Fully contain it to make the interface for calling it more consistent. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
2015-05-21env: Fix return values in env_attr_lookup()Joe Hershberger
This function returned numbers for error codes. Change them to error codes. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-05-21sandbox: Enable some ENV commandsJoe Hershberger
Enable some additional ENV commands in sandbox to aid in build testing and run testing. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-05-21sandbox: Use defconfig to enable featuresJoe Hershberger
Stop using the sandbox arch Kconfig to override defaults for config options. This is a bit of abuse and may be causing build problems. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
2015-05-21sandbox: Cleanup order and extra defines in defconfigJoe Hershberger
The defconfigs should not be edited directly. They should be generated by editing the .config (through menuconfig or whatever) and then run make savedefconfig to have the Kconfig system generate a clean defconfig I did this for sandbox here with no actual changes. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-05-20Merge git://git.denx.de/u-boot-netTom Rini
2015-05-20README.scrapyard: add entries for dead board, T4240EMU and sc3Masahiro Yamada
Follow-up commit 7fc63cca611b (mpc85xx/T4240EMU: Remove T4240EMU board), and commit 27e721564591 (ppc4xx: Remove sc3 board), filling the blank fields. Reviewed-by: Stefan Roese <sr@denx.de> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2015-05-20arm/ls1021a: Remove ccsr_ddr from immap_ls102xa.hYork Sun
ccsr_ddr structure is already defined in fsl_immap.h. Remove this duplicated define. Move fixed timing into ls1021atwr.h. Signed-off-by: York Sun <yorksun@freescale.com> CC: Alison Wang <alison.wang@freescale.com> Acked-by: Alison Wang <alison.wang@freescale.com>
2015-05-20driver/ddr/fsl: Remove deskew_cntrl registerYork Sun
This register is reserved and shouldn't have been exposed. Accessing it may have unexpected result on different SoCs. Signed-off-by: York Sun <yorksun@freescale.com>
2015-05-20arm: ls102xa: Adjust the load address of U-Boot for NOR bootAlison Wang
The original load address of U-Boot is 0x67f80000. The address space of NOR flash is 0x60000000 to 0x67ffffff. It will cause the size of u-boot couldn't be larger than 512K. As more features are supported in u-boot, the size of u-boot is larger than 512K. To fix this issue, the load address of U-Boot for NOR boot is adjusted to 0x60100000. In RCW, the PBI command needs to change as follows: .pbi -write 0xee0200, 0x67f80000 +write 0xee0200, 0x60100000 .end Signed-off-by: Alison Wang <alison.wang@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>
2015-05-20net: Remove all calls to net_random_ethaddr()Joe Hershberger
Remove the calls to net_random_ethaddr() that some boards and some drivers are calling. This is now implemented inside of net/eth.c Enable the feature for all boards that previously enabled it. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-By: Michael Walle <michael@walle.cc> (for the lsxl board part) Series-changes: 2 -Fixed bfin build errors
2015-05-19net: Remove all references to CONFIG_ETHADDR and friendsJoe Hershberger
We really don't want boards defining fixed MAC addresses in their config so we just remove the option to set it in a fixed way. If you must have a MAC address that was not provisioned, then use the random MAC address functionality. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-05-19net: Implement random ethaddr fallback in eth.cJoe Hershberger
Implement the random ethaddr fallback in eth.c so it is in a common place and not reimplemented in each board or driver that wants this behavior. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-05-19net: phy: Add support for all targets which requires MANUAL_RELOCMichal Simek
Targets with CONFIG_NEEDS_MANUAL_RELOC do not use REL/RELA relocation (mostly only GOT) where functions aray are not updated. This patch is fixing function pointers passed to phy_register function. This patch was tested on Microblaze architecture. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2015-05-19net/phy: refactor RTL8211F initializationShengzhou Liu
RTL8211F needs to enalbe TXDLY for RGMII during phy initialization, so move it to rtl8211f_config for early initialization. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com> cc: Joe Hershberger <joe.hershberger@gmail.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2015-05-19net: Update hardware MAC address if it changes in envJoe Hershberger
When the ethaddr changes in the env, the hardware should also be updated so that MAC filtering will work properly without resetting U-Boot. Also remove the manual calls to set the hwaddr that was included in a few drivers as a result of the framework not doing it. Reported-by: Michal Simek <michal.simek@xilinx.com> Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Tested-by: Michal Simek <michal.simek@xilinx.com>