tmp_suning_uos_patched/drivers/mtd
Linus Walleij b7cf5e2830 mtd: afs: add v2 partition parsing
The AFS v2 partition type appear in later ARM reference designs
such as RealView, Versatile Express and the 64bit Juno Development
Platform.

The image informations is padded with a 32bit word (4 bytes) on
the 32bit platforms and a 64bit word (8 bytes) on the 64bit
platforms. The boot monitor source code gives at hand that this
is because the first entry in the struct mapped over the image
information is a "next" pointer for a linked list, filled in
by firmware after reading in the info block, and always zero
in the flash. We adjust padding by checking what padding gives
the right checksum.

This was tested on:
- Integrator/AP (v1 partitions)
- RealView PB11MPCore (v2 32bit partitions)
- Juno Development System (v2 64bit partitions)

All systems display the images in flash very nicely as separate
partitions, e.g on Juno:

4 afs partitions found on MTD device 8000000.flash
Creating 4 MTD partitions on "8000000.flash":
0x000000040000-0x0000000c0000 : "fip"
0x000000ec0000-0x0000018c0000 : "Image"
0x000000f00000-0x000000f40000 : "juno"
0x000003ec0000-0x000003f00000 : "bl1"

Cc: Ryan Harkin <ryan.harkin@linaro.org>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Richard Weinberger <richard@nod.at>
2019-05-06 21:57:03 +02:00
..
chips mtd: cfi: fix deadloop in cfi_cmdset_0002.c do_write_buffer 2019-04-05 00:39:19 +02:00
devices mtd: nand: Clarify Kconfig entry for software BCH ECC algorithm 2019-04-18 08:54:00 +02:00
lpddr mtd: lpddr: Use struct_size() in kzalloc() 2019-01-15 20:49:33 +01:00
maps mtd: maps: Make uclinux_ram_map static 2019-05-06 21:47:01 +02:00
nand mtd: nandsim: switch to exec_op interface 2019-04-18 08:54:08 +02:00
parsers mtd: afs: add v2 partition parsing 2019-05-06 21:57:03 +02:00
spi-nor spi-nor: intel-spi: Add support for Intel Comet Lake SPI serial flash 2019-05-06 11:18:02 +03:00
tests mtd: rawnand: Clarify Kconfig entry MTD_NAND 2019-04-18 08:54:00 +02:00
ubi ubi: wl: Silence uninitialized variable warning 2019-03-05 21:21:07 +01:00
ar7part.c mm: remove include/linux/bootmem.h 2018-10-31 08:54:16 -07:00
bcm47xxpart.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
bcm63xxpart.c mtd: bcm63xxpart: move imagetag parsing to its own parser 2019-05-06 21:46:45 +02:00
cmdlinepart.c mtd: cmdlinepart: Update comment for introduction of OFFSET_CONTINUOUS 2018-05-23 10:08:48 +02:00
ftl.c treewide: Use array_size() in vmalloc() 2018-06-12 16:19:22 -07:00
inftlcore.c
inftlmount.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
Kconfig mtd: afs: Move AFS partition parser to parsers subdir 2019-05-06 21:48:46 +02:00
Makefile mtd: afs: Move AFS partition parser to parsers subdir 2019-05-06 21:48:46 +02:00
mtd_blkdevs.c mtd_blkdevs: convert to blk-mq 2018-10-16 08:09:58 -06:00
mtdblock_ro.c
mtdblock.c mtd: change len type from signed to unsigned type 2018-12-03 11:32:26 +01:00
mtdchar.c mtdchar: fix overflows in adjustment of count 2018-07-18 16:46:38 +02:00
mtdconcat.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
mtdcore.c MTD changes: 2019-03-04 18:59:37 -08:00
mtdcore.h mtd: Check add_mtd_device() ret code 2019-01-07 14:06:24 +01:00
mtdoops.c treewide: Use array_size() in vmalloc() 2018-06-12 16:19:22 -07:00
mtdpart.c mtd: Make sure mtd->erasesize is valid even if the partition is of size 0 2019-02-06 00:02:51 +01:00
mtdsuper.c
mtdswap.c mtd: use DEFINE_SHOW_ATTRIBUTE() instead of open-coding it 2018-12-03 11:32:26 +01:00
nftlcore.c
nftlmount.c mtd: nftl: clean up indentation, remove extraneous tabs 2018-12-02 09:20:36 +01:00
ofpart.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
rfd_ftl.c treewide: Use array_size() in vmalloc() 2018-06-12 16:19:22 -07:00
sm_ftl.c mtd: nand: Clarify Kconfig entry for software Hamming ECC entries 2019-04-18 08:54:00 +02:00
sm_ftl.h
ssfdc.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00