This patch series adds USB host support to Tegra2. It has been tested on Seaboard.
Since the Tegra2 includes a vast number of registers it is critical that we make it as easy and error-free as possible to write code which accesses those registers. So a simple bitfield access mechanism is provided which mirrors the notation in many datasheets (16:12 means bits 16 downto 12). Support is provided for clock and pinmux functions which are used in USB and will be used commonly in future patches. A microsecond timer is required for PLL setup timing. Finally, as a motivation for all this effort, network booting is enabled for Seaboard. A previous patch containing full documentation want sent to the list on 13-Apr-11 (Add documentation for USB Host Networking). These patches are prepared against u-boot-arm.git/master. v2: Resend since no one seemed to notice the first set :-) Clean TEST= things out of commit messages Add Harmony support Simon Glass (7): Tegra2: Add bitfield access macros Tegra2: Add microsecond timer functions Tegra2: Add more clock support Tegra2: add additional pin multiplexing features Tegra2: Use clock and pinmux functions to simplify code Tegra2: Add USB support Tegra2: config: enable network booting arch/arm/cpu/armv7/tegra2/Makefile | 2 +- arch/arm/cpu/armv7/tegra2/ap20.c | 92 +++------ arch/arm/cpu/armv7/tegra2/clock.c | 163 ++++++++++++++ arch/arm/cpu/armv7/tegra2/pinmux.c | 54 +++++ arch/arm/cpu/armv7/tegra2/timer.c | 27 ++- arch/arm/include/asm/arch-tegra2/bitfield.h | 151 +++++++++++++ arch/arm/include/asm/arch-tegra2/clk_rst.h | 129 +++++------- arch/arm/include/asm/arch-tegra2/clock.h | 264 ++++++++++++++++++++++ arch/arm/include/asm/arch-tegra2/pinmux.h | 156 +++++++++++++- arch/arm/include/asm/arch-tegra2/tegra2.h | 2 + arch/arm/include/asm/arch-tegra2/timer.h | 34 +++ arch/arm/include/asm/arch-tegra2/usb.h | 217 +++++++++++++++++++ board/nvidia/common/Makefile | 53 +++++ board/nvidia/common/board.c | 70 +++---- board/nvidia/common/usb.c | 313 +++++++++++++++++++++++++++ drivers/usb/host/Makefile | 1 + drivers/usb/host/ehci-hcd.c | 39 ++++ drivers/usb/host/ehci-tegra.c | 73 +++++++ drivers/usb/host/ehci.h | 6 +- include/configs/harmony.h | 7 + include/configs/seaboard.h | 15 ++ include/configs/tegra2-common.h | 96 ++++++++- test/Makefile | 36 +++ test/bitfield.c | 230 ++++++++++++++++++++ 24 files changed, 2027 insertions(+), 203 deletions(-) create mode 100644 arch/arm/cpu/armv7/tegra2/clock.c create mode 100644 arch/arm/cpu/armv7/tegra2/pinmux.c create mode 100644 arch/arm/include/asm/arch-tegra2/bitfield.h create mode 100644 arch/arm/include/asm/arch-tegra2/clock.h create mode 100644 arch/arm/include/asm/arch-tegra2/timer.h create mode 100644 arch/arm/include/asm/arch-tegra2/usb.h create mode 100644 board/nvidia/common/Makefile create mode 100644 board/nvidia/common/usb.c create mode 100644 drivers/usb/host/ehci-tegra.c create mode 100644 test/Makefile create mode 100644 test/bitfield.c -- 1.7.3.1 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot