[U-Boot] [Patch v8 4/5] armv8/fsl-lsch3: Add support to load and start MC Firmware

Jose Rivera German.Rivera at freescale.com
Mon Jun 23 22:50:48 CEST 2014


The "uname == NULL" check can be removed.

Thanks,

German
________________________________________
From: Sun York-R58495
Sent: Friday, June 20, 2014 3:38 PM
To: Jeroen Hofstee; Rivera Jose-B46482
Cc: albert.u.boot at aribaud.net; Kanetkar Shruti-B44454; u-boot at lists.denx.de
Subject: Re: [U-Boot] [Patch v8 4/5] armv8/fsl-lsch3: Add support to load and start MC Firmware

On 06/20/2014 01:33 PM, Jeroen Hofstee wrote:
> Hi York,
>
> On 20-06-14 20:46, York Sun wrote:
>> From: "J. German Rivera" <German.Rivera at freescale.com>
>>
>> Adding support to load and start the Layerscape Management Complex (MC)
>> firmware. First, the MC GCR register is set to 0 to reset all cores. MC
>> firmware and DPL images are copied from their location in NOR flash to
>> DDR. MC registers are updated with the location of these images.
>> Deasserting the reset bit of MC GCR register releases core 0 to run.
>> Core 1 will be released by MC firmware. Stop bits are not touched for
>> this step. U-boot waits for MC until it boots up. In case of a failure,
>> device tree is updated accordingly. The MC firmware image uses FIT format.
>>
>>
>> +int parse_mc_firmware_fit_image(const void **raw_image_addr,
>> +                            size_t *raw_image_size)
>> +{
>> +    int format;
>> +    void *fit_hdr;
>> +    int node_offset;
>> +    const void *data;
>> +    size_t size;
>> +    const char *uname = "firmware";
>> +
>> +    /* Check if the image is in NOR flash*/
>> +#ifdef CONFIG_SYS_LS_MC_FW_IN_NOR
>> +    fit_hdr = (void *)CONFIG_SYS_LS_MC_FW_ADDR;
>> +#else
>> +#error "No CONFIG_SYS_LS_MC_FW_IN_xxx defined"
>> +#endif
>> +
>> +    /* Check if Image is in FIT format */
>> +    format = genimg_get_format(fit_hdr);
>> +
>> +    if (format != IMAGE_FORMAT_FIT) {
>> +            debug("Not a FIT image\n");
>> +            return 1;
>> +    }
>> +
>> +    if (!fit_check_format(fit_hdr)) {
>> +            debug("Bad FIT image format\n");
>> +            return 1;
>> +    }
>> +
>> +    /* Find node offset of MC Firmware image */
>> +    if (uname == NULL) {
>> +            debug("FIT subimage unit name not provided");
>> +            return 1;
>> +    }
>> +
>
> I don't see how uname can ever be NULL here, since it is
> assigned above.
>

Good question. I think German has a plan to use different name. I will let him
comment.

York



More information about the U-Boot mailing list