[U-Boot] [PATCH] doc: Document for generic firmware loader

Lukasz Majewski lukma at denx.de
Mon Dec 18 09:28:08 UTC 2017


Hi Tien,

> From: Tien Fong Chee <tien.fong.chee at intel.com>
> 
> This is initial draft document about generic firmware loader.
> The intention of this patch is open for discussion, and final version
> will be included together with next version release of generic
> firmware loader patchset. Current V3 generic firmware loader patchset
> can be reviewed from
> https://www.mail-archive.com/u-boot@lists.denx.de/msg272028.html
> 
> Signed-off-by: Tien Fong Chee <tien.fong.chee at intel.com>
> ---
>  doc/README.firmware_loader |   77
> ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 77
> insertions(+), 0 deletions(-) create mode 100644
> doc/README.firmware_loader
> 
> diff --git a/doc/README.firmware_loader b/doc/README.firmware_loader
> new file mode 100644
> index 0000000..d250723
> --- /dev/null
> +++ b/doc/README.firmware_loader
> @@ -0,0 +1,77 @@
> +/*
> + * Copyright (C) 2017 Intel Corporation <www.intel.com>
> + *
> + * SPDX-License-Identifier:    GPL-2.0
> + */
> +
> +Introduction
> +------------
> +This is firmware loader for U-Boot framework, which has very close
> to some Linux +Firmware API. For the details of Linux Firmware API,
> you can refer to
> +https://01.org/linuxgraphics/gfx-docs/drm/driver-api/firmware/index.html.
> + +Firmware loader can be used to load whatever(firmware, image, and
> binary) from +the flash in file system format into target location
	  ^^^^^^^^^^^^^^ I suppose that you mean - load binary image
	  from file system put on flash?

> such as memory, then +consumer driver such as FPGA driver can program
> FPGA image from the target +location into FPGA.
> +
> +Firmware Loader API core features
> +---------------------------------
> +=> Firmware storage device partition search  
> +   ----------------------------------------
> +   =>	Default storage device partition search set for mmc,
> usb and sata
> +	as shown in below:
> +	static struct device_location default_locations[] = {
> +		{
> +			.name = "mmc",
> +			.devpart = "0:1",
> +		},
> +		{
> +			.name = "usb",
> +			.devpart = "0:1",
> +		},
> +		{
> +			.name = "sata",
> +			.devpart = "0:1",
> +		},
> +	};
> +
> +	However, the default storage device .devpart value can be
> overwritten
> +	with value which is defined in the environment variable
> "FW_DEV_PART".
> +	For example: env_set("FW_DEV_PART", "0:2");
			      ^^^^^^^^^^ - u-boot normally uses lower
			      case for env variable naming.

> +
> +Firmware Loader API
> +-------------------
> +=> int request_firmware_into_buf(struct firmware **firmware_p,  
> +			      const char *name,
> +			      struct device_location *location,
> +			      void *buf, size_t size, u32 offset)
> +   --------------------------------------------------------------
> +   =>	Load firmware into a previously allocated buffer
> +
> +	Parameters:
> +	struct firmware **firmware_p
> +		pointer to firmware image
> +
> +	const char *name
> +		name of firmware file
> +
> +	struct device_location *location
> +		an array of supported firmware location
> +
> +	void *buf
> +		address of buffer to load firmware into
> +
> +	size_t size
> +		size of buffer
> +
> +	u32 offset
> +		offset of a file for start reading into buffer
> +
> +	return: size of total read
> +	   	-ve when error
> +	
> +	Description:
> +	The firmware is loaded directly into the buffer pointed to
> by buf and
> + 	the @firmware_p data member is pointed at buf.
> +



Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20171218/7283ae6b/attachment.sig>


More information about the U-Boot mailing list