1. 12 Mar, 2014 1 commit
  2. 10 Mar, 2014 3 commits
    • Stephen Warren's avatar
      usb: create common header virtual root hub descriptors · eb838e7d
      Stephen Warren authored
      
      
      Many USB host controller drivers contain almost identical copies of the
      same virtual root hub descriptors. Put these into a common file to avoid
      duplication.
      
      Note that there were some very minor differences between the descriptors
      in the various files, such as:
      
      - USB 1.0 vs. USB 1.1
      - Manufacturer/Device ID
      - Max packet size
      - String content
      
      I assume these aren't relevant.
      
      Cc: Thomas Lange <thomas@corelatus.se>
      Cc: Shinya Kuribayashi <skuribay@pobox.com>
      Cc: Gary Jennejohn <garyj@denx.de>
      Cc: Wolfgang Denk <wd@denx.de>
      Cc: Eric Millbrandt <emillbrandt@coldhaus.com>
      Cc: Pierre Aubert <p.aubert@staubli.com>
      Cc: Stefan Roese <sr@denx.de>
      Cc: Daniel Hellstrom <daniel@gaisler.com>
      Cc: Denis Peter <d.peter@mpl.ch>
      Cc: Rodolfo Giometti <giometti@linux.it>
      Cc: Zhang Wei <wei.zhang@freescale.com>
      Cc: Mateusz Zalega <m.zalega@samsung.com>
      Cc: Remy Bohmer <linux@bohmer.net>
      Cc: Markus Klotzbuecher <mk@denx.de>
      Cc: Minkyu Kang <mk7.kang@samsung.com>
      Cc: Gary Jennejohn <garyj@denx.de>
      Cc: C Nauman <cnauman@diagraph.com>
      Cc: David Müller <d.mueller@elsoft.ch>
      Cc: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
      Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
      Cc: Thomas Abraham <t-abraham@ti.com>
      Cc: Tom Rini <trini@ti.com>
      Cc: Andrew Murray <amurray@embedded-bits.co.uk>
      Cc: Matej Frančeškin <matej.franceskin@comtrade.com>
      Cc: Cliff Cai <cliff.cai@analog.com>
      Cc: Bryan Wu <cooloney@gmail.com>
      Signed-off-by: default avatarStephen Warren <swarren@wwwdotorg.org>
      eb838e7d
    • Stephen Warren's avatar
      usb: ehci: fully align interrupt QHs/QTDs · 8165e34b
      Stephen Warren authored
      
      
      These data structures are passed to cache-flushing routines, and hence
      must be conform to both the USB the cache-flusing alignment requirements.
      That means aligning to USB_DMA_MINALIGN. This is important on systems
      where cache lines are >32 bytes.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      8165e34b
    • Stephen Warren's avatar
      ush: ehci: initialize altnext pointers in QH · 2456b97f
      Stephen Warren authored
      
      
      Section 4.10.2 "Advance Queue" of ehci-specification-for-usb.pdf
      specifies how an EHCI controller loads a new QTD for processing if the
      QH is not already marked as active. It states:
      
      =====
      If the field Bytes to Transfer is not zero and the T-bit in the Alternate
      Next qTD Pointer is set to zero, then the host controller uses the
      Alternate Next qTD Pointer. Otherwise, the host controller uses the Next
      qTD Pointer. If Next qTD Pointer’s T-bit is set to a one, then the host
      controller exits this state and uses the horizontal pointer to the next
      schedule data structure.
      =====
      
      Hence, we must ensure that the alternate next QTD pointer's T-bit
      (TERMINATE) is set, so the EHCI controller knows to use the next QTD
      pointer.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      2456b97f
  3. 07 Mar, 2014 1 commit
    • Stephen Warren's avatar
      net: asix: don't pad odd-length TX packets · 9a04a858
      Stephen Warren authored
      
      
      For Ethernet/USB RX packets, the ASIX HW pads odd-sized packets so that
      they have an even size. Currently, asix_recv() does remove this padding,
      and asic_send() adds equivalent padding in the TX path. However, the HW
      does not appear to need this packing for TX packets in practical testing
      with "ASIX Elec. Corp. AX88x72A 000001" Vendor: 0x0b95 Product 0x7720
      Version 0.1. The Linux kernel does no such padding for the TX path.
      
      Remove the padding from the TX path:
      
      * For consistency with the Linux kernel.
      * NVIDIA has a Tegra simulator which validates that the length of USB
        packets sent to an ASIX device matches the packet length value inside
        the packet data. Having U-Boot and the kernel do the same thing when
        creating the TX packets simplifies the simulator's validation.
      
      Cc: Lucas Stach <dev@lynxeye.de>
      Cc: Marek Vasut <marex@denx.de>
      Cc: Simon Glass <sjg@chromium.org>
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Acked-by: default avatarSimon Glass <sjg@chromium.org>
      Acked-by: default avatarMarek Vasut <marex@denx.de>
      Tested-by: default avatarMarek Vasut <marex@denx.de>
      Tested-by: default avatarGerhard Sittig <gsi@denx.de>
      9a04a858
  4. 04 Mar, 2014 1 commit
  5. 24 Feb, 2014 1 commit
  6. 20 Feb, 2014 1 commit
  7. 19 Feb, 2014 1 commit
    • Masahiro Yamada's avatar
      kbuild: use Linux Kernel build scripts · 6825a95b
      Masahiro Yamada authored
      
      
      Now we are ready to switch over to real Kbuild.
      
      This commit disables temporary scripts:
        scripts/{Makefile.build.tmp, Makefile.host.tmp}
      and enables real Kbuild scripts:
        scripts/{Makefile.build,Makefile.host,Makefile.lib}.
      
      This switch is triggered by the line in scripts/Kbuild.include
        -build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build.tmp obj
        +build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj
      
      We need to adjust some build scripts for U-Boot.
      But smaller amount of modification is preferable.
      
      Additionally, we need to fix compiler flags which are
      locally added or removed.
      
      In Kbuild, it is not allowed to change CFLAGS locally.
      Instead, ccflags-y, asflags-y, cppflags-y,
      CFLAGS_$(basetarget).o, CFLAGS_REMOVE_$(basetarget).o
      are prepared for that purpose.
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      Tested-by: default avatarGerhard Sittig <gsi@denx.de>
      6825a95b
  8. 06 Feb, 2014 8 commits
    • Marek Vasut's avatar
      usb: mv_udc: Rename to ci_udc · f016f8ca
      Marek Vasut authored
      
      
      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: default avatarMarek Vasut <marex@denx.de>
      Cc: Eric Nelson <eric.nelson@boundarydevices.com>
      Cc: Stefano Babic <sbabic@denx.de>
      f016f8ca
    • Marek Vasut's avatar
      ARM: USB: Remove the IXP EHCI driver · b1c75678
      Marek Vasut authored
      
      
      The driver is no longer used, remove it.
      Signed-off-by: default avatarMarek Vasut <marex@denx.de>
      Cc: Albert Aribaud <albert.u.boot@aribaud.net>
      Cc: Michael Schwingen <michael@schwingen.org>
      Cc: Tom Rini <trini@ti.com>
      b1c75678
    • Lukasz Majewski's avatar
      usb:gadget:f_thor: cosmetic: Remove debug memset · fc2d5d04
      Lukasz Majewski authored
      
      
      Apparently debug memset (with a 0x55 value) has been overlooked in the
      f_thor code.
      Signed-off-by: default avatarLukasz Majewski <l.majewski@samsung.com>
      Cc: Marek Vasut <marex@denx.de>
      fc2d5d04
    • Lukasz Majewski's avatar
      usb:gadget:f_thor: Allocate request up to THOR_PACKET_SIZE not ep->maxpacket · 84c13e6f
      Lukasz Majewski authored
      
      
      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: default avatarLukasz Majewski <l.majewski@samsung.com>
      Cc: Marek Vasut <marex@denx.de>
      84c13e6f
    • Lukasz Majewski's avatar
      usb:udc:samsung: Zero copy approach for data passed to Samsung's UDC driver · e0059eae
      Lukasz Majewski authored
      
      
      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: default avatarLukasz Majewski <l.majewski@samsung.com>
      Cc: Marek Vasut <marex@denx.de>
      e0059eae
    • Lukasz Majewski's avatar
      usb:udc:samsung: Allow burst transfers for non EP0 endpints · 9c982218
      Lukasz Majewski authored
      
      
      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: default avatarLukasz Majewski <l.majewski@samsung.com>
      Cc: Marek Vasut <marex@denx.de>
      9c982218
    • Lukasz Majewski's avatar
      usb:udc:samsung: Remove redundant cache operation from Samsung UDC driver · 716662bd
      Lukasz Majewski authored
      
      
      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: default avatarLukasz Majewski <l.majewski@samsung.com>
      Cc: Marek Vasut <marex@denx.de>
      716662bd
    • Lukasz Majewski's avatar
      usb:gadget:ums: Replace malloc calls with memalign to fix cache buffer alignment · 16b7a29f
      Lukasz Majewski authored
      
      
      Calls to malloc() have been replaced by memalign. It now provides proper
      buffer alignment.
      Signed-off-by: default avatarLukasz Majewski <l.majewski@samsung.com>
      Cc: Marek Vasut <marex@denx.de>
      16b7a29f
  9. 13 Jan, 2014 4 commits
  10. 18 Dec, 2013 5 commits
  11. 13 Dec, 2013 1 commit
  12. 06 Dec, 2013 1 commit
    • Roger Quadros's avatar
      usb: ehci-omap: Reset the USB Host OMAP module · 835a5559
      Roger Quadros authored
      In commit bb1f327d
      
       we removed the UHH reset to fix NFS root (over usb
      ethernet) problems with Beagleboard (3530 ES1.0). However, this
      seems to cause USB detection problems for Pandaboard, about (3/8).
      
      On further investigation, it seems that doing the UHH reset is not
      the cause of the original Beagleboard problem, but in the way the reset
      was done.
      
      This patch adds proper UHH RESET mechanism for OMAP3 and OMAP4/5 based
      on the UHH_REVISION register. This should fix the Beagleboard NFS
      problem as well as the Pandaboard USB detection problem.
      Reported-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      CC: Stefan Roese <sr@denx.de>
      Reviewed-by: default avatarStefan Roese <sr@denx.de>
      Signed-off-by: default avatarRoger Quadros <rogerq@ti.com>
      835a5559
  13. 02 Dec, 2013 1 commit
  14. 12 Nov, 2013 1 commit
  15. 08 Nov, 2013 5 commits
  16. 04 Nov, 2013 2 commits
  17. 31 Oct, 2013 1 commit
  18. 24 Oct, 2013 1 commit
  19. 22 Oct, 2013 1 commit