[U-Boot] [PATCH v7 0/4] usb: add Faraday EHCI & Gadget support
Kuo-Jung Su
dantesu at gmail.com
Mon May 13 10:28:09 CEST 2013
From: Kuo-Jung Su <dantesu at faraday-tech.com>
This patch adds support to both Faraday FUSBH200 and FOTG210,
the differences between Faraday EHCI and standard EHCI are
listed bellow:
1. The PORTSC starts at 0x30 instead of 0x44.
2. The CONFIGFLAG(0x40) is not only un-implemented, and
also has its address removed.
3. Faraday EHCI is a TDI design, but it doesn't
compatible with the general TDI implementation
found at both U-Boot and Linux.
4. The ISOC descriptors differs from standard EHCI in
several ways. But since U-boot doesn't support ISOC,
we don't have to worry about that.
The Faraday FOTG210 is an OTG chip which could operate
as either an EHCI Host or a USB Device at a time.
Changes for v7:
- Rebase with u-boot-bbd0f7e3ba66d288a2f146f1c7797801e04598ae,
and also make sure it's compatible with
u-boot-usb-dc69e46302a36e60e2417bba8c6ea78761a37ebf.
- Update TDI aliased functions, since there is another
similar patch had been committed and acceptted.
- ehci-hcd: ehci_get_portsc_register(): make sure port is always >= 0
Changes for v6:
- usb_hub: Simplify CONFIG_USB_HUB_MIN_POWER_ON_DELAY
default value setup.
- ehci-hcd: Simplify weak aliased function declaration
- ehci-hcd: Drop redundant line feed
Changes for v5:
- Split up EHCI changeset
- usb_hub: replace the Faraday EHCI ifdef for the long delay
in usb_hub_configure() with the new configuration option:
USB_HUB_MIN_POWER_ON_DELAY, which is used in usb_hub_power_on()
to control the minimum usb hub power-on delay.
- ehci-faraday: fix the invalid multi-line comment style.
- gadget-fotg210: coding style cleanup.
- gadget-fotg210: drop postfix '__iomem' from struct fotg210_regs
- gadget-fotg210: use permanent delay for hardware reset
- gadget-fotg210: drop '#ifndef CONFIG_SYS_DCACHE_OFF'
- gadget-fotg210: drop magic numbers
Changes for v4:
- Use only macro constants and named bit/mask
- Use weak-aliased functions for tdi implementation and
also portsc registers to avoid poluting ehci.h with ifdefs
Changes for v3:
- Coding Style cleanup.
- Drop bit fields from c struct.
- Drop macros for wirtel()/readl(), call them directly.
- Always insert a blank line between declarations and code.
- Replace all the infinite wait loop with a timeout.
- Add '__iomem' to all the declaration of HW register pointers.
Changes for v2:
- Coding Style cleanup.
- Use readl(), writel(), clrsetbits_le32() to replace REG() macros.
- Use structure based hardware registers to replace the macro constants.
- Replace BIT() with BIT_MASK().
- echi-faraday: Remove debug codes.
Kuo-Jung Su (4):
usb: hub: make minimum power-on delay configurable
usb: ehci: add weak-aliased function for PORTSC
usb: ehci: add Faraday USB 2.0 EHCI support
usb: gadget: add Faraday FOTG210 USB gadget support
README | 3 +
common/usb_hub.c | 15 +-
drivers/usb/gadget/Makefile | 1 +
drivers/usb/gadget/fotg210.c | 948 +++++++++++++++++++++++++++++++++++++
drivers/usb/gadget/gadget_chips.h | 8 +
drivers/usb/host/Makefile | 1 +
drivers/usb/host/ehci-faraday.c | 154 ++++++
drivers/usb/host/ehci-hcd.c | 28 +-
include/usb/fotg210.h | 364 ++++++++++++++
include/usb/fusbh200.h | 61 +++
10 files changed, 1576 insertions(+), 7 deletions(-)
create mode 100644 drivers/usb/gadget/fotg210.c
create mode 100644 drivers/usb/host/ehci-faraday.c
create mode 100644 include/usb/fotg210.h
create mode 100644 include/usb/fusbh200.h
--
1.7.9.5
More information about the U-Boot
mailing list