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

Lukasz Majewski l.majewski at samsung.com
Tue Jun 25 09:35:23 CEST 2013


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 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
> >



-- 
Best regards,

Lukasz Majewski

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


More information about the U-Boot mailing list