<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/drivers/usb/gadget, branch v2014.04</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/drivers/usb/gadget?h=v2014.04</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/drivers/usb/gadget?h=v2014.04'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2014-03-23T01:20:09Z</updated>
<entry>
<title>usb: dfu: introduce dfuMANIFEST state</title>
<updated>2014-03-23T01:20:09Z</updated>
<author>
<name>Heiko Schocher</name>
<email>hs@denx.de</email>
</author>
<published>2014-03-18T07:09:56Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=001a8319866062cd63b7b62e5bb4b85eacfde4b4'/>
<id>urn:sha1:001a8319866062cd63b7b62e5bb4b85eacfde4b4</id>
<content type='text'>
on nand flash using ubi, after the download of the new image into
the flash, the "rest" of the nand sectors get erased while flushing
the medium. With current u-boot version dfu-util may show:

Starting download: [##################################################] finished!
state(7) = dfuMANIFEST, status(0) = No error condition is present
unable to read DFU status

as get_status is not answered while erasing sectors, if erasing
needs some time.

So do the following changes to prevent this:

- introduce dfuManifest state
  According to dfu specification
  ( http://www.usb.org/developers/devclass_docs/usbdfu10.pdf ) section 7:
  "the device enters the dfuMANIFEST-SYNC state and awaits the solicitation
   of the status report by the host. Upon receipt of the anticipated
   DFU_GETSTATUS, the device enters the dfuMANIFEST state, where it
   completes its reprogramming operations."

- when stepping into dfuManifest state, sending a PollTimeout
  DFU_MANIFEST_POLL_TIMEOUT in ms, to the host, so the host
  (dfu-util) waits the PollTimeout before sending a get_status again.

Signed-off-by: Heiko Schocher &lt;hs@denx.de&gt;
Cc: Lukasz Majewski &lt;l.majewski@samsung.com&gt;
Cc: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
Cc: Marek Vasut &lt;marex@denx.de&gt;
Cc: Pantelis Antoniou &lt;panto@antoniou-consulting.com&gt;
</content>
</entry>
<entry>
<title>sizes.h - consolidate for all architectures</title>
<updated>2014-03-04T17:15:01Z</updated>
<author>
<name>Alexey Brodkin</name>
<email>Alexey.Brodkin@synopsys.com</email>
</author>
<published>2014-02-26T13:47:58Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=1ace4022394eacbdae12e7275c445699f8ad4833'/>
<id>urn:sha1:1ace4022394eacbdae12e7275c445699f8ad4833</id>
<content type='text'>
Copied from Linux sources "include/linux/sizes.h" commit
413541dd66d51f791a0b169d9b9014e4f56be13c

Signed-off-by: Alexey Brodkin &lt;abrodkin@synopsys.com&gt;

Cc: Vineet Gupta &lt;vgupta@synopsys.com&gt;
Cc: Tom Rini &lt;trini@ti.com&gt;
Cc: Stefan Roese &lt;sr@denx.de&gt;
Cc: Albert Aribaud &lt;albert.u.boot@aribaud.net&gt;
Acked-by: Tom Rini &lt;trini@ti.com&gt;
Acked-by: Stefan Roese &lt;sr@denx.de&gt;
[trini: Add bcm Kona platforms to the patch]
Signed-off-by: Tom Rini &lt;trini@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: mv_udc: Rename to ci_udc</title>
<updated>2014-02-06T03:48:15Z</updated>
<author>
<name>Marek Vasut</name>
<email>marex@denx.de</email>
</author>
<published>2014-02-06T01:43:45Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=f016f8ca3d503af004a649de1c704d5ddf3def22'/>
<id>urn:sha1:f016f8ca3d503af004a649de1c704d5ddf3def22</id>
<content type='text'>
The mv_udc is not marvell-specific anymore. The mv_udc is used to drive
generic ChipIdea CI13xxx series OTG cores, so rename the driver to ci_udc
instead.

Signed-off-by: Marek Vasut &lt;marex@denx.de&gt;
Cc: Eric Nelson &lt;eric.nelson@boundarydevices.com&gt;
Cc: Stefano Babic &lt;sbabic@denx.de&gt;
</content>
</entry>
<entry>
<title>usb:gadget:f_thor: cosmetic: Remove debug memset</title>
<updated>2014-02-06T01:22:45Z</updated>
<author>
<name>Lukasz Majewski</name>
<email>l.majewski@samsung.com</email>
</author>
<published>2014-02-05T09:10:46Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=fc2d5d04e1ebfd5ed5bc031938573d3a19413b7b'/>
<id>urn:sha1:fc2d5d04e1ebfd5ed5bc031938573d3a19413b7b</id>
<content type='text'>
Apparently debug memset (with a 0x55 value) has been overlooked in the
f_thor code.

Signed-off-by: Lukasz Majewski &lt;l.majewski@samsung.com&gt;
Cc: Marek Vasut &lt;marex@denx.de&gt;
</content>
</entry>
<entry>
<title>usb:gadget:f_thor: Allocate request up to THOR_PACKET_SIZE not ep-&gt;maxpacket</title>
<updated>2014-02-06T01:22:45Z</updated>
<author>
<name>Lukasz Majewski</name>
<email>l.majewski@samsung.com</email>
</author>
<published>2014-02-05T09:10:45Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=84c13e6f61ecf73d2d477c055a6dc96630f3e4b4'/>
<id>urn:sha1:84c13e6f61ecf73d2d477c055a6dc96630f3e4b4</id>
<content type='text'>
Now it is possible to allocate static request - which receives data from
the host (OUT transaction) to the size of THOR packet.

Signed-off-by: Lukasz Majewski &lt;l.majewski@samsung.com&gt;
Cc: Marek Vasut &lt;marex@denx.de&gt;
</content>
</entry>
<entry>
<title>usb:udc:samsung: Zero copy approach for data passed to Samsung's UDC driver</title>
<updated>2014-02-06T01:22:45Z</updated>
<author>
<name>Lukasz Majewski</name>
<email>l.majewski@samsung.com</email>
</author>
<published>2014-02-05T09:10:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=e0059eaef18dbdc65ee420a337aecfa555e8d493'/>
<id>urn:sha1:e0059eaef18dbdc65ee420a337aecfa555e8d493</id>
<content type='text'>
The Samsung's UDC driver is not anymore copying data from USB requests to
aligned internal buffers. Now it works directly in data allocated in the
upper layers like UMS, DFU, THOR.

This change is possible since those gadgets now must take care to allocate
buffers aligned to cache line (CONFIG_SYS_CACHELINE_SIZE).

This can be achieved by using DEFINE_CACHE_ALIGN_BUFFER() or
ALLOC_CACHE_ALIGN_BUFFER() macros. Those take care to allocate buffer
aligned to cache line in both starting address and its size.
Sometimes it is enough to just use memalign() with size being a
multiplication of cache line size.

Test condition
- test HW + measurement: Trats - Exynos4210 rev.1
- test HW Trats2 - Exynos4412 rev.1
400 MiB compressed rootfs image download with `thor 0 mmc 0`

Measurement:
Transmission speed: 27.04 MiB/s

Signed-off-by: Lukasz Majewski &lt;l.majewski@samsung.com&gt;
Cc: Marek Vasut &lt;marex@denx.de&gt;
</content>
</entry>
<entry>
<title>usb:udc:samsung: Allow burst transfers for non EP0 endpints</title>
<updated>2014-02-06T01:22:45Z</updated>
<author>
<name>Lukasz Majewski</name>
<email>l.majewski@samsung.com</email>
</author>
<published>2014-02-05T09:10:43Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=9c9822188cf2d7eeee7ae4f64a231a2d013df690'/>
<id>urn:sha1:9c9822188cf2d7eeee7ae4f64a231a2d013df690</id>
<content type='text'>
This patch removed obscure restriction on the HW setting of DMA transfers.
Before this change each transaction sent up to 512 bytes (with packet count
equal to 1) for non EP0 transfer.

Now it is possible to setup DMA transaction up to DMA_BUFFER_SIZE.

Test condition
- test HW + measurement: Trats - Exynos4210 rev.1
- test HW Trats2 - Exynos4412 rev.1
400 MiB compressed rootfs image download with `thor 0 mmc 0`

Measurement:
Transmission speed: 20.74 MiB/s

Signed-off-by: Lukasz Majewski &lt;l.majewski@samsung.com&gt;
Cc: Marek Vasut &lt;marex@denx.de&gt;
</content>
</entry>
<entry>
<title>usb:udc:samsung: Remove redundant cache operation from Samsung UDC driver</title>
<updated>2014-02-06T01:22:45Z</updated>
<author>
<name>Lukasz Majewski</name>
<email>l.majewski@samsung.com</email>
</author>
<published>2014-02-05T09:10:42Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=716662bd194f72cdf9bf05e0f57d9f6944dc953a'/>
<id>urn:sha1:716662bd194f72cdf9bf05e0f57d9f6944dc953a</id>
<content type='text'>
A set of cache operations (both invalidation and flush) were redundant
in the S3C HS OTG Samsung driver:

1. s3c_udc_ep0_zlp - to transmit EP0's ZLP packets one don't need to flush
the cache (since it is the zero length transmission)

2. s3c_udc_pre_setup and s3c_ep0_complete_out - cache invalidation is not
needed when the buffer for OUT EP0 transmission is setup, since no data
has yet arrived.

Cache cleanups presented above don't contribute much to transmission speed
up, hence shall be regarded as cosmetic changes.

3. setdma_rx - here the s3c UDC driver's internal buffers were invalidated.
This call is not needed anymore since we reuse the buffers passed from
gadgets. This is a key contribution to transmission speed improvement.

Test condition
- test HW + measurement: Trats - Exynos4210 rev.1
- test HW Trats2 - Exynos4412 rev.1
400 MiB compressed rootfs image download with `thor 0 mmc 0`

Measurements:

Base values (without improvement):
Transmission speed: 9.51 MiB/s

After the change:
Transmission speed: 10.15 MiB/s

Signed-off-by: Lukasz Majewski &lt;l.majewski@samsung.com&gt;
Cc: Marek Vasut &lt;marex@denx.de&gt;
</content>
</entry>
<entry>
<title>usb:gadget:ums: Replace malloc calls with memalign to fix cache buffer alignment</title>
<updated>2014-02-06T01:22:44Z</updated>
<author>
<name>Lukasz Majewski</name>
<email>l.majewski@samsung.com</email>
</author>
<published>2014-02-05T09:10:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=16b7a29fc6fac16431051de06d62da689360c40a'/>
<id>urn:sha1:16b7a29fc6fac16431051de06d62da689360c40a</id>
<content type='text'>
Calls to malloc() have been replaced by memalign. It now provides proper
buffer alignment.

Signed-off-by: Lukasz Majewski &lt;l.majewski@samsung.com&gt;
Cc: Marek Vasut &lt;marex@denx.de&gt;
</content>
</entry>
<entry>
<title>usb: gadget: fotg210: EP0 fifo empty indication is non-reliable</title>
<updated>2014-01-13T11:15:13Z</updated>
<author>
<name>Kuo-Jung Su</name>
<email>dantesu@faraday-tech.com</email>
</author>
<published>2013-12-20T04:33:00Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=dcad280056b656896a18c5955d8facc236a1bed7'/>
<id>urn:sha1:dcad280056b656896a18c5955d8facc236a1bed7</id>
<content type='text'>
The fifo size of ep0 is 64 bytes, and if the packet size grater than
64 bytes, the driver would have to fill up the fifo multiple times,
and before filling up the fifo, the driver should make sure the fifo
is empty by checking fifo empty indication.

However there is a hardware bug that the fifo empty indication is
somehow a bit earlier than fifo reset. So if I don't add an extra
delay here, the data might be corrupted. (i.e., 1 byte missing)

After a couple of tests, it truns out that 1 usec is good enough.

This workaround should be applied to all hardware revisions.

Signed-off-by: Kuo-Jung Su &lt;dantesu@faraday-tech.com&gt;
CC: Marek Vasut &lt;marex@denx.de&gt;
</content>
</entry>
</feed>
