[PATCH v2 3/5] cmd: mvebu: bubt: verify A38x target device type
Joel Johnson
mrjoel at lixil.net
Mon Mar 23 16:35:19 CET 2020
On 2020-03-23 04:06, Stefan Roese wrote:
> On 29.01.20 15:50, Joel Johnson wrote:
>> Ensure that the device to which an image is being written includes
>> header information indicating boot support for the destination
>> device.
>>
>> This is derived from the support in the SolidRun master-a38x vendor
>> fork branch.
>>
>> Signed-off-by: Joel Johnson <mrjoel at lixil.net>
>>
>> ---
>>
>> v2 changes:
>> - none
>>
>> ---
>> cmd/mvebu/bubt.c | 49
>> ++++++++++++++++++++++++++++++++++++++++++++++--
>> 1 file changed, 47 insertions(+), 2 deletions(-)
>>
>> diff --git a/cmd/mvebu/bubt.c b/cmd/mvebu/bubt.c
>> index b80b81c82a..78061a6a2d 100644
>> --- a/cmd/mvebu/bubt.c
>> +++ b/cmd/mvebu/bubt.c
>> @@ -107,6 +107,26 @@ struct a38x_main_hdr_v1 {
>> u8 ext; /* 0x1E */
>> u8 checksum; /* 0x1F */
>> };
>> +
>> +#define A38X_BOOT_MODE_MAX 8
>
> Can't you drop this define here...
>
>> +struct a38x_boot_mode {
>> + unsigned int id;
>> + const char *name;
>> +};
>> +
>> +/* The blockid header field values used to indicate boot device of
>> image */
>> +struct a38x_boot_mode a38x_boot_modes[A38X_BOOT_MODE_MAX] = {
>
> ... and use [] here...
>
>> + { 0x4D, "i2c" },
>> + { 0x5A, "spi" },
>> + { 0x69, "uart" },
>> + { 0x78, "sata" },
>> + { 0x8B, "nand" },
>> + { 0x9C, "pex" },
>> + { 0xAE, "mmc" },
>> + {},
>> +};
>> +
>> #endif
>> struct bubt_dev {
>> @@ -644,6 +664,23 @@ static int check_image_header(void)
>> return 0;
>> }
>> #elif defined(CONFIG_ARMADA_38X)
>> +static int a38x_check_boot_mode(const struct bubt_dev *dst)
>> +{
>> + int mode;
>> + const struct a38x_main_hdr_v1 *hdr =
>> + (struct a38x_main_hdr_v1 *)get_load_addr();
>> +
>> + for (mode = 0; mode < A38X_BOOT_MODE_MAX; mode++) {
>
> ... and use ARRAY_SIZE() here instead?
>
> Thanks,
> Stefan
Yes, that'd be better for maintenance for sure, I'll incorporate the
change.
Joel
More information about the U-Boot
mailing list