[U-Boot] dfu download issue with ci_udc

S Durga Prasad Paladugu durgaprasad.psdp at gmail.com
Thu Jul 24 08:58:42 CEST 2014


Hi,

I did the following modification in ci_udc driver  for handling the DFU
Dwonalod request with zpl and it worked for me and i am not sure whether it
would be the real fix for it(that 0x21 is DFU download request with zero
packet length), just sent for reference.

diff --git a/drivers/usb/gadget/ci_udc.c b/drivers/usb/gadget/ci_udc.c
index 4cd19c3..64a6662 100644
--- a/drivers/usb/gadget/ci_udc.c
+++ b/drivers/usb/gadget/ci_udc.c
@@ -581,7 +581,10 @@ static void handle_setup(void)
                /* 0 length -> no Data Stage. Flip dir for Status Stage */
                DBG("%s: 0 length: flip ep0 dir for Status Stage\n",
__func__);
                flip_ep0_direction();
-               controller.ep0_data_phase = false;
+               if (r.bRequestType == 0x21)
+                       controller.ep0_data_phase = true;
+               else
+                       controller.ep0_data_phase = false;
        }

        list_del_init(&ci_req->queue);


Regards,
DP


On Thu, Jul 24, 2014 at 9:52 AM, S Durga Prasad Paladugu <
durgaprasad.psdp at gmail.com> wrote:

> Hi Wolfgang,
>
> I am using mainline 2014.1 git version but integrated that with the latest
> ci_udc driver changes and trying to test it on zynq board.I integrated the
> latest ci_udc as it has fixes related to the dfu. Previously with 2014.1
> its not working at all and timing out at host while trying to download so i
> integrated with latest driver then download was sucessfull at host side but
> at device side its not copying dfu buf to actual interface(its ram address
> in my case).This is because the zpl at the end of the dfu download not
> working as expected.
>
> Regards,
> DP
>
>
> On Thu, Jul 24, 2014 at 2:16 AM, Wolfgang Denk <wd at denx.de> wrote:
>
>> Dear S Durga Prasad Paladugu,
>>
>> In message <CAAhU36hRQ_AgOR6bodRz-8pcLb2hkVW-ztrKVX48yFkcEWS=
>> Hw at mail.gmail.com> you wrote:
>> >
>> > I am trying to download the file from dfu-utilities(version 0.7) and
>> using
>> > the ci_udc at device side. After all the data was sent from the host,
>> the
>> ...
>>
>> What is your exact U-Boot verosion (git commit ID), and which exact
>> board are you testing on?
>>
>> Best regards,
>>
>> Wolfgang Denk
>>
>> --
>> DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
>> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
>> Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
>> A day without sunshine is like night.
>>
>
>


More information about the U-Boot mailing list