16 Oct, 2019
1 commit
-
Some users of static UBI volumes implement their own integrity check,
thus making the volume CRC check done at open time useless. For
instance, this is the case when one use the ubiblock + dm-verity +
squashfs combination, where dm-verity already checks integrity of the
block device but this time at the block granularity instead of verifying
the whole volume.Skipping this test drastically improves the boot-time.
Adapted to U-Boot by Stefan Roese.
Signed-off-by: Quentin Schulz
Signed-off-by: Stefan Roese
Reviewed-by: Heiko Schocher
Cc: Quentin Schulz
Cc: Boris Brezillon
07 May, 2018
1 commit
-
When U-Boot started using SPDX tags we were among the early adopters and
there weren't a lot of other examples to borrow from. So we picked the
area of the file that usually had a full license text and replaced it
with an appropriate SPDX-License-Identifier: entry. Since then, the
Linux Kernel has adopted SPDX tags and they place it as the very first
line in a file (except where shebangs are used, then it's second line)
and with slightly different comment styles than us.In part due to community overlap, in part due to better tag visibility
and in part for other minor reasons, switch over to that style.This commit changes all instances where we have a single declared
license in the tag as both the before and after are identical in tag
contents. There's also a few places where I found we did not have a tag
and have introduced one.Signed-off-by: Tom Rini
26 Sep, 2017
1 commit
-
The status register is optional in the AMD command sets, but it's
presence can be checked by reading out CFI table entry 0xc bit 0.
If the register is present, prefer using it's bit 7 to determine
if the flash is busy over reading the flash ; this is needed ie.
on Hyperflash memories.Signed-off-by: Marek Vasut
Signed-off-by: Stefan Roese
22 Aug, 2017
1 commit
-
Staticize a few functions and variables which are no longer exposed.
Signed-off-by: Marek Vasut
Cc: Stefan Roese
Signed-off-by: Stefan Roese
27 Oct, 2015
1 commit
-
This patch changes the cword union to use specific length types that are
architecture indepented.This patch also renames the members of the cword union to represent
their usage, i.e.:c -> w8
s -> w16
l -> w32
ll -> w64Where "w" stands for "width" in bits.
I discovered this problem when enabling CFI flash on vexpress64.
cword.l was an unsigned long int, but it was intended to be 32 bits wide.
Unfortunately, it's 64-bits wide on a 64-bit system, meaning that a
64-bit system fails when attempting to use 32-bit wide CFI flash parts.Similar problems also existed with the other cword sizes.
Signed-off-by: Ryan Harkin
Reviewed-by: Linus Walleij
Signed-off-by: Stefan Roese
17 Sep, 2014
1 commit
-
U-Boot has imported various source files from other projects,
mostly Linux.Something like
#ifdef __UBOOT__
[ modification for U-Boot ]
#else
[ original code ]
#endifis an often used strategy for clarification of adjusted parts,
that is, easier re-sync in future.Instead of defining __UBOOT__ in each source file,
passing it from the top Makefile would be easier.Signed-off-by: Masahiro Yamada
Acked-by: Marek Vasut
Acked-by: Heiko Schocher
26 Aug, 2014
2 commits
-
snyc with linux v3.15:
commit 1860e379875dfe7271c649058aeddffe5afd9d0d
Author: Linus Torvalds
Date: Sun Jun 8 11:19:54 2014 -0700Linux 3.15
Signed-off-by: Heiko Schocher
Cc: Scott Wood
Cc: Tom Rini -
resync ubi subsystem with linux:
commit 455c6fdbd219161bd09b1165f11699d6d73de11c
Author: Linus Torvalds
Date: Sun Mar 30 20:40:15 2014 -0700Linux 3.14
A nice side effect of this, is we introduce UBI Fastmap support
to U-Boot.Signed-off-by: Heiko Schocher
Signed-off-by: Tom Rini
Cc: Marek Vasut
Cc: Sergey Lapin
Cc: Scott Wood
Cc: Joerg Krause
22 Nov, 2013
1 commit
-
nand_ecclayout is present in mtd.h at Linux.
Move this structure to mtd.h to comply with Linux.Also, increase the ecc placement locations to 640 to suport device having
writesize/oobsize of 8KB/640B. This means that the maximum oobsize has gone
up to 640 bytes and consequently the maximum ecc placement locations have
also gone up to 640.Changes from Prabhabkar's version (squashed into one patch to preserve
bisectability):
- Added _LARGE to MTD_MAX_*_ENTRIESThis makes the names match current Linux source, and resolves
a conflict between
http://patchwork.ozlabs.org/patch/280488/
and
http://patchwork.ozlabs.org/patch/284513/The former was posted first and is closer to matching Linux, but
unlike Linux it does not add _LARGE to the names. The second adds
_LARGE to one of the names, and depends on it in a subsequent patch
(http://patchwork.ozlabs.org/patch/284512/).- Made max oobfree/eccpos configurable, and used this on tricorder,
alpr, ASH405, T4160QDS, and T4240QDS (these boards failed to build
for me without doing so, due to a size increase).On tricorder SPL, this saves 2576 bytes (and makes the SPL build
again) versus the new default of 640 eccpos and 32 oobfree, and
saves 336 bytes versus the old default of 128 eccpos and 8 oobfree.Signed-off-by: Prabhakar Kushwaha
CC: Vipin Kumar
[scottwood@freescale.com: changes as described above]
Signed-off-by: Scott Wood
Cc: Thomas Weber
Cc: Matthias Fuchs
Cc: Stefan Roese
Cc: York Sun
Cc: Tom Rini
Reviewed-by: Stefan Roese
30 Jul, 2013
1 commit
-
This commit adds some prototypes into include/mtd/cfi_flash.h.
These functions are defined with a weak attribute in
drivers/mtd/cfi_flash.c.
This means they can be overrided by board-specific ones
if necessary.When defining such functions under board/ directory or
somewhere, cfi_flash.h should be included.
This makes sure that board-specfic cfi functions
are defined in a correct prototype.Signed-off-by: Masahiro Yamada
Signed-off-by: Stefan Roese
24 Jul, 2013
1 commit
-
Signed-off-by: Wolfgang Denk
[trini: Fixup common/cmd_io.c]
Signed-off-by: Tom Rini
01 Jun, 2013
2 commits
-
This patch is essentially an update of u-boot MTD subsystem to
the state of Linux-3.7.1 with exclusion of some bits:- the update is concentrated on NAND, no onenand or CFI/NOR/SPI
flashes interfaces are updated EXCEPT for API changes.- new large NAND chips support is there, though some updates
have got in Linux-3.8.-rc1, (which will follow on top of this patch).To produce this update I used tag v3.7.1 of linux-stable repository.
The update was made using application of relevant patches,
with changes relevant to U-Boot-only stuff sticked together
to keep bisectability. Then all changes were grouped together
to this patch.Signed-off-by: Sergey Lapin
[scottwood@freescale.com: some eccstrength and build fixes]
Signed-off-by: Scott Wood
23 May, 2013
1 commit
-
Packed structure cfi_qry contains unaligned 16- and 32-bits members,
accessing which causes problems when cfi_flash driver is compiled with
-munaligned-access option: flash initialization hangs, probably
due to data error.Since the structure is supposed to replicate the actual data layout
in CFI Flash chips, the alignment issue can't be fixed in the structure.
So, unaligned fields need using of explicit unaligned access macros.Signed-off-by: Andrew Gabbasov
Reviewed-By: Albert ARIBAUD
Signed-off-by: Stefan Roese
13 Apr, 2013
1 commit
-
This reverts commit 239cb9d904cfa8ab50d840a47b3306189d695c75.
Signed-off-by: Stefan Roese
02 Apr, 2013
1 commit
-
This commit is based on that patch from aaron.williams@caviumnetworks.com
with same commit title. pulled the same code changes into current u-boot tree.http://patchwork.ozlabs.org/patch/140863/
http://lists.denx.de/pipermail/u-boot/2011-April/089606.htmlThis patch corrects the addresses used when working with Spansion/AMD FLASH chips.
Addressing for 8 and 16 bits is almost identical except in the 16-bit case the
LSB of the address is always 0. The confusion arose because the addresses
in the datasheet for 16-bit mode are word addresses but this code assumed it was
byte addresses.I have only been able to test this on our Octeon boards which use either an 8-bit
or 16-bit bus. I have not tested the case where there's an 8-bit part on a 16-bit
bus.This patch also adds some delays as suggested by Spansion.
If a part can be both 8 and 16-bits, it forces it to work in 8-bit mode if an
8-bit bus is detected.Apart from the pulled changes, fixed few minor code cleanups and tested
on 256M29EW, 512M29EW flashes.Before this fix:
---------------
Bank # 1: CFI conformant flash (8 x 8) Size: 64 MB in 512 Sectors
AMD Standard command set, Manufacturer ID: 0xFF, Device ID: 0xFF
Erase timeout: 4096 ms, write timeout: 2 ms
Buffer write timeout: 5 ms, buffer size: 1024 bytesAfter this fix:
--------------
Bank # 1: CFI conformant flash (8 x 8) Size: 64 MB in 512 Sectors
AMD Standard command set, Manufacturer ID: 0x89, Device ID: 0x7E2301
Erase timeout: 4096 ms, write timeout: 2 ms
Buffer write timeout: 5 ms, buffer size: 1024 bytesSigned-off-by: Aaron Williams
Signed-off-by: Jagannadha Sutradharudu Teki
Tested-by: Jagannadha Sutradharudu Teki
13 Aug, 2012
1 commit
-
Erasing flash sectors protected with persistent protection bit (PPB)
mechanism on Spansion flash chips doesn't work. Add sector protection
status checking and sector lock and unlock commands to fix this.Signed-off-by: Anatolij Gustschin
Cc: Stefan Roese
Signed-off-by: Stefan Roese
17 Dec, 2010
1 commit
-
This patch adds the possibility to (optinally) write to the
flash configuration register. The Intel style CFI chips support
such a register that can be used to configure the operation
mode to a non-default value.This method will be used by the t3corp board, which needs to
configure the DS617 Xilinx flash for async read mode.Signed-off-by: Stefan Roese
20 Sep, 2010
1 commit
-
This patch simplifies the use of CONFIG_SYS_MAX_FLASH_BANKS_DETECT. By
moving these optional variables and defines into the common code, board
specific code is minimized. Currently only the following board use
this feature:APC405, IDS8247, TQM834x
And IDS8247 doesn't seem to really need this feature, since its not
updating the bank number variable at all. So this patch removes the
definition of CONFIG_SYS_MAX_FLASH_BANKS_DETECT from this board port.This new framework will be used by the upcoming lwmon5 update as well.
Signed-off-by: Stefan Roese
Acked-by: Heiko Schocher
Cc: Matthias Fuchs
28 Oct, 2009
1 commit
-
Currently the CFI driver issues both AMD and Intel reset commands.
This is because the driver doesn't know yet which chips are connected.
This dual reset seems to cause problems with the M29W128G chips as
reported by Richard Retanubun. This patch now introduces a weak default
function for the CFI reset command, still with both resets. This can
be overridden by a board specific version if necessary.Signed-off-by: Stefan Roese
Cc: Richard Retanubun
20 Nov, 2008
1 commit
-
This patch adds basic UBI (Unsorted Block Image) support to U-Boot.
It's based on the Linux UBI version and basically has a "OS"
translation wrapper that defines most Linux specific calls
(spin_lock() etc.) into no-ops. Some source code parts have been
uncommented by "#ifdef UBI_LINUX". This makes it easier to compare
this version with the Linux version and simplifies future UBI
ports/bug-fixes from the Linux version.Signed-off-by: Kyungmin Park
Signed-off-by: Stefan Roese