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
next prev parent 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