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

Sumit Gemini sumit.gemini0 at gmail.com
Tue Jun 25 08:57:42 CEST 2013


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 at 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 at samsung.com>wrote:
> >
> > > From: Arkadiusz Wlodarczyk <a.wlodarczyk at 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 at samsung.com>
> > > Signed-off-by: Kyungmin Park <kyungmin.park at samsung.com>
> > > Tested-by: Arkadiusz Wlodarczyk <a.wlodarczyk at samsung.com>
> > > Cc: Minkyu Kang <mk7.kang at 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 at lists.denx.de
> > > http://lists.denx.de/mailman/listinfo/u-boot
> > >
>
>
>
> --
> Best regards,
>
> Lukasz Majewski
>
> Samsung R&D Institute Poland (SRPOL) | Linux Platform Group
>


More information about the U-Boot mailing list