| Commit message (Collapse) | Author | Age | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"ERROR: device is LOCKed!"
The issue occurs when the "fbmisc" partition is empty.
So the decode data is not same as plain text, then goto lock status.
When "gpt" change from invalid to valid, set unlock status can fix it.
When set unlock status, will fist check current status, if unlock, do nothing.
In the previous code, when check lock status, since not re-load partition table
to memory, fail to find "fbmisc" partition, So just return unlock status.
To fix it, when "gpt" change from invalid to valid, fisrt re-load partition
table, then set unlock status.
Change-Id: Iec6cfe6bf1030b986d2b839f9c81a3e048d91dcd
Signed-off-by: fang hui <hui.fang@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
after flash "gpt" partition.
The issue occurs when slot is ok but gpt partiton is damaged.
After "fastboot flash gpt", the partition table in memory still
has just two entries(gpt and bootloader).
When run "fastboot reboot bootloader", the command should write to
the "misc" partiton. But no entry in the partition table in memory.
After "fastboot flash gpt", Re-load the partition table to memory
can fix it.
Change-Id: I5d3664962aaba12f718e4d7be58e7a223db47746
Signed-off-by: fang hui <hui.fang@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
| |
* use caam encrypted fastboot LOCK/UNLOCK for 7d;
* add CONFIG_AVB_SUPPORT; as 7d doesn't have enough FUSE bits to
store RPMB key, use the "fault" fuse bank size 0 to disable
write/read to fuse, also not set CONFIG_AVB_FUSE to prevent any
possiable key write to RPMB.
Change-Id: I7d75d9bf465feada2b1204615da3c127c8f10b69
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
|
| |
open caam's clock gate in 7d, add caam related configs.
Change-Id: I56351e3fcdbee96911d0c510990ba8fcd05c457f
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
|
| |
really program to FUSE in order to store RPMB key
Change-Id: I4191aefb3e72530d6f2c28e4a9956513cb166f3e
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
|
|
|
|
| |
use rpmb to store public key/rollback index for avb.
rpmb's key will be generated by caam hw rng , then
caam encrypted and programmed to fuse;
CONFIG_AVB_FUSE need to be set.
Change-Id: Ic0c534420299b450f7aa11f1a2616c5fcf06513b
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
|
|
|
| |
extract block margin ops from fsl_avb.c to utils
will be used in other modules.
protect it from 0 blksz input.
Change-Id: I5e81774dfb7d7d3377299241616c68ec22ba425c
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
|
| |
add caam based hwrng
Change-Id: Ifabc4ec9da5531e1f1804587901a5dc438db99df
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
|
|
| |
as uboot didn't officially support emmc version > 5.0
force use 5.0 if hardware is 5.1
Change-Id: If18b0d721d44ce7c87c59b17d6090db094e8b75d
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
| |
Change-Id: I7704dacd129d97548b4d2f130ba48dff4d32370e
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
|
| |
Execute fastboot command on normal boot failure
Change-Id: Idbe6d74b2ba4ace97a44f0659db84c74b1f02b25
Signed-off-by: Chen Guoyin <guoyin.chen@nxp.com>
|
|
|
|
|
|
|
|
|
|
| |
Add CONFIG_SYSTEM_RAMDISK_SUPPORT to support system's ramdisk
* Normal boot: cmdline to bypass ramdisk in boot.img, but use
the one from related slot's system.img
* Recovery boot: Use the ramdisk in boot.img
Change-Id: I6f429fec54fd5039d136e488ed218d73e3716938
Signed-off-by: Chen Guoyin <guoyin.chen@nxp.com>
|
|
|
|
|
|
|
|
| |
do the same thing in 927e32925f456345d3d3daa3172a5dea11cabe8f
move it to libavb_ab
Change-Id: I4125efa842b378b285ed6b61ba827fb8e2679065
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
|
|
| |
google split A/B metadata management and slot verify to 2 libs,
move fsl_avb on top of them to use libavb/libavb_ab.
Change-Id: I02518d12208ec0df7f63f1da74684b6da5473aec
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
|
|
|
| |
update avb to:
https://android.googlesource.com/platform/external/avb/
commit:baf59e232e48d0111e4b38f74c60c89e6f8f0b14
Change-Id: I4bff97d5bbd819217e25367b69a220400c7095af
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
|
|
| |
Set the args androidboot.slot_suffix based on the real selected slot in
unlock state
Change-Id: I83e60a346d52e3fbba708f26595400df1af77383
Signed-off-by: Chen Guoyin <guoyin.chen@nxp.com>
|
|
|
|
|
|
|
| |
"imx6ul_iopb" for iopb board, "imx6ul_pico" pico board
Change-Id: If7ec3afaf4a278a6ec86fbfd863a7632d16beb51
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
|
|
|
| |
avb should not touch a/b metadata in UNLOCK state,
otherwise if verifies fail, a/b metadata is set to
unbootable and leads to boot from an unbootable slot.
Change-Id: I6638e4b1b5c154b01272f1a1c81302b443e0b2d5
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
|
|
|
| |
if avb verifies fail in UNLOCK, modify fsl_bootctl
to read a/b metadata, select curr slot based on
metadata.
Change-Id: Ic34a687bb4eb1f07bf58338ad7a995f241fdeec0
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
|
|
|
| |
modify get_slotvar in bootctl, buffer contains error string if
fails; add FAIL to cb_getvar's response buffer if the input
var is not defined.
Change-Id: I91d60a434b654030457f1e6e7f3d067bfb179297
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
|
|
| |
return 2 for getvar 'slog-count' as there are 2
slots
Change-Id: I273d8d24fccef09ab24a21cae2f4c9028255b118
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
|
|
| |
new version of fastboot set_active sends 'a'/'b'
instead of '_a'/'_b'
Change-Id: I1c56f9401e82cba6801e4eff59d413ce5a2617c7
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Remove recovery/bootloader mode checking based on snvs register
* Use the API fastboot_run_bootmode() as the entry to check different
boot mode
* Set boot mode based on commands stored in bcb structure to align
Android's bootloader_message_writer.cpp
bootonce-bootloader -- > Fastboot mode
boot-recovery -- > Recovery mode
* Rename the recovery.c as recovery_keypad.c as only handle keypad
Change-Id: If34bee0c78bdca252e33296d61443d01a8fc8e96
Signed-off-by: Chen Guoyin <guoyin.chen@nxp.com>
|
|
|
|
|
|
|
|
|
| |
if device has no avbkey partition, rbk idx erase
fails in 'fastboot unlock', host will get FAIL
although unlock is already done.
do not check the rbk idx erase's return
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
| |
use FASTBOOT_PARTITION_AVBKEY defined in fsl_fastboot.h
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
|
| |
Remove the log in uboot when no valid partition can be found
"Partition:'<NULL>' does not exist"
Signed-off-by: Chen Guoyin <guoyin.chen@nxp.com>
|
|
|
|
|
|
|
| |
Make all partitions can be flashed by sparse image if it is
in raw format
Signed-off-by: Chen Guoyin <guoyin.chen@nxp.com>
|
|
|
|
|
|
| |
change CONFIG_FSL_BOOTCTL to CONFIG_AVB_SUPPORT
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
| |
change CONFIG_FSL_BOOTCTL to CONFIG_AVB_SUPPORT
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
|
| |
CONFIG_AVB_FUSE to PERMANENT write to fuse, or just
write/read the shadow fuse register.
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
avb's verify process adds cmdline from the vbmeta generated
by avbtoo's option '-kernel_cmdlines'.
this additional kernel cmdline is consist of below items:
dm="1 vroot none ro 1,0 ..."
androidboot.slot_suffix=_a
androidboot.vbmeta.device_state=locked
androidboot.vbmeta.hash_alg=sha256
androidboot.vbmeta.size=2944
androidboot.vbmeta.digest=...
these items are used either by dm-verity or by system service
after boot.
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* support avb in picosom/evk_6ul boards;
* use CONFIG_FSL_BOOTCTL instead of CONFIG_BRILLO_SUPPORT
to separate using FSL version of bootctl or not;
* separate all avb part with CONFIG_AVB_SUPPORT;
* in picosom/evk_6ul board config headers:
modify malloc size as avb needs to load the whole bootimage;
add partition uuid which libavb needs.
* add avb verify in boota;
* add bootctl set_active cb using libavb's interface;
* add bootctl getvar cb using libavb's interface;
* add vbmeta_a/b partition to store vbmeta image, add avbkey
partition to store avb related keyblob;
* add LOCK/UNLOCK for avb;
if in LOCK state, verify fail will cause boot fail;
if in UNLOCK state, verify fail only print a msg and
go on boot the "_a" slot, maybe it's better to use bootctl
to select the bootable slot, but libavb doesn't have this
interface exported.
switch from LOCK to UNLOCK causes a erase of rollback_index
in avbkey partition.
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
| |
modify AVB_MAX_NUMBER_OF_ROLLBACK_INDEX_SLOTS to 4
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
|
|
|
| |
* add fsl uboot version of AvbOps;
* export some bootctl interface from libavb;
* save avb public key and rollback index using
keyblob encrypted by caam;
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
| |
use gun99, add sysdeps for uboot env.
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
|
|
|
|
| |
init libavb from git:
https://android.googlesource.com/platform/external/avb/
commit:
4cc9652142693767098d5d96fccc822cefaf63de
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
| |
free bdata if needed
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
|
| |
use partition name instead of part_index for fbmisc/data/prdata
partitions.
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
|
| |
use type FbLockState for state LOCK/UNLOCK,
use type FbLockEnableResult for DISABLE/ENABLE unlock device.
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
| |
unify support for android/brillo.
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
| |
unify partition index for GPT/MBR and android/brillo.
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
|
| |
better move partition_table_valid to f_fastboot as it's
not related with lock/unlock function.
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
|
| |
use partition name instead of part_index in rw_block
get partition from the ptable loaded by fastboot
Signed-off-by: Winter Wang <wente.wang@nxp.com>
|
|
|
|
|
|
|
| |
add iopb config in board/freescale/mx6ul_nxpu_iopb
add brillo config in include/configs/mx6ul_nxpu_iopb.h
Signed-off-by: fang hui <hui.fang@nxp.com>
|
|
|
|
|
|
|
| |
Need the CONFIG_MX6 for using the mx6_ecspi_fused funtion, otherwise will
break build for other platforms like MX7.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
| |
Some type style problems found by review-commits for previous patch
MLK-12483, fix them in this patch and re-check.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
| |
Enable the configurations CONFIG_MODULE_FUSE and CONFIG_OF_SYSTEM_SETUP for
module fuse check. And modify board level codes for SD, FEC and EIM.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
|
|
|
| |
Add the fuse checking in drivers, when the module is disabled in fuse,
the driver will not work.
Changed drivers: BEE, GPMI, APBH-DMA, ESDHC, FEC, QSPI, ECSPI, I2C,
USB-EHCI, GIS, LCDIF.
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement a functionality to read the soc fuses and check if any module
is fused. For fused module, we have to disable it in u-boot dynamically,
and change the its node in FDT to "disabled" status before starting the kernel.
In this patch, we implement the ft_system_setup for FDT fixup. This function will
be called during boot process or by "fdt systemsetup" command.
To enable the module fuse checking, two configurations must be defined:
CONFIG_MODULE_FUSE
CONFIG_OF_SYSTEM_SETUP
Signed-off-by: Ye Li <ye.li@nxp.com>
|
|
|
|
|
|
|
| |
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>
|