summaryrefslogtreecommitdiff
path: root/common
Commit message (Collapse)AuthorAgeLines
* MA-8658-2 [Android_Imx]bootstat:record the reason of system bootzhang sanshan2016-09-09-0/+28
| | | | | | | | | | | Bootstat in android need info about boot reason. Read the reset reason and pass it to kernel through bootargs. Signed-off-by: zhang sanshan <b51434@freescale.com> Changes in v2: Delete the kernel_panic bootreason for we do not have a formal way to record panic reason in kernel.
* MA-7875 Enable CAAM for i.MX6Wang Haoran2016-07-21-0/+109
| | | | | | | | | Cherry-pick patch from Renato Frias <b13784@freescale.com> to enable CAAM in U-Boot. Modify the CAAM Keyblob to general memory mode. Signed-off-by: Wang Haoran <Haoran.Wang@freescale.com>
* MA-7373 - [brillo]: store slot meta data in a raw partition, no file system.fang hui2016-04-11-2/+4
| | | | | | | | | | | | | | | Partition name change from slotmeta to misc. Read/write raw data on partition misc, not use ext4 file system. Store meta in bootloader_message.slot_suffix, as defined in bootable/recovery/bootloader.h The first 4 bytes of boot_ctl are defined as magic number. Also, modify code to remove warning in drivers/usb/gadget/bootctrl.c warning: implicit declaration of function 'do_read' Signed-off-by: fang hui <b31070@freescale.com>
* MA-7251 - [evk_6ul]: Support boot conctrol for brillofang hui2016-04-11-0/+11
| | | | | | | | | brillo need bootlader support boot control. bootlader can choose which slot(partition) to boot based on it's tactic. The commit support boot control for evk6ul Signed-off-by: fang hui <hui.fang@nxp.com>
* MLK-12483-2 common: Fix uninitialized return value in image_fdtYe Li2016-03-04-1/+2
| | | | | | | When using ft_system_setup, the return value fdt_ret is not assigned, so the fdt_strerror(fdt_ret) uses a uninitialized value. Signed-off-by: Ye Li <ye.li@nxp.com>
* MLK-12483-1 common: Fix fdt command systemsetup issueYe Li2016-03-04-1/+1
| | | | | | | | | The fdt command "fdt systemsetup" can't work because the do_fdt check the start char 's' for command "fdt set". So the fdt systemsetup will also go into the "fdt set" in fault. Fix this problem by checking the whole word "set" for "fdt set" command. Signed-off-by: Ye Li <ye.li@nxp.com>
* MLK-12206 common: usb: fix check conditionPeng Fan2016-03-04-1/+1
| | | | | | | | | | | | | | We support max 16 endpoints, but endpoint starts from 0. So we need to use >= 16 but not > 16 to check whether we already reach max endpoints or not. Coverity ID 17955: Out-of-bounds read (OVERRUN) 37. overrun-local: Overrunning array dev->config.if_desc[ifno].ep_desc of 16 9-byte elements at element index 16 (byte offset 144) using index epno (which evaluates to 16). Signed-off-by: Peng Fan <peng.fan@nxp.com>
* MLK-12201 common: env: fix out of bounds readPeng Fan2016-03-04-1/+1
| | | | | | | | | We should use ARRAY_SIZE, but not directly sizeof, otherwise we may access memory that is not belong the array env_flags_varaccess_mask. Coverity ID: 17949 Signed-off-by: Peng Fan <peng.fan@nxp.com>
* MLK-12200 common: cli_simple: use strlcpy instead of strcpyPeng Fan2016-03-04-1/+2
| | | | | | | | | Report Coverity log: Destination buffer too small (STRING_OVERFLOW) string_overflow: You might overrun the 1024 byte destination string lastcommand by writing 1025 bytes from console_buffer Signed-off-by: Peng Fan <peng.fan@nxp.com>
* MLK-12199 common:env fix unintialized scalar valuePeng Fan2016-03-04-1/+11
| | | | | | | Reported by coverity ID: 17900 17902 Using uninitialized value e. Field e.flags is uninitialized when calling hsearch_r Signed-off-by: Peng Fan <peng.fan@nxp.com>
* common: env: initialize scalar variablePeng Fan2016-03-04-0/+2
| | | | | | | | | | | | | | | | | Before calling hsearch_r, initialize callback entry to NULL. Coverity log: " Uninitialized scalar variable (UNINIT) uninit_use_in_call: Using uninitialized value e. Field e.callback is uninitialized when calling hsearch_r. " Reported-by: Coverity Signed-off-by: Peng Fan <peng.fan@nxp.com> Cc: Tom Rini <trini@konsulko.com> Cc: Simon Glass <sjg@chromium.org> (cherry picked from commit 5a6894397a657edec5d0cf4e20968cc66a368c51)
* common: nvedit: use snprintf instead of sprintfPeng Fan2016-03-04-1/+1
| | | | | | | | | | | | | | | | | Use snprintf to replace sprintf. Coverity log: " Unbounded source buffer (STRING_SIZE) string_size: Passing string init_val of unknown size to sprintf. " Reported-by: Coverity Signed-off-by: Peng Fan <peng.fan@nxp.com> Cc: Tom Rini <trini@konsulko.com> Cc: Simon Glass <sjg@chromium.org> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com> (cherry picked from commit 5d49b4cdf9417b88476567c8ec78ff185d84b10f)
* common: cli: avoid memory leakPeng Fan2016-03-04-1/+1
| | | | | | | | | | | Whether CONFIG_SYS_HUSH_PARSER is defined or not, should always check to free 'buff' to avoid memory leak. Signed-off-by: Peng Fan <peng.fan@nxp.com> Cc: Tom Rini <trini@konsulko.com> Cc: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: Simon Glass <sjg@chromium.org> (cherry picked from commit 09a788624dbe32aeeb0d74c97c0965303eb96d8c)
* common: cli_hush: avoid memory leakPeng Fan2016-03-04-2/+7
| | | | | | | | | | Need to free memory avoid memory leak, when error. Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Reviewed-by: Simon Glass <sjg@chromium.org> Cc: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@konsulko.com> (cherry picked from commit c6bb23c819b5dcbc5c3491673f5e408c0b9c38b3)
* common: miiphyutil: avoid memory leakPeng Fan2016-03-04-0/+2
| | | | | | | | | | | | | | | | | | | The following code will alloc memory for new_dev and ldev: " new_dev = mdio_alloc(); ldev = malloc(sizeof(*ldev)); " Either new_dev or ldev is NULL, directly return, but this may leak memory. So before return, using free(ldev) and mdio_free(new_dev) to avoid leaking memory, also free can handle NULL pointer. Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Cc: Joe Hershberger <joe.hershberger@ni.com> Cc: Simon Glass <sjg@chromium.org> Cc: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com> (cherry picked from commit 746da1bd42aa5ecc47898399514c9c76d0329706)
* common: mmc: unsigned char compared against 0Peng Fan2016-03-04-1/+1
| | | | | | | | | | | | | | | "enable" is unsigned char type and its value will not be negative, so discard "enable < 0". Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Cc: Diego Santa Cruz <Diego.SantaCruz@spinetix.com> Cc: Pantelis Antoniou <pantelis.antoniou@konsulko.com> Cc: Andrew Gabbasov <andrew_gabbasov@mentor.com> Cc: Simon Glass <sjg@chromium.org> Cc: Stefano Babic <sbabic@denx.de> Cc: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org> (cherry picked from commit 678e9316d48f78d162f705846b6f6eeab4aa5dd0)
* common: miiphyutil: no need to check name of mii_devPeng Fan2016-03-04-1/+1
| | | | | | | | | | | | | | The entry name of mii_dev is an array not pointer, so no need to check. Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Cc: Joe Hershberger <joe.hershberger@ni.com> Cc: Simon Glass <sjg@chromium.org> Cc: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Acked-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> (cherry picked from commit d39449b110c8da47bf5b8dc372bd5cd1c33a1a67)
* common: image-fdt: correct fdt_blob for IMAGE_FORMAT_LEGACYPeng Fan2016-03-04-1/+1
| | | | | | | | | | | | | | | | | | If condition of "(load == image_start || load == image_data)" is true, should use "fdt_addr = load;", but not "fdt_blob = (char *)image_data;", or fdt_blob will be overridden by "fdt_blob = map_sysmem(fdt_addr, 0);" at the end of the switch case. Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Cc: Simon Glass <sjg@chromium.org> Cc: Joe Hershberger <joe.hershberger@ni.com> Cc: Max Krummenacher <max.krummenacher@toradex.com> Cc: Marek Vasut <marex@denx.de> Cc: Suriyan Ramasami <suriyan.r@gmail.com> Cc: Paul Kocialkowski <contact@paulk.fr> Cc: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org> (cherry picked from commit 2ea47be02f356ff275fa5c50392ea510ddb4a96c)
* common: cli_hush: avoid dead codePeng Fan2016-03-04-1/+1
| | | | | | | | | | | | | | | | Condition "(value == NULL && ++value == NULL)" actully will always return false. Instead, use condition "(value == NULL || *(value + 1) == 0)" to detect such expression "c=". To "c=", *(value + 1) is 0, so directly return -1, but not continue. Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Cc: Rabin Vincent <rabin@rab.in> Cc: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org> (cherry picked from commit aa722529635c16c52d9d609122fecc96ec8d03e4)
* net: mdio: Add mdio_free() and mdio_unregister() APIBin Meng2016-03-04-0/+19
| | | | | | | | Currently there is no API to uninitialize mdio. Add two APIs for this. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com> (cherry picked from commit cb6baca77bca0ef999203a7ed73bd123e7da062e)
* Revert "MA-7053 when I add selinux=disable in the cmdline, the board do OTA ↵guoyin.chen2016-03-04-31/+1
| | | | | | | | | | | | update will fail" This reverts commit 24356fe059abbc9eae1b192f7af8a46f204a36f4. Conflicts: common/image-android.c Conflicts: common/image-android.c
* MA-7053 when I add selinux=disable in the cmdline, the board do OTA update ↵zhang sanshan2015-11-06-3/+31
| | | | | | | | | | | will fail The ota update script will set selinux label with set_metadata when do nand ota update. The root cause is set_metadata will fail if disable selinux in recovery mode. This patch is a workaround which will enable selinux in recovery mode, even if have disable selinux in commandline. Signed-off-by: zhang sanshan <b51434@freescale.com>
* MA-6987 the value of vmalloc on Kernel command line still display 400M after ↵zhang sanshan2015-08-13-1/+2
| | | | | | | | | we change it to other values(sabresd dq and auto 6qp 0812 daily build) Correct the bootargs which is printed. It should be newbootargs rather than bootimage's bootargs. Signed-off-by: zhang sanshan <b51434@freescale.com>
* MA-6928 Bootargs cannot be setzhang sanshan2015-07-28-5/+16
| | | | | | | | | The bootargs is not set correctly. The final bootargs consist of uboot's bootargs and bootimg's bootargs. This patch set bootimg's bootargs as final bootargs if uboot's bootargs is not set. And take uboot's bootargs as final bootargs if uboot's bootargs is set. Signed-off-by: zhang sanshan <b51434@freescale.com>
* MLK-10932-3 common: autoboot: need to disconnect with pc for usb bootPeter Chen2015-07-14-0/+1
| | | | | | | | | | | | | For USB boot, eg, mfgtool programming case, some laptops/pcs may not work properly if the board do not disconnect until linux kernel usb driver initialization process, finishes the ROM code connection at u-boot can fix this problem, and this was the original work flow when mfgtool flow was introduced at u-boot. Tested-by: Spring Zhang <b17931@freescale.com> Tested-by: Zhang Sanshan <b51434@freescale.com> Signed-off-by: Peter Chen <peter.chen@freescale.com>
* MLK-11228-1 android: Integrate community fastboot with FSL i.MX fastbootYe.Li2015-07-13-1870/+100
| | | | | | | | | | | | | | | | | | | | | 1. Replace the UDC driver with community's USB gadget d_dnl driver. 2. Integrate the FSL SD/SATA/NAND flash operations, since the GPT and EFI partitions are not support by i.MX. 3. Add FDT support to community's android image. 4. Change the booti command to boota, due to the booti has been used for ARM64 image boot. 5. Modify boota implementation to load ramdisk and fdt to their loading addresses specified in boot.img header, while bootm won't do it for android image. 6. Modify the android image HAB implementation. Authenticate the boot.img on the "load_addr" for both SD and NAND. 7. Enable new configuration CONFIG_FSL_FASTBOOT for Freescale's fastboot with relevant header file "fsl_fastboot.h". While disabling the configuration, the community fastboot is used. 8. Use community's way to combine cmdline in boot.img and u-boot environment, not overwrite the cmdline in boot.img Signed-off-by: Ye.Li <B37916@freescale.com>
* MLK-11211 lcd: fix build warningPeng Fan2015-07-01-4/+1
| | | | | | | | | | | | | | | Fix build warning: common/lcd.c: In function 'lcd_clear': common/lcd.c:166:6: warning: variable 'bg_color' set but not used [-Wunused-but-set-variable] int bg_color; ^ common/lcd.c: In function 'lcd_setmem': common/lcd.c:296:2: warning: format '%d' expects argument of type 'int', but argument 2 has type 'u_long' [-Wformat=] debug("LCD panel info: %d x %d, %d bit/pix\n", panel_info.vl_col, ^ common/lcd.c:296:2: warning: format '%d' expects argument of type 'int', but argument 3 has type 'u_long' [-Wformat=] Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
* MA-6580 recovery.img cannot be authenticated by HABguoyin.chen2015-04-29-9/+13
| | | | | | | | | | Remove the authentication size to be a fixed size, due to recovery.img may be much bigger than the boot.img Add signature size to boot or recovery image size, which is added by boot_signer in android build process Signed-off-by: guoyin.chen <guoyin.chen@freescale.com> (cherry picked from commit d59b24fefcd56d085c4010643ca9f6522a3cc58a)
* MA-6381 Add HAB support for the whole boot.imgguoyin.chen2015-04-29-25/+73
| | | | | | | | | boot.img includes kernel image, ramdisk img, dtb, and bootargs. All are critical for android security. Protect the whole boot.img with HAB. Signed-off-by: guoyin.chen <guoyin.chen@freescale.com> (cherry picked from commit 8a49e53c5b518677b46cada5df153306161f29ac)
* MLK-10774-33 imx:mx6 add udc and fastboot supportPeng Fan2015-04-29-27/+1832
| | | | | | | | | | | | Add udc and fastboot support We did not use the upstream way. Currently use CI_UDC and USB_GAGDET of upstream can make fastboot work, but lack of flash operation, so we still use our way. Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Signed-off-by: Nitin Garg <nitin.garg@freescale.com> Signed-off-by: Ye.Li <B37916@freescale.com>
* MLK-10774-31 lcd: add LCD_MONOCHROMEPeng Fan2015-04-29-10/+30
| | | | | | | | | | | LCD_MONOCHROME is removed in commit f4469f50b0367820121ef2d313517d422ed70e1d. Add related code back to support epdc. In this patch, also include crm_regs.h in mx6slevk.c to make epdc code be compiled ok. COLOR_MASK is also added from commit a7de2953f51e70754190d3516167d58d27d17219 Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
* MLK-10774-23 Add SECURE BOOT in cmd_bootm.cPeng Fan2015-04-29-0/+18
| | | | | | Add SECURE BOOT in bootm Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
* ENGR00319151-2 HAB: Add the HAB image authentication to bootzYe.Li2015-04-29-0/+9
| | | | | | | | | Since the zImage is used at default, add the HAB image authentication support in bootz to authenticate zImage. Signed-off-by: Ye.Li <B37916@freescale.com> (cherry picked from commit 591100eec569dd1d54f61e9f49fe995f56a021eb) Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
* MLK-10774-9 common: add sata commandPeng Fan2015-04-29-4/+177
| | | | | | Add sata command Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
* MLK-10774-8 env_mmc: add the dynamtic mmc dev supportPeng Fan2015-04-29-8/+14
| | | | | | | | | This patch add the support to load/save env to the slot which was used as the boot media by dynamic detection. Signed-off-by: Jason Liu <r64343@freescale.com> Signed-off-by: Ye.Li <B37916@freescale.com> Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
* MLK-10774-7 Auto check if boot from usbPeng Fan2015-04-29-0/+26
| | | | | | | | | | | If boot from usb, reset environment to default value. Auto apply mfgtools setting and boot mfgtools kernel. Signed-off-by: Frank Li <Frank.li@freescale.com> Signed-off-by: Nitin Garg <nitin.garg@freescale.com> Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
* ENGR00322860 iMX6SX: Add function to check M4 status before bootingYe.Li2015-04-29-1/+17
| | | | | | | | | Add new function "arch_auxiliary_core_check_up" to check whether M4 is already up. Therefore, avoid starting M4 again when it is running. Signed-off-by: Ye.Li <B37916@freescale.com> (cherry picked from commit 54a0803b29c5ab459bedfb2c68c1e94b89866aa1) Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
* ENGR00315894-56 CMD: Add new command "bootaux" to boot auxiliary coreYe.Li2015-04-29-0/+43
| | | | | | | | | | | | | To boot a auxiliary core in asymmetric multicore system, introduce the new command "bootaux" to do it. Example of boot auxliary core from 0x70000000 where stores the boot head information that should be parsed by each core. "bootaux 0x70000000" Signed-off-by: Ye.Li <B37916@freescale.com> (cherry picked from commit fd00c322d058e02953a336517547174edaf2c573) Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
* common/armflash: Support for ARM flash imagesLinus Walleij2015-04-10-0/+285
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The ARM reference designs all use a special flash image format that stores a footer (two versions exist) at the end of the last erase block of the image in flash memory. Version one of the footer is indicated by the magic number 0xA0FFFF9F at 12 bytes before the end of the flash block and version two is indicated by the magic number 0x464F4F54 0x464C5348 (ASCII for "FLSHFOOT") in the very last 8 bytes of the erase block. This command driver implements support for both versions of the AFS images (the name comes from the Linux driver in drivers/mtd/afs.c) and makes it possible to list images and load an image by name into the memory with these commands: afs - lists flash contents afs load <image> - loads image to address indicated in the image afs load <image> <addres> - loads image to a specified address This image scheme is used on the ARM Integrator family, ARM Versatile family, ARM RealView family (not yet supported in U-Boot) and ARM Versatile Express family up to and including the new Juno board for 64 bit development. Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* Merge branch 'master' of git://git.denx.de/u-boot-armTom Rini2015-04-10-0/+13
|\
| * Introduce CONFIG_SPL_PANIC_ON_RAW_IMAGEAlbert ARIBAUD \(3ADEV\)2015-04-10-0/+12
| | | | | | | | | | | | | | | | | | introduce CONFIG_SPL_PANIC_ON_RAW_IMAGE. An SPL which define this will panic() if the image it has loaded does not have a mkimage signature. Signed-off-by: Albert ARIBAUD (3ADEV) <albert.aribaud@3adev.fr>
| * lpc32xx: add lpc32xx-spl.bin boot image targetAlbert ARIBAUD \(3ADEV\)2015-04-10-0/+1
| | | | | | | | Signed-off-by: Albert ARIBAUD (3ADEV) <albert.aribaud@3adev.fr>
* | common, ubi: use positive return values for ubi checkStefan Agner2015-04-10-1/+1
|/ | | | | | | | | | | The ubi check command is expected to not fail and just check whether a volume exist or not. Currently, when a volume does not exist, the command fails which leads to an error: "exit not allowed from main input shell." Use 1 to indicate that a volume does not exist. This allows to use ubi check in an if statement, e.g. if ubi check rootfs; then; echo "exists"; else; echo "not there"; fi
* cmd_mem.c: Update 'iteration_limit' to unsigned longTom Rini2015-04-07-1/+1
| | | | | | | | | With e37f1eb we now use strict_strtoul() in do_mem_mtest() and this gives us a warning: ../include/vsprintf.h:38:5: note: expected 'long unsigned int *' but argument is of type 'int *' Signed-off-by: Tom Rini <trini@konsulko.com>
* cmd_mem: cleanups, catch bad usagePavel Machek2015-04-07-15/+19
| | | | | | | Currently, memtest will silently accept bad data. Perform error checking on user intput. Signed-off-by: Pavel Machek <pavel@denx.de>
* env_sf: Fix recovery defaultMario Schuknecht2015-04-07-2/+4
| | | | | | | | | | | | | | | | | | | | | The u-boot environment is redundantly stored in a NOR flash on our boards. Redundant means that there are two places to store the environment. But only one of the two is active. I discovered that on one board the u-boot (env_sf) uses the environment from the second place and the Kernel (fw_printenv) uses the environment from the first place. To decide which is the active environment there is a byte inside the environment. 1 means active and 0 means obsolete. But on that board both environments had have a 1. This can happen if a power loss or reset occurs during writing the environment. In this situation the u-boot (env_sf) implementation uses the second environment as default. But the Kernel (fw_printenv) implementation uses the first environment as default. This commit corrects the default in the u-boot env_sf implementation when a problem was detected. Now the recovery default is the same like in all other environment implementations. E.g. fw_printenv and env_flash. This ensures that u-boot and Kernel use the same environment. Signed-off-by: Mario Schuknecht <mario.schuknecht@dresearch-fe.de>
* arc: clean-up init procedureAlexey Brodkin2015-04-03-4/+4
| | | | | | | | | | | | | | | | Intention behind this work was elimination of as much assembly-written code as it is possible. In case of ARC we already have relocation fix-up implemented in C so why don't we use C for U-Boot copying, .bss zeroing etc. It turned out x86 uses pretty similar approach so we re-used parts of code in "board_f.c" initially implemented for x86. Now assembly usage during init is limited to stack- and frame-pointer setup before and after relocation. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Simon Glass <sjg@chromium.org>
* nand: yaffs: Remove the "nand write.yaffs" commandPeter Tyser2015-03-30-15/+0
| | | | | | | | | | | | | | | | This command is only enabled by one board, complicates the NAND code, and doesn't appear to have been functioning properly for several years. If there are no bad blocks in the NAND region being written nand_write_skip_bad() will take the shortcut of calling nand_write() which bypasses the special yaffs handling. This causes invalid YAFFS data to be written. See http://lists.denx.de/pipermail/u-boot/2011-September/102830.html for an example and a potential workaround. U-Boot still retains the ability to mount and access YAFFS partitions via CONFIG_YAFFS2. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* cmd_nand: Verify writes to NANDPeter Tyser2015-03-30-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously NAND writes were only verified when CONFIG_MTD_NAND_VERIFY_WRITE was defined. On boards without this define writes could fail silently. Boards with CONFIG_MTD_NAND_VERIFY_WRITE could prematurely report failures which ECC could correct. Add a verification step after all "nand write[.x]" commands to ensure the writes were successful. The verification uses ECC for for "normal" writes, but does not for raw and yaffs writes. Some test cases which inject fake bad bits on a 2K page flash are below. Test cases with CONFIG_MTD_NAND_VERIFY_WRITE defined: Example of an ECC write which previously failed when CONFIG_MTD_NAND_VERIFY_WRITE was defined, but now succeeds because ECC is used during verification: nand erase 0 0x10000 dhcp /somefile mw.b 0x10000 0xff 0x2000 mw.b 0x10020 0xfe 1 nand write.raw 0x10000 0x800 1 mw.b 0x1000020 0x01 1 nand write 0x1000000 0x800 0x1800 Test cases without CONFIG_MTD_NAND_VERIFY_WRITE defined: Example of an ECC write which previously silently failed: nand erase 0 0x10000 dhcp /somefile mw.b 0x10000 0xff 0x2000 mw.b 0x10020 0x00 1 nand write.raw 0x10000 0x800 1 mw.b 0x1000020 0xff 1 nand write 0x1000000 0x800 0x1800 Example of a raw write which previously failed silently due to stuck data bit, but now errors out: nand erase 0 0x10000 dhcp /somefile mw.b 0x10000 0xff 0x2000 mw.b 0x10020 0xfe 1 nand write.raw 0x10000 0x800 1 mw.b 0x1000020 0x01 1 nand write.raw 0x1000000 0x800 3 Example of a raw write which previously failed silently due to stuck OOB bit, but now errors out: nand erase 0 0x10000 dhcp /somefile mw.b 0x10000 0xff 0x2000 mw.b 0x10810 0xfe 1 nand write.raw 0x10000 0x800 1 mw.b 0x1000810 0x01 1 nand write.raw 0x1000000 0x800 3 Signed-off-by: Peter Tyser <ptyser@xes-inc.com> Tested-by: Heiko Schocher <hs@denx.de> Acked-by: Heiko Schocher <hs@denx.de>
* m68k: fix 3 broken boardsangelo@sysam.it2015-03-28-2/+2
| | | | | | | | | | | Fix eb_cpu5282 and eb_cpu5282_internal unresolved external error. These boards have video but don't need any ppc related video_setmem(). Fix M53017EVB moving away embedded env to a different offset, as in M52277EVB. Signed-off-by: Angelo Dureghello <angelo@sysam.it>