
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@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@denx.de wrote:
Dear S Durga Prasad Paladugu,
In message <CAAhU36hRQ_AgOR6bodRz-8pcLb2hkVW-ztrKVX48yFkcEWS= Hw@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@denx.de A day without sunshine is like night.