All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v3 0/2] Generic firmware loader
@ 2017-12-12 11:56 tien.fong.chee at intel.com
  2017-12-12 11:56 ` [U-Boot] [PATCH v3 1/2] spl: Remove static declaration on spl_mmc_find_device function tien.fong.chee at intel.com
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: tien.fong.chee at intel.com @ 2017-12-12 11:56 UTC (permalink / raw)
  To: u-boot

From: Tien Fong Chee <tien.fong.chee@intel.com>

This patchset contains generic firmware loader which is very close to Linux
firmware loader but for U-Boot framework. Generic firmware loader can be used
load whatever into target location, and then consumer driver would use it to
program whatever, ie. the FPGA. This version mainly resolved comments from
Lothar Waßmann in [v2].

This series is working on top of u-boot.git -
 http://git.denx.de/u-boot.git .

[v2]: https://www.mail-archive.com/u-boot at lists.denx.de/msg271979.html

v2 -> v3 changes:
-----------------
- Fixed the bugs in generic firmware loader driver.

Patchset history
----------------
[v1]: https://www.mail-archive.com/u-boot at lists.denx.de/msg271905.html

Tien Fong Chee (2):
  spl: Remove static declaration on spl_mmc_find_device function
  common: Generic firmware loader for file system

 common/Makefile      |   1 +
 common/fs_loader.c   | 305 +++++++++++++++++++++++++++++++++++++++++++++++++++
 common/spl/spl_mmc.c |   2 +-
 include/fs_loader.h  |  33 ++++++
 include/spl.h        |   2 +
 5 files changed, 342 insertions(+), 1 deletion(-)
 create mode 100644 common/fs_loader.c
 create mode 100644 include/fs_loader.h

-- 
2.2.0

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH v3 1/2] spl: Remove static declaration on spl_mmc_find_device function
  2017-12-12 11:56 [U-Boot] [PATCH v3 0/2] Generic firmware loader tien.fong.chee at intel.com
@ 2017-12-12 11:56 ` tien.fong.chee at intel.com
  2017-12-12 11:56 ` [U-Boot] [PATCH v3 2/2] common: Generic firmware loader for file system tien.fong.chee at intel.com
  2017-12-12 15:51 ` [U-Boot] [PATCH v3 0/2] Generic firmware loader Marek Vasut
  2 siblings, 0 replies; 10+ messages in thread
From: tien.fong.chee at intel.com @ 2017-12-12 11:56 UTC (permalink / raw)
  To: u-boot

From: Tien Fong Chee <tien.fong.chee@intel.com>

This patch removes the static declation on spl_mmc_find_device_function
so this function is accessible by the caller from other file. This patch
is required for later patch.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
---
 common/spl/spl_mmc.c | 2 +-
 include/spl.h        | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c
index b57e0b0..183d05a 100644
--- a/common/spl/spl_mmc.c
+++ b/common/spl/spl_mmc.c
@@ -114,7 +114,7 @@ static int spl_mmc_get_device_index(u32 boot_device)
 	return -ENODEV;
 }
 
-static int spl_mmc_find_device(struct mmc **mmcp, u32 boot_device)
+int spl_mmc_find_device(struct mmc **mmcp, u32 boot_device)
 {
 #if CONFIG_IS_ENABLED(DM_MMC)
 	struct udevice *dev;
diff --git a/include/spl.h b/include/spl.h
index 308ce7b..912983a 100644
--- a/include/spl.h
+++ b/include/spl.h
@@ -10,6 +10,7 @@
 /* Platform-specific defines */
 #include <linux/compiler.h>
 #include <asm/spl.h>
+#include <mmc.h>
 
 /* Value in r0 indicates we booted from U-Boot */
 #define UBOOT_NOT_LOADED_FROM_SPL	0x13578642
@@ -72,6 +73,7 @@ void preloader_console_init(void);
 u32 spl_boot_device(void);
 u32 spl_boot_mode(const u32 boot_device);
 void spl_set_bd(void);
+int spl_mmc_find_device(struct mmc **mmcp, u32 boot_device);
 
 /**
  * spl_set_header_raw_uboot() - Set up a standard SPL image structure
-- 
2.2.0

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH v3 2/2] common: Generic firmware loader for file system
  2017-12-12 11:56 [U-Boot] [PATCH v3 0/2] Generic firmware loader tien.fong.chee at intel.com
  2017-12-12 11:56 ` [U-Boot] [PATCH v3 1/2] spl: Remove static declaration on spl_mmc_find_device function tien.fong.chee at intel.com
@ 2017-12-12 11:56 ` tien.fong.chee at intel.com
  2017-12-12 14:12   ` Lothar Waßmann
  2017-12-13 10:18   ` Prabhakar Kushwaha
  2017-12-12 15:51 ` [U-Boot] [PATCH v3 0/2] Generic firmware loader Marek Vasut
  2 siblings, 2 replies; 10+ messages in thread
From: tien.fong.chee at intel.com @ 2017-12-12 11:56 UTC (permalink / raw)
  To: u-boot

From: Tien Fong Chee <tien.fong.chee@intel.com>

This is file system generic loader which can be used to load
the file image from the storage into target such as memory.
The consumer driver would then use this loader to program whatever,
ie. the FPGA device.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
---
 common/Makefile     |   1 +
 common/fs_loader.c  | 305 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 include/fs_loader.h |  33 ++++++
 3 files changed, 339 insertions(+)
 create mode 100644 common/fs_loader.c
 create mode 100644 include/fs_loader.h

diff --git a/common/Makefile b/common/Makefile
index cec506f..2934221 100644
--- a/common/Makefile
+++ b/common/Makefile
@@ -130,3 +130,4 @@ obj-$(CONFIG_CMD_DFU) += dfu.o
 obj-y += command.o
 obj-y += s_record.o
 obj-y += xyzModem.o
+obj-y += fs_loader.o
diff --git a/common/fs_loader.c b/common/fs_loader.c
new file mode 100644
index 0000000..59214d6
--- /dev/null
+++ b/common/fs_loader.c
@@ -0,0 +1,305 @@
+/*
+ * Copyright (C) 2017 Intel Corporation <www.intel.com>
+ *
+ * SPDX-License-Identifier:    GPL-2.0
+ */
+
+#include <common.h>
+#include <errno.h>
+#include <fs.h>
+#include <fs_loader.h>
+#include <nand.h>
+#include <sata.h>
+#include <spi.h>
+#include <spi_flash.h>
+#include <spl.h>
+#include <linux/string.h>
+#include <usb.h>
+
+static struct device_location default_locations[] = {
+	{
+		.name = "mmc",
+		.devpart = "0:1",
+	},
+	{
+		.name = "usb",
+		.devpart = "0:1",
+	},
+	{
+		.name = "sata",
+		.devpart = "0:1",
+	},
+};
+
+/* USB build is not supported yet in SPL */
+#ifndef CONFIG_SPL_BUILD
+#ifdef CONFIG_USB_STORAGE
+static int init_usb(void)
+{
+	int err;
+
+	err = usb_init();
+	if (err)
+		return err;
+
+#ifndef CONFIG_DM_USB
+	err = usb_stor_scan(1) < 0 ? -ENODEV : 0;
+#endif
+
+	return err;
+}
+#else
+static int init_usb(void)
+{
+	printf("Error: Cannot load flash image: no USB support\n");
+	return -ENOSYS;
+}
+#endif
+#endif
+
+#ifdef CONFIG_SATA
+static int init_storage_sata(void)
+{
+	return sata_probe(0);
+}
+#else
+static int init_storage_sata(void)
+{
+	printf("Error: Cannot load image: no SATA support\n");
+	return -ENOSYS;
+}
+#endif
+
+#ifdef CONFIG_CMD_UBIFS
+static int mount_ubifs(struct device_location *location)
+{
+	int ret;
+	char cmd[32];
+
+	sprintf(cmd, "ubi part %s", location->mtdpart);
+
+	ret = run_command(cmd, 0);
+	if (ret)
+		return ret;
+
+	sprintf(cmd, "ubifsmount %s", location->ubivol);
+
+	ret = run_command(cmd, 0);
+
+	return ret;
+}
+
+static int umount_ubifs(void)
+{
+	return run_command("ubifsumount", 0);
+}
+#else
+static int mount_ubifs(struct device_location *location)
+{
+	printf("Error: Cannot load image: no UBIFS support\n");
+	return -ENOSYS;
+}
+#endif
+
+#if defined(CONFIG_SPL_MMC_SUPPORT) && defined(CONFIG_SPL_BUILD)
+static int init_mmc(void)
+{
+	/* Just for the case MMC is not yet initialized */
+	struct mmc *mmc = NULL;
+	int err;
+
+	spl_mmc_find_device(&mmc, spl_boot_device());
+
+	err = mmc_init(mmc);
+	if (err) {
+		printf("spl: mmc init failed with error: %d\n", err);
+		return err;
+	}
+
+	return err;
+}
+#else
+static int init_mmc(void)
+{
+	/* Expect somewhere already initialize MMC */
+	return 0;
+}
+#endif
+
+static int select_fs_dev(struct device_location *location)
+{
+	int ret;
+
+	if (!strcmp("mmc", location->name)) {
+		ret = fs_set_blk_dev("mmc", location->devpart, FS_TYPE_ANY);
+	} else if (!strcmp("usb", location->name)) {
+		ret = fs_set_blk_dev("usb", location->devpart, FS_TYPE_ANY);
+	} else if (!strcmp("sata", location->name)) {
+		ret = fs_set_blk_dev("sata", location->devpart, FS_TYPE_ANY);
+	} else if (!strcmp("ubi", location->name)) {
+		if (location->ubivol != NULL)
+			ret = fs_set_blk_dev("ubi", NULL, FS_TYPE_UBIFS);
+		else
+			ret = -ENODEV;
+	} else {
+		printf("Error: unsupported location storage.\n");
+		return -ENODEV;
+	}
+
+	if (ret)
+		printf("Error: could not access storage.\n");
+
+	return ret;
+}
+
+static int init_storage_device(struct device_location *location)
+{
+	int ret;
+
+	if (!strcmp("mmc", location->name)) {
+		ret = init_mmc();
+	} else if (!strcmp("sata", location->name)) {
+		ret = init_storage_sata();
+	} else if (location->ubivol != NULL) {
+		ret = mount_ubifs(location);
+#ifndef CONFIG_SPL_BUILD
+	/* USB build is not supported yet in SPL */
+	} else if (!strcmp("usb", location->name)) {
+		ret = init_usb();
+#endif
+	} else {
+		printf("Error: no supported storage device is available.\n");
+		ret = -ENODEV;
+	}
+
+	return ret;
+}
+
+static void set_storage_devpart(char *name, char *devpart)
+{
+	size_t i;
+
+	for (i = 0; i < ARRAY_SIZE(default_locations); i++) {
+		if (!strcmp(default_locations[i].name, name))
+			default_locations[i].devpart = devpart;
+	}
+}
+
+/*
+ * Prepare firmware struct;
+ * return -ve if fail.
+ */
+static int _request_firmware_prepare(struct firmware **firmware_p,
+				     const char *name, void *dbuf,
+				     size_t size, u32 offset)
+{
+	struct firmware *firmware = NULL;
+	struct firmware_priv *fw_priv = NULL;
+
+	*firmware_p = NULL;
+
+	if (!name || name[0] == '\0')
+		return -EINVAL;
+
+	*firmware_p = firmware = calloc(1, sizeof(*firmware));
+
+	if (!firmware) {
+		printf("%s: calloc(struct firmware) failed\n", __func__);
+		return -ENOMEM;
+	}
+
+	fw_priv = calloc(1, sizeof(*fw_priv));
+
+	if (!fw_priv) {
+		printf("%s: calloc(struct fw_priv) failed\n", __func__);
+		return -ENOMEM;
+	}
+
+	fw_priv->name = name;
+	fw_priv->offset = offset;
+	firmware->data = dbuf;
+	firmware->size = size;
+	firmware->priv = fw_priv;
+
+	return 0;
+}
+
+/*
+ * fw_get_filesystem_firmware - load firmware into an allocated buffer
+ * @firmware_p: pointer to firmware image
+ * @location: An array of supported firmware location
+ *
+ * @return: size of total read
+ *	    -ve when error
+ */
+static int fw_get_filesystem_firmware(struct device_location *location,
+				      struct firmware *firmware_p)
+{
+	struct firmware_priv *fw_priv = NULL;
+	loff_t actread;
+	char *dev_part;
+	int ret;
+
+	dev_part = env_get("FW_DEV_PART");
+	if (dev_part)
+		set_storage_devpart(location->name, dev_part);
+
+	ret = init_storage_device(location);
+	if (ret)
+		goto out;
+
+	select_fs_dev(location);
+	if (ret)
+		goto out;
+
+	fw_priv = (struct firmware_priv *)firmware_p->priv;
+
+	ret = fs_read(fw_priv->name, (ulong)firmware_p->data, fw_priv->offset,
+		     firmware_p->size, &actread);
+
+	if (ret || (actread != firmware_p->size)) {
+		printf("Error: %d Failed to read %s from flash %lld != %d.\n",
+		      ret, fw_priv->name, actread, firmware_p->size);
+		return -EPERM;
+	} else {
+		ret = actread;
+	}
+
+out:
+#ifdef CONFIG_CMD_UBIFS
+	if (location->ubivol != NULL)
+		umount_ubifs();
+#endif
+
+	return ret;
+}
+
+/*
+ * request_firmware_into_buf - load firmware into a previously allocated buffer
+ * @firmware_p: pointer to firmware image
+ * @name: name of firmware file
+ * @buf: address of buffer to load firmware into
+ * @size: size of buffer
+ * @offset: offset of a file for start reading
+ *
+ * This firmware is loaded directly into the buffer pointed to by @buf and
+ * the @firmware_p data member is pointed at @buf.
+ *
+ * @return: size of total read
+ *	    -ve when error
+ */
+int request_firmware_into_buf(struct firmware **firmware_p,
+			      const char *name,
+			      struct device_location *location,
+			      void *buf, size_t size, u32 offset)
+{
+	int ret;
+
+	ret = _request_firmware_prepare(firmware_p, name, buf, size, offset);
+	if (ret < 0) /* error */
+		return ret;
+
+	ret = fw_get_filesystem_firmware(location, *firmware_p);
+
+	return ret;
+}
diff --git a/include/fs_loader.h b/include/fs_loader.h
new file mode 100644
index 0000000..35a6b5b
--- /dev/null
+++ b/include/fs_loader.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2017 Intel Corporation <www.intel.com>
+ *
+ * SPDX-License-Identifier:    GPL-2.0
+ */
+#ifndef _FS_LOADER_H_
+#define _FS_LOADER_H_
+
+#include <linux/types.h>
+
+struct firmware_priv {
+	const char *name;	/* Filename */
+	u32 offset;		/* Offset of reading a file */
+};
+
+struct firmware {
+	size_t size;		/* Size of a file */
+	const u8 *data;		/* Buffer for file */
+	void *priv;		/* Firmware loader private fields */
+};
+
+struct device_location {
+	char *name;	/* Such as mmc, usb,and sata. */
+	char *devpart;  /* Use the load command dev:part conventions */
+	char *mtdpart;	/* MTD partition for ubi part */
+	char *ubivol;	/* UBI volume-name for ubifsmount */
+};
+
+int request_firmware_into_buf(struct firmware **firmware_p,
+			      const char *name,
+			      struct device_location *location,
+			      void *buf, size_t size, u32 offset);
+#endif
-- 
2.2.0

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH v3 2/2] common: Generic firmware loader for file system
  2017-12-12 11:56 ` [U-Boot] [PATCH v3 2/2] common: Generic firmware loader for file system tien.fong.chee at intel.com
@ 2017-12-12 14:12   ` Lothar Waßmann
  2017-12-13  4:38     ` Chee, Tien Fong
  2017-12-13 10:18   ` Prabhakar Kushwaha
  1 sibling, 1 reply; 10+ messages in thread
From: Lothar Waßmann @ 2017-12-12 14:12 UTC (permalink / raw)
  To: u-boot

Hi,

On Tue, 12 Dec 2017 19:56:17 +0800 tien.fong.chee at intel.com wrote:
> From: Tien Fong Chee <tien.fong.chee@intel.com>
> 
> This is file system generic loader which can be used to load
> the file image from the storage into target such as memory.
> The consumer driver would then use this loader to program whatever,
> ie. the FPGA device.
> 
> Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
> ---
>  common/Makefile     |   1 +
>  common/fs_loader.c  | 305 ++++++++++++++++++++++++++++++++++++++++++++++++++++
>  include/fs_loader.h |  33 ++++++
>  3 files changed, 339 insertions(+)
>  create mode 100644 common/fs_loader.c
>  create mode 100644 include/fs_loader.h
> 
[...]
> diff --git a/include/fs_loader.h b/include/fs_loader.h
> new file mode 100644
> index 0000000..35a6b5b
> --- /dev/null
> +++ b/include/fs_loader.h
> @@ -0,0 +1,33 @@
> +/*
> + * Copyright (C) 2017 Intel Corporation <www.intel.com>
> + *
> + * SPDX-License-Identifier:    GPL-2.0
> + */
> +#ifndef _FS_LOADER_H_
> +#define _FS_LOADER_H_
> +
> +#include <linux/types.h>
> +
> +struct firmware_priv {
> +	const char *name;	/* Filename */
> +	u32 offset;		/* Offset of reading a file */
> +};
>
This is private to the firmware loader and should be declared locally
in the source file. That's the whole point of being 'private'.
You could have different firmware loaders with different requirements
for their private data, thus there is no use in defining this globally.

> +
> +struct firmware {
> +	size_t size;		/* Size of a file */
> +	const u8 *data;		/* Buffer for file */
> +	void *priv;		/* Firmware loader private fields */
> +};
> +


Lothar Waßmann

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH v3 0/2] Generic firmware loader
  2017-12-12 11:56 [U-Boot] [PATCH v3 0/2] Generic firmware loader tien.fong.chee at intel.com
  2017-12-12 11:56 ` [U-Boot] [PATCH v3 1/2] spl: Remove static declaration on spl_mmc_find_device function tien.fong.chee at intel.com
  2017-12-12 11:56 ` [U-Boot] [PATCH v3 2/2] common: Generic firmware loader for file system tien.fong.chee at intel.com
@ 2017-12-12 15:51 ` Marek Vasut
  2017-12-13  4:39   ` Chee, Tien Fong
  2 siblings, 1 reply; 10+ messages in thread
From: Marek Vasut @ 2017-12-12 15:51 UTC (permalink / raw)
  To: u-boot

On 12/12/2017 12:56 PM, tien.fong.chee at intel.com wrote:
> From: Tien Fong Chee <tien.fong.chee@intel.com>
> 
> This patchset contains generic firmware loader which is very close to Linux
> firmware loader but for U-Boot framework. Generic firmware loader can be used
> load whatever into target location, and then consumer driver would use it to
> program whatever, ie. the FPGA. This version mainly resolved comments from
> Lothar Waßmann in [v2].
> 
> This series is working on top of u-boot.git -
>  http://git.denx.de/u-boot.git .
> 
> [v2]: https://www.mail-archive.com/u-boot at lists.denx.de/msg271979.html
> 
> v2 -> v3 changes:
> -----------------
> - Fixed the bugs in generic firmware loader driver.
> 
> Patchset history
> ----------------
> [v1]: https://www.mail-archive.com/u-boot at lists.denx.de/msg271905.html
> 
> Tien Fong Chee (2):
>   spl: Remove static declaration on spl_mmc_find_device function
>   common: Generic firmware loader for file system
> 
>  common/Makefile      |   1 +
>  common/fs_loader.c   | 305 +++++++++++++++++++++++++++++++++++++++++++++++++++
>  common/spl/spl_mmc.c |   2 +-
>  include/fs_loader.h  |  33 ++++++
>  include/spl.h        |   2 +
>  5 files changed, 342 insertions(+), 1 deletion(-)
>  create mode 100644 common/fs_loader.c
>  create mode 100644 include/fs_loader.h
> 
I thought we discussed resending patchsets multiple times a day already,
didn't we ?

-- 
Best regards,
Marek Vasut

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH v3 2/2] common: Generic firmware loader for file system
  2017-12-12 14:12   ` Lothar Waßmann
@ 2017-12-13  4:38     ` Chee, Tien Fong
  0 siblings, 0 replies; 10+ messages in thread
From: Chee, Tien Fong @ 2017-12-13  4:38 UTC (permalink / raw)
  To: u-boot

On Sel, 2017-12-12 at 15:12 +0100, Lothar Waßmann wrote:
> Hi,
> 
> On Tue, 12 Dec 2017 19:56:17 +0800 tien.fong.chee at intel.com wrote:
> > 
> > From: Tien Fong Chee <tien.fong.chee@intel.com>
> > 
> > This is file system generic loader which can be used to load
> > the file image from the storage into target such as memory.
> > The consumer driver would then use this loader to program whatever,
> > ie. the FPGA device.
> > 
> > Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
> > ---
> >  common/Makefile     |   1 +
> >  common/fs_loader.c  | 305
> > ++++++++++++++++++++++++++++++++++++++++++++++++++++
> >  include/fs_loader.h |  33 ++++++
> >  3 files changed, 339 insertions(+)
> >  create mode 100644 common/fs_loader.c
> >  create mode 100644 include/fs_loader.h
> > 
> [...]
> > 
> > diff --git a/include/fs_loader.h b/include/fs_loader.h
> > new file mode 100644
> > index 0000000..35a6b5b
> > --- /dev/null
> > +++ b/include/fs_loader.h
> > @@ -0,0 +1,33 @@
> > +/*
> > + * Copyright (C) 2017 Intel Corporation <www.intel.com>
> > + *
> > + * SPDX-License-Identifier:    GPL-2.0
> > + */
> > +#ifndef _FS_LOADER_H_
> > +#define _FS_LOADER_H_
> > +
> > +#include <linux/types.h>
> > +
> > +struct firmware_priv {
> > +	const char *name;	/* Filename */
> > +	u32 offset;		/* Offset of reading a file */
> > +};
> > 
> This is private to the firmware loader and should be declared locally
> in the source file. That's the whole point of being 'private'.
> You could have different firmware loaders with different requirements
> for their private data, thus there is no use in defining this
> globally.
> 
Okay, i will move this declaration to source file. Any comments to the
source file?
> > 
> > +
> > +struct firmware {
> > +	size_t size;		/* Size of a file */
> > +	const u8 *data;		/* Buffer for file */
> > +	void *priv;		/* Firmware loader private
> > fields */
> > +};
> > +
> 
> Lothar Waßmann

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH v3 0/2] Generic firmware loader
  2017-12-12 15:51 ` [U-Boot] [PATCH v3 0/2] Generic firmware loader Marek Vasut
@ 2017-12-13  4:39   ` Chee, Tien Fong
  0 siblings, 0 replies; 10+ messages in thread
From: Chee, Tien Fong @ 2017-12-13  4:39 UTC (permalink / raw)
  To: u-boot

On Sel, 2017-12-12 at 16:51 +0100, Marek Vasut wrote:
> On 12/12/2017 12:56 PM, tien.fong.chee at intel.com wrote:
> > 
> > From: Tien Fong Chee <tien.fong.chee@intel.com>
> > 
> > This patchset contains generic firmware loader which is very close
> > to Linux
> > firmware loader but for U-Boot framework. Generic firmware loader
> > can be used
> > load whatever into target location, and then consumer driver would
> > use it to
> > program whatever, ie. the FPGA. This version mainly resolved
> > comments from
> > Lothar Waßmann in [v2].
> > 
> > This series is working on top of u-boot.git -
> >  http://git.denx.de/u-boot.git .
> > 
> > [v2]: https://www.mail-archive.com/u-boot at lists.denx.de/msg271979.h
> > tml
> > 
> > v2 -> v3 changes:
> > -----------------
> > - Fixed the bugs in generic firmware loader driver.
> > 
> > Patchset history
> > ----------------
> > [v1]: https://www.mail-archive.com/u-boot at lists.denx.de/msg271905.h
> > tml
> > 
> > Tien Fong Chee (2):
> >   spl: Remove static declaration on spl_mmc_find_device function
> >   common: Generic firmware loader for file system
> > 
> >  common/Makefile      |   1 +
> >  common/fs_loader.c   | 305
> > +++++++++++++++++++++++++++++++++++++++++++++++++++
> >  common/spl/spl_mmc.c |   2 +-
> >  include/fs_loader.h  |  33 ++++++
> >  include/spl.h        |   2 +
> >  5 files changed, 342 insertions(+), 1 deletion(-)
> >  create mode 100644 common/fs_loader.c
> >  create mode 100644 include/fs_loader.h
> > 
> I thought we discussed resending patchsets multiple times a day
> already,
> didn't we ?
> 
Sorry, i will kepp it slow down.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH v3 2/2] common: Generic firmware loader for file system
  2017-12-12 11:56 ` [U-Boot] [PATCH v3 2/2] common: Generic firmware loader for file system tien.fong.chee at intel.com
  2017-12-12 14:12   ` Lothar Waßmann
@ 2017-12-13 10:18   ` Prabhakar Kushwaha
  2017-12-13 10:55     ` Lukasz Majewski
  1 sibling, 1 reply; 10+ messages in thread
From: Prabhakar Kushwaha @ 2017-12-13 10:18 UTC (permalink / raw)
  To: u-boot

Dear Tien,

> -----Original Message-----
> From: U-Boot [mailto:u-boot-bounces at lists.denx.de] On Behalf Of
> tien.fong.chee at intel.com
> Sent: Tuesday, December 12, 2017 5:26 PM
> To: u-boot at lists.denx.de
> Cc: Marek Vasut <marex@denx.de>; Tien Fong Chee
> <tien.fong.chee@intel.com>; Ching Liang See <chin.liang.see@intel.com>; Tien
> Fong <skywindctf@gmail.com>; Westergteen Dalon
> <dalon.westergreen@intel.com>
> Subject: [U-Boot] [PATCH v3 2/2] common: Generic firmware loader for file
> system
> 
> From: Tien Fong Chee <tien.fong.chee@intel.com>
> 
> This is file system generic loader which can be used to load
> the file image from the storage into target such as memory.
> The consumer driver would then use this loader to program whatever,
> ie. the FPGA device.
> 
> Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>

A README about how to use this feature in u-boot will be very helpful.

--pk

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH v3 2/2] common: Generic firmware loader for file system
  2017-12-13 10:18   ` Prabhakar Kushwaha
@ 2017-12-13 10:55     ` Lukasz Majewski
  2017-12-14  7:10       ` Chee, Tien Fong
  0 siblings, 1 reply; 10+ messages in thread
From: Lukasz Majewski @ 2017-12-13 10:55 UTC (permalink / raw)
  To: u-boot

Hi Tien,

> Dear Tien,
> 
> > -----Original Message-----
> > From: U-Boot [mailto:u-boot-bounces at lists.denx.de] On Behalf Of
> > tien.fong.chee at intel.com
> > Sent: Tuesday, December 12, 2017 5:26 PM
> > To: u-boot at lists.denx.de
> > Cc: Marek Vasut <marex@denx.de>; Tien Fong Chee
> > <tien.fong.chee@intel.com>; Ching Liang See
> > <chin.liang.see@intel.com>; Tien Fong <skywindctf@gmail.com>;
> > Westergteen Dalon <dalon.westergreen@intel.com>
> > Subject: [U-Boot] [PATCH v3 2/2] common: Generic firmware loader
> > for file system
> > 
> > From: Tien Fong Chee <tien.fong.chee@intel.com>
> > 
> > This is file system generic loader which can be used to load
> > the file image from the storage into target such as memory.
> > The consumer driver would then use this loader to program whatever,
> > ie. the FPGA device.
> > 
> > Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>  
> 
> A README about how to use this feature in u-boot will be very helpful.

+1

> 
> --pk
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot



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/20171213/32601941/attachment.sig>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH v3 2/2] common: Generic firmware loader for file system
  2017-12-13 10:55     ` Lukasz Majewski
@ 2017-12-14  7:10       ` Chee, Tien Fong
  0 siblings, 0 replies; 10+ messages in thread
From: Chee, Tien Fong @ 2017-12-14  7:10 UTC (permalink / raw)
  To: u-boot

On Rab, 2017-12-13 at 11:55 +0100, Lukasz Majewski wrote:
> Hi Tien,
> 
> > 
> > Dear Tien,
> > 
> > > 
> > > -----Original Message-----
> > > From: U-Boot [mailto:u-boot-bounces at lists.denx.de] On Behalf Of
> > > tien.fong.chee at intel.com
> > > Sent: Tuesday, December 12, 2017 5:26 PM
> > > To: u-boot at lists.denx.de
> > > Cc: Marek Vasut <marex@denx.de>; Tien Fong Chee
> > > <tien.fong.chee@intel.com>; Ching Liang See
> > > <chin.liang.see@intel.com>; Tien Fong <skywindctf@gmail.com>;
> > > Westergteen Dalon <dalon.westergreen@intel.com>
> > > Subject: [U-Boot] [PATCH v3 2/2] common: Generic firmware loader
> > > for file system
> > > 
> > > From: Tien Fong Chee <tien.fong.chee@intel.com>
> > > 
> > > This is file system generic loader which can be used to load
> > > the file image from the storage into target such as memory.
> > > The consumer driver would then use this loader to program
> > > whatever,
> > > ie. the FPGA device.
> > > 
> > > Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>  
> > A README about how to use this feature in u-boot will be very
> > helpful.
> +1
> 
Okay, i will send out the initial draft documents separately for
discussion.
> > 
> > 
> > --pk
> > _______________________________________________
> > U-Boot mailing list
> > U-Boot at lists.denx.de
> > https://lists.denx.de/listinfo/u-boot
> 
> 
> 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

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2017-12-14  7:10 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-12 11:56 [U-Boot] [PATCH v3 0/2] Generic firmware loader tien.fong.chee at intel.com
2017-12-12 11:56 ` [U-Boot] [PATCH v3 1/2] spl: Remove static declaration on spl_mmc_find_device function tien.fong.chee at intel.com
2017-12-12 11:56 ` [U-Boot] [PATCH v3 2/2] common: Generic firmware loader for file system tien.fong.chee at intel.com
2017-12-12 14:12   ` Lothar Waßmann
2017-12-13  4:38     ` Chee, Tien Fong
2017-12-13 10:18   ` Prabhakar Kushwaha
2017-12-13 10:55     ` Lukasz Majewski
2017-12-14  7:10       ` Chee, Tien Fong
2017-12-12 15:51 ` [U-Boot] [PATCH v3 0/2] Generic firmware loader Marek Vasut
2017-12-13  4:39   ` Chee, Tien Fong

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.