Age | Commit message (Collapse) | Author |
|
Badblocks may cause drift so use some heuristics and just skip block and
try again if NVIDIA partition table is not found.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
The new production lot of Apalis T30 2GB V1.0C now features the new SK
Hynix H26M42003GMR rather than Hynix H26M42002GMR. Even though both
chips feature the same silicon they differ in respective eMMC firmware
and therefore have a different hardware boot partition layout.
This patch enables hardware boot partition support (via 'mmc dev [dev]
[part]' command) and handles NVIDIA's proprietary NvFlash/Fastboot\
behaviour now putting their partition table in the second boot
partition rather than the regular user area.
While at it also get rid of the spurious 'video=tegrafb' kernel boot
argument, adjust the optional ubiargs and add 'noatime' to the usbargs.
|
|
In preparation for the new Apalis T30 SKUs implement eMMC PT offset
auto detection.
The PT offset has been calculated from the .cfg eMMC partition
configuration file using virtual linearised addressing across all eMMC
regions as expected by nvflash.
Due to the lack of a region control mechanism in nvflash/.cfg flashing
utility in order to obtain the actual PT offset from the start of the
user region the size of the boot regions must be subtracted.
An eMMC device is specified to have 0 or 2 boot regions and they must
have the same size ranging from 0 to 2 MiB. The boot region size can be
queried from the device through the BOOT_SIZE_MULT field of the
response to the EXT_CSD command sequence.
Tested on initial samples of Apalis T30 1GB V1.0A,
Apalis T30 2GB V1.0B, Apalis T30 2GB V1.0C and Colibri T30 V1.1C.
|
|
Add initial Apalis T30 support based off our current Colibri T30
implementation:
- Updated machine ID.
- USB host USBH2 and USBH3 support. Note: USBO1 support is currently broken.
- Updated MMC and SD card support.
- Adjusted available amount of memory.
|
|
NVIDIA's MMC/SD layout includes a partition table that can be used to
generically determine U-Boot environment, kernel, configuration block
as well as GPT offsets. As an added benefit this is completely
independent of the underlying MMC/SD card used which might differ with
various future module versions or particularly cards used for T20 SD
boot. Also handles the case of T20 SD boot where the configuration
block is still taken from NAND flash while the rest resides on the SD
card.
Initial partition table parsing courtesy of Mitja Špes from LXNAV.
|
|
If the USR partition we usually mount as root file system could not be
found which is e.g. the case for Android make sure mtdparts does not
start with a spurious coma separator the kernel would interpret as an
empty partition entry.
|
|
If booting from SD card BCT contains information specific to SD card
partition layout which is bogus if used for NAND partition parsing.
Simply fall back to default offset just like in recovery BCT case.
Note: in the future we could parse SD partition table as well to more
generically support SD booting from various card densities.
|
|
NVIDIA's NAND layout includes a partition table that can be used to
generically construct the mtdparts kernel boot argument. As an added
benefit this is completely independent of the underlying NAND part
used which differs with various module versions. It further allows our
customer easy adoption to their own custom partition layout.
Initial partition table parsing courtesy of Mitja Špes from LXNAV.
|