public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Lukasz Majewski <l.majewski@samsung.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [RFC PATCH v2 3/5] spl: dfu: adding dfu support functions for SPL-DFU
Date: Mon, 25 Jul 2016 16:16:34 +0200	[thread overview]
Message-ID: <20160725161634.0274b480@amdc2363> (raw)
In-Reply-To: <6C6B28D4DC342643927BEAFCE8707BF6762A4C99@DBDE04.ent.ti.com>

Hi Ravi,

> Hi Lukasz
> 
> >> Adding support functions to run dfu spl commands.
> >> 
> >> Signed-off-by: Ravi Babu <ravibabu@ti.com>
> >> ---
> >>  common/spl/Makefile  |    1 +
> >>  common/spl/spl_dfu.c |   57
> >> ++++++++++++++++++++++++++++++++++++++++++++++++++
> >> include/spl.h        |    8 +++++++ 3 files changed, 66
> >> insertions(+) create mode 100644 common/spl/spl_dfu.c
> >> 
> >> diff --git a/common/spl/Makefile b/common/spl/Makefile index 
> >> 2e0f695..0850da0 100644
> >> --- a/common/spl/Makefile
> >> +++ b/common/spl/Makefile
> >> @@ -21,4 +21,5 @@ obj-$(CONFIG_SPL_USB_SUPPORT) += spl_usb.o
> >>  obj-$(CONFIG_SPL_FAT_SUPPORT) += spl_fat.o
> >>  obj-$(CONFIG_SPL_EXT_SUPPORT) += spl_ext.o
> >>  obj-$(CONFIG_SPL_SATA_SUPPORT) += spl_sata.o
> >> +obj-$(CONFIG_SPL_DFU_SUPPORT) += spl_dfu.o
> >>  endif
> >> diff --git a/common/spl/spl_dfu.c b/common/spl/spl_dfu.c new file
> >> mode 100644 index 0000000..e8d0ba1
> >> --- /dev/null
> >> +++ b/common/spl/spl_dfu.c
> >> @@ -0,0 +1,57 @@
> >> +/*
> >> + * (C) Copyright 2016
> >> + * Texas Instruments, <www.ti.com>
> >> + *
> >> + * Ravi B <ravibabu@ti.com>
> >> + *
> >> + * SPDX-License-Identifier:	GPL-2.0+
> >> + */
> >> +#include <common.h>
> >> +#include <spl.h>
> >> +#include <linux/compiler.h>
> >> +#include <errno.h>
> >> +#include <watchdog.h>
> >> +#include <console.h>
> >> +#include <g_dnl.h>
> >> +#include <usb.h>
> >> +#include <dfu.h>
> >> +#include <environment.h>
> >> +
> >> +static int run_dfu(int usb_index, char *interface, char
> >> *devstring) {
> >> +	int ret;
> >> +
> >> +	ret = dfu_init_env_entities(interface, devstring);
> >> +	if (ret) {
> >> +		dfu_free_entities();
> >> +		goto exit;
> >> +	}
> >> +
> >> +	run_usb_dnl_gadget(usb_index, "usb_dnl_dfu");
> >> +exit:
> >> +	dfu_free_entities();
> >> +	return ret;
> >> +}
> >> +
> >> +int spl_dfu_cmd(int usbctrl, char *dfu_alt_info, char *interface, 
> >				     ^^^^^^^^^^^^^^ this is a bit
> >				     misleading.
> >				     I would rename it to
> >	"alt_info_str"
> 
> Ok. Will change to alt_info_str.
> 
> >
> >> char *devstr) +{
> >> +	char *str_env;
> >> +	int ret;
> >> +
> >> +	/* set default environment */
> >> +	set_default_env(0);
> 
> >set_default_env() accepts const char *s as the argument. Please
> >replace 0 -> NULL
> 
> Fine.
> 
> >
> >> +	str_env = getenv(dfu_alt_info);
> >> +	if (!str_env) {
> >> +		error("\"dfu_alt_info\" env variable not
> >> defined!\n");
> >> +		return -EINVAL;
> >> +	}
> >> +
> >> +	ret = setenv("dfu_alt_info", str_env);
> >> +	if (ret) {
> >> +		error("unable to set env variable
> >> \"dfu_alt_info\"!\n");
> >> +		return -EINVAL;
> >> +	}
> 
> >I'm a bit confused with this env flow.
> >
> >Is it required on your platform to:
> >
> >1. set_default_env(NULL) - which sets default envs (one which are
> >mostly defined at ./include/<board_config> file) in RAM
> 
> Actually not required, I felt it is better to use default environment
> inorder to get the latest environment from SPL which is being loaded.
> I will check once without set_default_env().
> 
> >
> >2. call getenv with "dfu_alt_info_ram", which reads this value from
> >RAM
> >
> >3. call setenv() to store already in ram available env variable to
> >some medium?
> 
> This step is required, "dfu_alt_info" is one referred by dfu driver.

But is it necessary to store "dfu_alt_info" env variable to memory
medium (e.g. eMMC) or is it enough to use the default value stored in
RAM?

> 
> >
> >If you want to store default envs in the medium (e.g. eMMC), I think
> >that it would be easier to call "saveenv".
> 
> Ok. 
> 
> >Otherwise, I would stay with default envs, since we only use this
> >u-boot for flashing other binaries.
> 
> Right.
> 
> Regards
> Ravi 
> 



-- 
Best regards,

Lukasz Majewski

Samsung R&D Institute Poland (SRPOL) | Linux Platform Group

  reply	other threads:[~2016-07-25 14:16 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1469193550-19125-1-git-send-email-ravibabu@ti.com>
     [not found] ` <1469193550-19125-4-git-send-email-ravibabu@ti.com>
2016-07-25 10:05   ` [U-Boot] [RFC PATCH v2 3/5] spl: dfu: adding dfu support functions for SPL-DFU Lukasz Majewski
2016-07-25 13:08     ` B, Ravi
2016-07-25 14:16       ` Lukasz Majewski [this message]
     [not found] ` <1469193550-19125-3-git-send-email-ravibabu@ti.com>
2016-07-25 10:08   ` [U-Boot] [RFC PATCH v2 2/5] common: dfu: saperate the dfu common functionality Lukasz Majewski
2016-07-25 13:12     ` B, Ravi
2016-07-25 10:16 ` [U-Boot] [RFC PATCH v2 0/5] SPL: DFU Support in SPL Lukasz Majewski
2016-07-21 14:53 Ravi Babu
2016-07-21 14:53 ` [U-Boot] [RFC PATCH v2 3/5] spl: dfu: adding dfu support functions for SPL-DFU Ravi Babu
2016-07-22 13:41   ` Tom Rini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160725161634.0274b480@amdc2363 \
    --to=l.majewski@samsung.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox