[U-Boot] [Patch v8 4/5] armv8/fsl-lsch3: Add support to load and start MC Firmware
York Sun
yorksun at freescale.com
Mon Jun 23 23:18:44 CEST 2014
In this case, I will have to send a new version to get rid of this check.
York
On 06/23/2014 01:50 PM, Rivera Jose-B46482 wrote:
> 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