Patchwork [U-Boot,2/4] arm:goni:dfu Add support for DFU at GONI target

login
register
mail settings
Submitter Łukasz Majewski
Date June 24, 2013, 3:36 p.m.
Message ID <1372088187-15163-3-git-send-email-l.majewski@samsung.com>
Download mbox | patch
Permalink /patch/253888/
State Superseded
Delegated to: Minkyu Kang
Headers show

Comments

Łukasz Majewski - June 24, 2013, 3:36 p.m.
From: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>

Proper adjustment for supporting DFU at GONI target has been made.
The s5p_goni.h file has been updated. Moreover the code for low level
USB initialization has been added to GONI board code.

Signed-off-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Tested-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
Cc: Minkyu Kang <mk7.kang@samsung.com>
---
 board/samsung/goni/goni.c  |    7 +++++++
 include/configs/s5p_goni.h |   20 +++++++++++++++++++-
 2 files changed, 26 insertions(+), 1 deletion(-)
Sumit Gemini - June 25, 2013, 5:19 a.m.
Hi Lukasz,

      I put the dfu support into am335x board even i able to download all
images from dfu-util, but when i trying to upload images, (from dfu devices
to PC), my system failed.

 Could you tell me what is the problem and where should i look into?


Thanks & Regards
~Sumit gemini


On Mon, Jun 24, 2013 at 9:06 PM, Lukasz Majewski <l.majewski@samsung.com>wrote:

> From: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
>
> Proper adjustment for supporting DFU at GONI target has been made.
> The s5p_goni.h file has been updated. Moreover the code for low level
> USB initialization has been added to GONI board code.
>
> Signed-off-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> Tested-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
> Cc: Minkyu Kang <mk7.kang@samsung.com>
> ---
>  board/samsung/goni/goni.c  |    7 +++++++
>  include/configs/s5p_goni.h |   20 +++++++++++++++++++-
>  2 files changed, 26 insertions(+), 1 deletion(-)
>
> diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c
> index ff76963..3c53106 100644
> --- a/board/samsung/goni/goni.c
> +++ b/board/samsung/goni/goni.c
> @@ -155,4 +155,11 @@ struct s3c_plat_otg_data s5pc110_otg_data = {
>         .regs_otg = S5PC110_OTG_BASE,
>         .usb_phy_ctrl = S5PC110_USB_PHY_CONTROL,
>  };
> +
> +void board_usb_init(void)
> +{
> +       debug("USB_udc_probe\n");
> +       s3c_udc_probe(&s5pc110_otg_data);
> +}
> +
>  #endif
> diff --git a/include/configs/s5p_goni.h b/include/configs/s5p_goni.h
> index ec43652..8a824c7 100644
> --- a/include/configs/s5p_goni.h
> +++ b/include/configs/s5p_goni.h
> @@ -86,6 +86,17 @@
>  #define CONFIG_CMD_ONENAND
>  #define CONFIG_CMD_MTDPARTS
>  #define CONFIG_CMD_MMC
> +#define CONFIG_CMD_DFU
> +
> +/* USB Composite download gadget - g_dnl */
> +#define CONFIG_USBDOWNLOAD_GADGET
> +#define CONFIG_DFU_FUNCTION
> +#define CONFIG_DFU_MMC
> +
> +/* USB Samsung's IDs */
> +#define CONFIG_G_DNL_VENDOR_NUM 0x04E8
> +#define CONFIG_G_DNL_PRODUCT_NUM 0x6601
> +#define CONFIG_G_DNL_MANUFACTURER "Samsung"
>
>  #define CONFIG_BOOTDELAY               1
>  #define CONFIG_ZERO_BOOTDELAY_CHECK
> @@ -105,6 +116,10 @@
>                                 ",60m(qboot)"\
>                                 ",-(UBI)\0"
>
> +#define CONFIG_DFU_ALT \
> +       "u-boot mmc 80 400;" \
> +       "uImage fat 0 2\0" \
> +
>  #define NORMAL_MTDPARTS_DEFAULT MTDPARTS_DEFAULT
>
>  #define CONFIG_BOOTCOMMAND     "run mmcboot"
> @@ -175,7 +190,9 @@
>         "bootblock=9\0" \
>         "ubiblock=8\0" \
>         "ubi=enabled\0" \
> -       "opts=always_resume=1"
> +       "opts=always_resume=1\0" \
> +       "dfu_alt_info=" CONFIG_DFU_ALT
> +
>
>  /* Miscellaneous configurable options */
>  #define CONFIG_SYS_LONGHELP            /* undef to save memory */
> @@ -242,5 +259,6 @@
>  #define CONFIG_USB_GADGET
>  #define CONFIG_USB_GADGET_S3C_UDC_OTG
>  #define CONFIG_USB_GADGET_DUALSPEED
> +#define CONFIG_USB_GADGET_VBUS_DRAW 2
>
>  #endif /* __CONFIG_H */
> --
> 1.7.10.4
>
> _______________________________________________
> U-Boot mailing list
> U-Boot@lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
>
Łukasz Majewski - June 25, 2013, 6:44 a.m.
Hi Sumit,

> Hi Lukasz,
> 
>       I put the dfu support into am335x board even i able to download
> all images from dfu-util, but when i trying to upload images, (from
> dfu devices to PC), my system failed.
> 
>  Could you tell me what is the problem and where should i look into?

Indeed dfu upload doesn't work on Trats anymore (it uses eMMC backend).
I've checked and fixed problem with dfu write yesterday (also with
eMMC).

Recently the dfu subsystem has been reworked to get rid of fixed buffer
size, so please regard it as "under heavy development".

I will look into this problem (for eMMC, not NAND - since my Trats
doesn't have NAND memory).

BTW: Which version of dfu-util do you use? (Mine is 0.5, but for debian
5.0 / 6.0 there also was very ancient 0.1 version - which doesn't work
with current dfu code).



> 
> 
> Thanks & Regards
> ~Sumit gemini
> 
> 
> On Mon, Jun 24, 2013 at 9:06 PM, Lukasz Majewski
> <l.majewski@samsung.com>wrote:
> 
> > From: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
> >
> > Proper adjustment for supporting DFU at GONI target has been made.
> > The s5p_goni.h file has been updated. Moreover the code for low
> > level USB initialization has been added to GONI board code.
> >
> > Signed-off-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
> > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> > Tested-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
> > Cc: Minkyu Kang <mk7.kang@samsung.com>
> > ---
> >  board/samsung/goni/goni.c  |    7 +++++++
> >  include/configs/s5p_goni.h |   20 +++++++++++++++++++-
> >  2 files changed, 26 insertions(+), 1 deletion(-)
> >
> > diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c
> > index ff76963..3c53106 100644
> > --- a/board/samsung/goni/goni.c
> > +++ b/board/samsung/goni/goni.c
> > @@ -155,4 +155,11 @@ struct s3c_plat_otg_data s5pc110_otg_data = {
> >         .regs_otg = S5PC110_OTG_BASE,
> >         .usb_phy_ctrl = S5PC110_USB_PHY_CONTROL,
> >  };
> > +
> > +void board_usb_init(void)
> > +{
> > +       debug("USB_udc_probe\n");
> > +       s3c_udc_probe(&s5pc110_otg_data);
> > +}
> > +
> >  #endif
> > diff --git a/include/configs/s5p_goni.h b/include/configs/s5p_goni.h
> > index ec43652..8a824c7 100644
> > --- a/include/configs/s5p_goni.h
> > +++ b/include/configs/s5p_goni.h
> > @@ -86,6 +86,17 @@
> >  #define CONFIG_CMD_ONENAND
> >  #define CONFIG_CMD_MTDPARTS
> >  #define CONFIG_CMD_MMC
> > +#define CONFIG_CMD_DFU
> > +
> > +/* USB Composite download gadget - g_dnl */
> > +#define CONFIG_USBDOWNLOAD_GADGET
> > +#define CONFIG_DFU_FUNCTION
> > +#define CONFIG_DFU_MMC
> > +
> > +/* USB Samsung's IDs */
> > +#define CONFIG_G_DNL_VENDOR_NUM 0x04E8
> > +#define CONFIG_G_DNL_PRODUCT_NUM 0x6601
> > +#define CONFIG_G_DNL_MANUFACTURER "Samsung"
> >
> >  #define CONFIG_BOOTDELAY               1
> >  #define CONFIG_ZERO_BOOTDELAY_CHECK
> > @@ -105,6 +116,10 @@
> >                                 ",60m(qboot)"\
> >                                 ",-(UBI)\0"
> >
> > +#define CONFIG_DFU_ALT \
> > +       "u-boot mmc 80 400;" \
> > +       "uImage fat 0 2\0" \
> > +
> >  #define NORMAL_MTDPARTS_DEFAULT MTDPARTS_DEFAULT
> >
> >  #define CONFIG_BOOTCOMMAND     "run mmcboot"
> > @@ -175,7 +190,9 @@
> >         "bootblock=9\0" \
> >         "ubiblock=8\0" \
> >         "ubi=enabled\0" \
> > -       "opts=always_resume=1"
> > +       "opts=always_resume=1\0" \
> > +       "dfu_alt_info=" CONFIG_DFU_ALT
> > +
> >
> >  /* Miscellaneous configurable options */
> >  #define CONFIG_SYS_LONGHELP            /* undef to save memory */
> > @@ -242,5 +259,6 @@
> >  #define CONFIG_USB_GADGET
> >  #define CONFIG_USB_GADGET_S3C_UDC_OTG
> >  #define CONFIG_USB_GADGET_DUALSPEED
> > +#define CONFIG_USB_GADGET_VBUS_DRAW 2
> >
> >  #endif /* __CONFIG_H */
> > --
> > 1.7.10.4
> >
> > _______________________________________________
> > U-Boot mailing list
> > U-Boot@lists.denx.de
> > http://lists.denx.de/mailman/listinfo/u-boot
> >
Sumit Gemini - June 25, 2013, 6:57 a.m.
Hi Lukasz,

     My dfu version is 1.0 and am using SPI flash NOR. downloading is fine
but uploading failed.

    I am trying lot to upload binary from dfu-device to pc but not able to
do that.

    I am facing following error :-

    when i apply
                      dfu-util -v -a u-boot -U dfu-UBOOT from my host
machine,


I got such log on Host machine :-

Device returned transfer size 4096
bytes_per_hash=4096
Copying data from DFU device to PC
Starting upload: [] finished!
Received a total of 1 bytes

and finally dfu-SPL file created with 4kb size.


but on target machine, i got

Running: sf read 0x00000000 0x20000 0x0
Failed to map physical memory.

May i know why i got such error or user have to specify address over which
we read our binary.


Any help will appreciate and if any body has related pointer, please let me
know, I have stuck in this error.

and further more,

After analyzing a lot, i got a function "dfu_upload" in dfu.c file, calling
another function "libusb_control_transfer" which return only 1, might be it
is not getting interface, because when i pass

dfu-util -a u-boot -U SPL-uboot in host machine


i got in target machine :-

SF: Detected N25Q256 with page size 64 KiB, total 32 MiB

Running: sf read 0x00000000 0x20000 0x0
Failed to map physical memory

So, how can i analyze  flash memory, why it is getting fail to map itself
with physical memory.


Thanks


On Tue, Jun 25, 2013 at 12:14 PM, Lukasz Majewski <l.majewski@samsung.com>wrote:

> Hi Sumit,
>
> > Hi Lukasz,
> >
> >       I put the dfu support into am335x board even i able to download
> > all images from dfu-util, but when i trying to upload images, (from
> > dfu devices to PC), my system failed.
> >
> >  Could you tell me what is the problem and where should i look into?
>
> Indeed dfu upload doesn't work on Trats anymore (it uses eMMC backend).
> I've checked and fixed problem with dfu write yesterday (also with
> eMMC).
>
> Recently the dfu subsystem has been reworked to get rid of fixed buffer
> size, so please regard it as "under heavy development".
>
> I will look into this problem (for eMMC, not NAND - since my Trats
> doesn't have NAND memory).
>
> BTW: Which version of dfu-util do you use? (Mine is 0.5, but for debian
> 5.0 / 6.0 there also was very ancient 0.1 version - which doesn't work
> with current dfu code).
>
>
>
> >
> >
> > Thanks & Regards
> > ~Sumit gemini
> >
> >
> > On Mon, Jun 24, 2013 at 9:06 PM, Lukasz Majewski
> > <l.majewski@samsung.com>wrote:
> >
> > > From: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
> > >
> > > Proper adjustment for supporting DFU at GONI target has been made.
> > > The s5p_goni.h file has been updated. Moreover the code for low
> > > level USB initialization has been added to GONI board code.
> > >
> > > Signed-off-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
> > > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> > > Tested-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
> > > Cc: Minkyu Kang <mk7.kang@samsung.com>
> > > ---
> > >  board/samsung/goni/goni.c  |    7 +++++++
> > >  include/configs/s5p_goni.h |   20 +++++++++++++++++++-
> > >  2 files changed, 26 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c
> > > index ff76963..3c53106 100644
> > > --- a/board/samsung/goni/goni.c
> > > +++ b/board/samsung/goni/goni.c
> > > @@ -155,4 +155,11 @@ struct s3c_plat_otg_data s5pc110_otg_data = {
> > >         .regs_otg = S5PC110_OTG_BASE,
> > >         .usb_phy_ctrl = S5PC110_USB_PHY_CONTROL,
> > >  };
> > > +
> > > +void board_usb_init(void)
> > > +{
> > > +       debug("USB_udc_probe\n");
> > > +       s3c_udc_probe(&s5pc110_otg_data);
> > > +}
> > > +
> > >  #endif
> > > diff --git a/include/configs/s5p_goni.h b/include/configs/s5p_goni.h
> > > index ec43652..8a824c7 100644
> > > --- a/include/configs/s5p_goni.h
> > > +++ b/include/configs/s5p_goni.h
> > > @@ -86,6 +86,17 @@
> > >  #define CONFIG_CMD_ONENAND
> > >  #define CONFIG_CMD_MTDPARTS
> > >  #define CONFIG_CMD_MMC
> > > +#define CONFIG_CMD_DFU
> > > +
> > > +/* USB Composite download gadget - g_dnl */
> > > +#define CONFIG_USBDOWNLOAD_GADGET
> > > +#define CONFIG_DFU_FUNCTION
> > > +#define CONFIG_DFU_MMC
> > > +
> > > +/* USB Samsung's IDs */
> > > +#define CONFIG_G_DNL_VENDOR_NUM 0x04E8
> > > +#define CONFIG_G_DNL_PRODUCT_NUM 0x6601
> > > +#define CONFIG_G_DNL_MANUFACTURER "Samsung"
> > >
> > >  #define CONFIG_BOOTDELAY               1
> > >  #define CONFIG_ZERO_BOOTDELAY_CHECK
> > > @@ -105,6 +116,10 @@
> > >                                 ",60m(qboot)"\
> > >                                 ",-(UBI)\0"
> > >
> > > +#define CONFIG_DFU_ALT \
> > > +       "u-boot mmc 80 400;" \
> > > +       "uImage fat 0 2\0" \
> > > +
> > >  #define NORMAL_MTDPARTS_DEFAULT MTDPARTS_DEFAULT
> > >
> > >  #define CONFIG_BOOTCOMMAND     "run mmcboot"
> > > @@ -175,7 +190,9 @@
> > >         "bootblock=9\0" \
> > >         "ubiblock=8\0" \
> > >         "ubi=enabled\0" \
> > > -       "opts=always_resume=1"
> > > +       "opts=always_resume=1\0" \
> > > +       "dfu_alt_info=" CONFIG_DFU_ALT
> > > +
> > >
> > >  /* Miscellaneous configurable options */
> > >  #define CONFIG_SYS_LONGHELP            /* undef to save memory */
> > > @@ -242,5 +259,6 @@
> > >  #define CONFIG_USB_GADGET
> > >  #define CONFIG_USB_GADGET_S3C_UDC_OTG
> > >  #define CONFIG_USB_GADGET_DUALSPEED
> > > +#define CONFIG_USB_GADGET_VBUS_DRAW 2
> > >
> > >  #endif /* __CONFIG_H */
> > > --
> > > 1.7.10.4
> > >
> > > _______________________________________________
> > > U-Boot mailing list
> > > U-Boot@lists.denx.de
> > > http://lists.denx.de/mailman/listinfo/u-boot
> > >
>
>
>
> --
> Best regards,
>
> Lukasz Majewski
>
> Samsung R&D Institute Poland (SRPOL) | Linux Platform Group
>
Łukasz Majewski - June 25, 2013, 7:35 a.m.
Hi Sumit,

> Hi Lukasz,
> 
>      My dfu version is 1.0 and am using SPI flash NOR. downloading is
> fine but uploading failed.
> 
>     I am trying lot to upload binary from dfu-device to pc but not
> able to do that.
> 
>     I am facing following error :-
> 
>     when i apply
>                       dfu-util -v -a u-boot -U dfu-UBOOT from my host
> machine,
> 
> 
> I got such log on Host machine :-
> 
> Device returned transfer size 4096
> bytes_per_hash=4096
> Copying data from DFU device to PC
> Starting upload: [] finished!
> Received a total of 1 bytes
> 
> and finally dfu-SPL file created with 4kb size.

Why dfu-SPL? Not dfu-BOOT? (you are calling the dfu-util command with
-U dfu-UBOOT)

> 
> 
> but on target machine, i got
> 
> Running: sf read 0x00000000 0x20000 0x0
> Failed to map physical memory.

I'm not the right person to answer. You ought to ask Tom Rini or
other developers involved in flash development (e.g. Pantelis, Heiko).

> 
> May i know why i got such error or user have to specify address over
> which we read our binary.
> 
> 
> Any help will appreciate and if any body has related pointer, please
> let me know, I have stuck in this error.
> 
> and further more,
> 
> After analyzing a lot, i got a function "dfu_upload" in dfu.c file,
> calling another function "libusb_control_transfer" which return only
> 1, might be it is not getting interface, because when i pass
> 
> dfu-util -a u-boot -U SPL-uboot in host machine
> 
> 
> i got in target machine :-
> 
> SF: Detected N25Q256 with page size 64 KiB, total 32 MiB
> 
> Running: sf read 0x00000000 0x20000 0x0
> Failed to map physical memory
> 
> So, how can i analyze  flash memory, why it is getting fail to map
> itself with physical memory.
> 

What I can do is to check if the USB gadget DFU layer works with
upload. With the NAND backend I'm not able to help much here (I don't
have NAND memory on my targets).

> 
> Thanks
> 
> 
> On Tue, Jun 25, 2013 at 12:14 PM, Lukasz Majewski
> <l.majewski@samsung.com>wrote:
> 
> > Hi Sumit,
> >
> > > Hi Lukasz,
> > >
> > >       I put the dfu support into am335x board even i able to
> > > download all images from dfu-util, but when i trying to upload
> > > images, (from dfu devices to PC), my system failed.
> > >
> > >  Could you tell me what is the problem and where should i look
> > > into?
> >
> > Indeed dfu upload doesn't work on Trats anymore (it uses eMMC
> > backend). I've checked and fixed problem with dfu write yesterday
> > (also with eMMC).
> >
> > Recently the dfu subsystem has been reworked to get rid of fixed
> > buffer size, so please regard it as "under heavy development".
> >
> > I will look into this problem (for eMMC, not NAND - since my Trats
> > doesn't have NAND memory).
> >
> > BTW: Which version of dfu-util do you use? (Mine is 0.5, but for
> > debian 5.0 / 6.0 there also was very ancient 0.1 version - which
> > doesn't work with current dfu code).
> >
> >
> >
> > >
> > >
> > > Thanks & Regards
> > > ~Sumit gemini
> > >
> > >
> > > On Mon, Jun 24, 2013 at 9:06 PM, Lukasz Majewski
> > > <l.majewski@samsung.com>wrote:
> > >
> > > > From: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
> > > >
> > > > Proper adjustment for supporting DFU at GONI target has been
> > > > made. The s5p_goni.h file has been updated. Moreover the code
> > > > for low level USB initialization has been added to GONI board
> > > > code.
> > > >
> > > > Signed-off-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
> > > > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> > > > Tested-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
> > > > Cc: Minkyu Kang <mk7.kang@samsung.com>
> > > > ---
> > > >  board/samsung/goni/goni.c  |    7 +++++++
> > > >  include/configs/s5p_goni.h |   20 +++++++++++++++++++-
> > > >  2 files changed, 26 insertions(+), 1 deletion(-)
> > > >
> > > > diff --git a/board/samsung/goni/goni.c
> > > > b/board/samsung/goni/goni.c index ff76963..3c53106 100644
> > > > --- a/board/samsung/goni/goni.c
> > > > +++ b/board/samsung/goni/goni.c
> > > > @@ -155,4 +155,11 @@ struct s3c_plat_otg_data s5pc110_otg_data
> > > > = { .regs_otg = S5PC110_OTG_BASE,
> > > >         .usb_phy_ctrl = S5PC110_USB_PHY_CONTROL,
> > > >  };
> > > > +
> > > > +void board_usb_init(void)
> > > > +{
> > > > +       debug("USB_udc_probe\n");
> > > > +       s3c_udc_probe(&s5pc110_otg_data);
> > > > +}
> > > > +
> > > >  #endif
> > > > diff --git a/include/configs/s5p_goni.h
> > > > b/include/configs/s5p_goni.h index ec43652..8a824c7 100644
> > > > --- a/include/configs/s5p_goni.h
> > > > +++ b/include/configs/s5p_goni.h
> > > > @@ -86,6 +86,17 @@
> > > >  #define CONFIG_CMD_ONENAND
> > > >  #define CONFIG_CMD_MTDPARTS
> > > >  #define CONFIG_CMD_MMC
> > > > +#define CONFIG_CMD_DFU
> > > > +
> > > > +/* USB Composite download gadget - g_dnl */
> > > > +#define CONFIG_USBDOWNLOAD_GADGET
> > > > +#define CONFIG_DFU_FUNCTION
> > > > +#define CONFIG_DFU_MMC
> > > > +
> > > > +/* USB Samsung's IDs */
> > > > +#define CONFIG_G_DNL_VENDOR_NUM 0x04E8
> > > > +#define CONFIG_G_DNL_PRODUCT_NUM 0x6601
> > > > +#define CONFIG_G_DNL_MANUFACTURER "Samsung"
> > > >
> > > >  #define CONFIG_BOOTDELAY               1
> > > >  #define CONFIG_ZERO_BOOTDELAY_CHECK
> > > > @@ -105,6 +116,10 @@
> > > >                                 ",60m(qboot)"\
> > > >                                 ",-(UBI)\0"
> > > >
> > > > +#define CONFIG_DFU_ALT \
> > > > +       "u-boot mmc 80 400;" \
> > > > +       "uImage fat 0 2\0" \
> > > > +
> > > >  #define NORMAL_MTDPARTS_DEFAULT MTDPARTS_DEFAULT
> > > >
> > > >  #define CONFIG_BOOTCOMMAND     "run mmcboot"
> > > > @@ -175,7 +190,9 @@
> > > >         "bootblock=9\0" \
> > > >         "ubiblock=8\0" \
> > > >         "ubi=enabled\0" \
> > > > -       "opts=always_resume=1"
> > > > +       "opts=always_resume=1\0" \
> > > > +       "dfu_alt_info=" CONFIG_DFU_ALT
> > > > +
> > > >
> > > >  /* Miscellaneous configurable options */
> > > >  #define CONFIG_SYS_LONGHELP            /* undef to save memory
> > > > */ @@ -242,5 +259,6 @@
> > > >  #define CONFIG_USB_GADGET
> > > >  #define CONFIG_USB_GADGET_S3C_UDC_OTG
> > > >  #define CONFIG_USB_GADGET_DUALSPEED
> > > > +#define CONFIG_USB_GADGET_VBUS_DRAW 2
> > > >
> > > >  #endif /* __CONFIG_H */
> > > > --
> > > > 1.7.10.4
> > > >
> > > > _______________________________________________
> > > > U-Boot mailing list
> > > > U-Boot@lists.denx.de
> > > > http://lists.denx.de/mailman/listinfo/u-boot
> > > >
> >
> >
> >
> > --
> > Best regards,
> >
> > Lukasz Majewski
> >
> > Samsung R&D Institute Poland (SRPOL) | Linux Platform Group
> >
Sumit Gemini - June 25, 2013, 8:12 a.m.
Hi Lukasz,

   sorry i just copy and paste that...

   "why dfu-SPL? Not dfu-BOOT"

    dfu-Boot will come instead of dfu-SPL

    and thanks for help, i talk to Pantelis, Heiko for the same.
Thanks & Regards
~Sumit Gemini


On Tue, Jun 25, 2013 at 1:05 PM, Lukasz Majewski <l.majewski@samsung.com>wrote:

> Hi Sumit,
>
> > Hi Lukasz,
> >
> >      My dfu version is 1.0 and am using SPI flash NOR. downloading is
> > fine but uploading failed.
> >
> >     I am trying lot to upload binary from dfu-device to pc but not
> > able to do that.
> >
> >     I am facing following error :-
> >
> >     when i apply
> >                       dfu-util -v -a u-boot -U dfu-UBOOT from my host
> > machine,
> >
> >
> > I got such log on Host machine :-
> >
> > Device returned transfer size 4096
> > bytes_per_hash=4096
> > Copying data from DFU device to PC
> > Starting upload: [] finished!
> > Received a total of 1 bytes
> >
> > and finally dfu-SPL file created with 4kb size.
>
> Why dfu-SPL? Not dfu-BOOT? (you are calling the dfu-util command with
> -U dfu-UBOOT)
>
> >
> >
> > but on target machine, i got
> >
> > Running: sf read 0x00000000 0x20000 0x0
> > Failed to map physical memory.
>
> I'm not the right person to answer. You ought to ask Tom Rini or
> other developers involved in flash development (e.g. Pantelis, Heiko).
>
> >
> > May i know why i got such error or user have to specify address over
> > which we read our binary.
> >
> >
> > Any help will appreciate and if any body has related pointer, please
> > let me know, I have stuck in this error.
> >
> > and further more,
> >
> > After analyzing a lot, i got a function "dfu_upload" in dfu.c file,
> > calling another function "libusb_control_transfer" which return only
> > 1, might be it is not getting interface, because when i pass
> >
> > dfu-util -a u-boot -U SPL-uboot in host machine
> >
> >
> > i got in target machine :-
> >
> > SF: Detected N25Q256 with page size 64 KiB, total 32 MiB
> >
> > Running: sf read 0x00000000 0x20000 0x0
> > Failed to map physical memory
> >
> > So, how can i analyze  flash memory, why it is getting fail to map
> > itself with physical memory.
> >
>
> What I can do is to check if the USB gadget DFU layer works with
> upload. With the NAND backend I'm not able to help much here (I don't
> have NAND memory on my targets).
>
> >
> > Thanks
> >
> >
> > On Tue, Jun 25, 2013 at 12:14 PM, Lukasz Majewski
> > <l.majewski@samsung.com>wrote:
> >
> > > Hi Sumit,
> > >
> > > > Hi Lukasz,
> > > >
> > > >       I put the dfu support into am335x board even i able to
> > > > download all images from dfu-util, but when i trying to upload
> > > > images, (from dfu devices to PC), my system failed.
> > > >
> > > >  Could you tell me what is the problem and where should i look
> > > > into?
> > >
> > > Indeed dfu upload doesn't work on Trats anymore (it uses eMMC
> > > backend). I've checked and fixed problem with dfu write yesterday
> > > (also with eMMC).
> > >
> > > Recently the dfu subsystem has been reworked to get rid of fixed
> > > buffer size, so please regard it as "under heavy development".
> > >
> > > I will look into this problem (for eMMC, not NAND - since my Trats
> > > doesn't have NAND memory).
> > >
> > > BTW: Which version of dfu-util do you use? (Mine is 0.5, but for
> > > debian 5.0 / 6.0 there also was very ancient 0.1 version - which
> > > doesn't work with current dfu code).
> > >
> > >
> > >
> > > >
> > > >
> > > > Thanks & Regards
> > > > ~Sumit gemini
> > > >
> > > >
> > > > On Mon, Jun 24, 2013 at 9:06 PM, Lukasz Majewski
> > > > <l.majewski@samsung.com>wrote:
> > > >
> > > > > From: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
> > > > >
> > > > > Proper adjustment for supporting DFU at GONI target has been
> > > > > made. The s5p_goni.h file has been updated. Moreover the code
> > > > > for low level USB initialization has been added to GONI board
> > > > > code.
> > > > >
> > > > > Signed-off-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
> > > > > Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> > > > > Tested-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
> > > > > Cc: Minkyu Kang <mk7.kang@samsung.com>
> > > > > ---
> > > > >  board/samsung/goni/goni.c  |    7 +++++++
> > > > >  include/configs/s5p_goni.h |   20 +++++++++++++++++++-
> > > > >  2 files changed, 26 insertions(+), 1 deletion(-)
> > > > >
> > > > > diff --git a/board/samsung/goni/goni.c
> > > > > b/board/samsung/goni/goni.c index ff76963..3c53106 100644
> > > > > --- a/board/samsung/goni/goni.c
> > > > > +++ b/board/samsung/goni/goni.c
> > > > > @@ -155,4 +155,11 @@ struct s3c_plat_otg_data s5pc110_otg_data
> > > > > = { .regs_otg = S5PC110_OTG_BASE,
> > > > >         .usb_phy_ctrl = S5PC110_USB_PHY_CONTROL,
> > > > >  };
> > > > > +
> > > > > +void board_usb_init(void)
> > > > > +{
> > > > > +       debug("USB_udc_probe\n");
> > > > > +       s3c_udc_probe(&s5pc110_otg_data);
> > > > > +}
> > > > > +
> > > > >  #endif
> > > > > diff --git a/include/configs/s5p_goni.h
> > > > > b/include/configs/s5p_goni.h index ec43652..8a824c7 100644
> > > > > --- a/include/configs/s5p_goni.h
> > > > > +++ b/include/configs/s5p_goni.h
> > > > > @@ -86,6 +86,17 @@
> > > > >  #define CONFIG_CMD_ONENAND
> > > > >  #define CONFIG_CMD_MTDPARTS
> > > > >  #define CONFIG_CMD_MMC
> > > > > +#define CONFIG_CMD_DFU
> > > > > +
> > > > > +/* USB Composite download gadget - g_dnl */
> > > > > +#define CONFIG_USBDOWNLOAD_GADGET
> > > > > +#define CONFIG_DFU_FUNCTION
> > > > > +#define CONFIG_DFU_MMC
> > > > > +
> > > > > +/* USB Samsung's IDs */
> > > > > +#define CONFIG_G_DNL_VENDOR_NUM 0x04E8
> > > > > +#define CONFIG_G_DNL_PRODUCT_NUM 0x6601
> > > > > +#define CONFIG_G_DNL_MANUFACTURER "Samsung"
> > > > >
> > > > >  #define CONFIG_BOOTDELAY               1
> > > > >  #define CONFIG_ZERO_BOOTDELAY_CHECK
> > > > > @@ -105,6 +116,10 @@
> > > > >                                 ",60m(qboot)"\
> > > > >                                 ",-(UBI)\0"
> > > > >
> > > > > +#define CONFIG_DFU_ALT \
> > > > > +       "u-boot mmc 80 400;" \
> > > > > +       "uImage fat 0 2\0" \
> > > > > +
> > > > >  #define NORMAL_MTDPARTS_DEFAULT MTDPARTS_DEFAULT
> > > > >
> > > > >  #define CONFIG_BOOTCOMMAND     "run mmcboot"
> > > > > @@ -175,7 +190,9 @@
> > > > >         "bootblock=9\0" \
> > > > >         "ubiblock=8\0" \
> > > > >         "ubi=enabled\0" \
> > > > > -       "opts=always_resume=1"
> > > > > +       "opts=always_resume=1\0" \
> > > > > +       "dfu_alt_info=" CONFIG_DFU_ALT
> > > > > +
> > > > >
> > > > >  /* Miscellaneous configurable options */
> > > > >  #define CONFIG_SYS_LONGHELP            /* undef to save memory
> > > > > */ @@ -242,5 +259,6 @@
> > > > >  #define CONFIG_USB_GADGET
> > > > >  #define CONFIG_USB_GADGET_S3C_UDC_OTG
> > > > >  #define CONFIG_USB_GADGET_DUALSPEED
> > > > > +#define CONFIG_USB_GADGET_VBUS_DRAW 2
> > > > >
> > > > >  #endif /* __CONFIG_H */
> > > > > --
> > > > > 1.7.10.4
> > > > >
> > > > > _______________________________________________
> > > > > U-Boot mailing list
> > > > > U-Boot@lists.denx.de
> > > > > http://lists.denx.de/mailman/listinfo/u-boot
> > > > >
> > >
> > >
> > >
> > > --
> > > Best regards,
> > >
> > > Lukasz Majewski
> > >
> > > Samsung R&D Institute Poland (SRPOL) | Linux Platform Group
> > >
>
>
>
> --
> Best regards,
>
> Lukasz Majewski
>
> Samsung R&D Institute Poland (SRPOL) | Linux Platform Group
>
Minkyu Kang - June 26, 2013, 8:24 a.m.
On 25/06/13 00:36, Lukasz Majewski wrote:
> From: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
> 
> Proper adjustment for supporting DFU at GONI target has been made.
> The s5p_goni.h file has been updated. Moreover the code for low level
> USB initialization has been added to GONI board code.
> 
> Signed-off-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> Tested-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com>
> Cc: Minkyu Kang <mk7.kang@samsung.com>
> ---
>  board/samsung/goni/goni.c  |    7 +++++++
>  include/configs/s5p_goni.h |   20 +++++++++++++++++++-
>  2 files changed, 26 insertions(+), 1 deletion(-)
> 
> diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c
> index ff76963..3c53106 100644
> --- a/board/samsung/goni/goni.c
> +++ b/board/samsung/goni/goni.c
> @@ -155,4 +155,11 @@ struct s3c_plat_otg_data s5pc110_otg_data = {
>  	.regs_otg = S5PC110_OTG_BASE,
>  	.usb_phy_ctrl = S5PC110_USB_PHY_CONTROL,
>  };
> +
> +void board_usb_init(void)
> +{
> +	debug("USB_udc_probe\n");
> +	s3c_udc_probe(&s5pc110_otg_data);
> +}
> +
>  #endif
> diff --git a/include/configs/s5p_goni.h b/include/configs/s5p_goni.h
> index ec43652..8a824c7 100644
> --- a/include/configs/s5p_goni.h
> +++ b/include/configs/s5p_goni.h
> @@ -86,6 +86,17 @@
>  #define CONFIG_CMD_ONENAND
>  #define CONFIG_CMD_MTDPARTS
>  #define CONFIG_CMD_MMC
> +#define CONFIG_CMD_DFU
> +
> +/* USB Composite download gadget - g_dnl */
> +#define CONFIG_USBDOWNLOAD_GADGET
> +#define CONFIG_DFU_FUNCTION
> +#define CONFIG_DFU_MMC
> +
> +/* USB Samsung's IDs */
> +#define CONFIG_G_DNL_VENDOR_NUM 0x04E8
> +#define CONFIG_G_DNL_PRODUCT_NUM 0x6601
> +#define CONFIG_G_DNL_MANUFACTURER "Samsung"
>  
>  #define CONFIG_BOOTDELAY		1
>  #define CONFIG_ZERO_BOOTDELAY_CHECK
> @@ -105,6 +116,10 @@
>  				",60m(qboot)"\
>  				",-(UBI)\0"
>  
> +#define CONFIG_DFU_ALT \
> +	"u-boot mmc 80 400;" \
> +	"uImage fat 0 2\0" \
> +
>  #define NORMAL_MTDPARTS_DEFAULT MTDPARTS_DEFAULT
>  
>  #define CONFIG_BOOTCOMMAND	"run mmcboot"
> @@ -175,7 +190,9 @@
>  	"bootblock=9\0" \
>  	"ubiblock=8\0" \
>  	"ubi=enabled\0" \
> -	"opts=always_resume=1"
> +	"opts=always_resume=1\0" \
> +	"dfu_alt_info=" CONFIG_DFU_ALT
> +

please remove this blank line.

>  
>  /* Miscellaneous configurable options */
>  #define CONFIG_SYS_LONGHELP		/* undef to save memory */
> @@ -242,5 +259,6 @@
>  #define CONFIG_USB_GADGET
>  #define CONFIG_USB_GADGET_S3C_UDC_OTG
>  #define CONFIG_USB_GADGET_DUALSPEED
> +#define CONFIG_USB_GADGET_VBUS_DRAW 2
>  
>  #endif	/* __CONFIG_H */
> 

Thanks,
Minkyu Kang.

Patch

diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c
index ff76963..3c53106 100644
--- a/board/samsung/goni/goni.c
+++ b/board/samsung/goni/goni.c
@@ -155,4 +155,11 @@  struct s3c_plat_otg_data s5pc110_otg_data = {
 	.regs_otg = S5PC110_OTG_BASE,
 	.usb_phy_ctrl = S5PC110_USB_PHY_CONTROL,
 };
+
+void board_usb_init(void)
+{
+	debug("USB_udc_probe\n");
+	s3c_udc_probe(&s5pc110_otg_data);
+}
+
 #endif
diff --git a/include/configs/s5p_goni.h b/include/configs/s5p_goni.h
index ec43652..8a824c7 100644
--- a/include/configs/s5p_goni.h
+++ b/include/configs/s5p_goni.h
@@ -86,6 +86,17 @@ 
 #define CONFIG_CMD_ONENAND
 #define CONFIG_CMD_MTDPARTS
 #define CONFIG_CMD_MMC
+#define CONFIG_CMD_DFU
+
+/* USB Composite download gadget - g_dnl */
+#define CONFIG_USBDOWNLOAD_GADGET
+#define CONFIG_DFU_FUNCTION
+#define CONFIG_DFU_MMC
+
+/* USB Samsung's IDs */
+#define CONFIG_G_DNL_VENDOR_NUM 0x04E8
+#define CONFIG_G_DNL_PRODUCT_NUM 0x6601
+#define CONFIG_G_DNL_MANUFACTURER "Samsung"
 
 #define CONFIG_BOOTDELAY		1
 #define CONFIG_ZERO_BOOTDELAY_CHECK
@@ -105,6 +116,10 @@ 
 				",60m(qboot)"\
 				",-(UBI)\0"
 
+#define CONFIG_DFU_ALT \
+	"u-boot mmc 80 400;" \
+	"uImage fat 0 2\0" \
+
 #define NORMAL_MTDPARTS_DEFAULT MTDPARTS_DEFAULT
 
 #define CONFIG_BOOTCOMMAND	"run mmcboot"
@@ -175,7 +190,9 @@ 
 	"bootblock=9\0" \
 	"ubiblock=8\0" \
 	"ubi=enabled\0" \
-	"opts=always_resume=1"
+	"opts=always_resume=1\0" \
+	"dfu_alt_info=" CONFIG_DFU_ALT
+
 
 /* Miscellaneous configurable options */
 #define CONFIG_SYS_LONGHELP		/* undef to save memory */
@@ -242,5 +259,6 @@ 
 #define CONFIG_USB_GADGET
 #define CONFIG_USB_GADGET_S3C_UDC_OTG
 #define CONFIG_USB_GADGET_DUALSPEED
+#define CONFIG_USB_GADGET_VBUS_DRAW 2
 
 #endif	/* __CONFIG_H */