This series brings in the kernel fdt file, adds USB definitions support to it, and provides a working USB driver for Tegra2 Seaboard.
(I have done this in one series since otherwise most of the fdt additions will just look like dead code.) The driver requires CONFIG_OF_CONTROL and a device tree to operate. Some enhancements to fdtdec are required to make this easier, and these are included in the series also. I have had to bring in basic GPIO support due to the request to put the USB VBUS into the fdt. Since the kernel recently got a very minimal USB binding, I have started with that and extended it where appropriate. Changes in v2: - Use "okay" rather than "ok" in fdt to signify an enabled node - Add header prototype for fdtdec_next_compatible() - Change fdtdec_next_alias() to increment 'upto' only on success - Rename get_prop_len() to get_prop_check_min_len() - New patch to add gpio_request() to asm-generic header - Pulled USB fdt definitions from newer for-next instead of master - Change fdt property usbparmas to usbtiming - Add details for port USB2 - Use "okay" instead of "ok" for fdt node status - Remove 0x from fdt aliases - Tidy code style in USB buffer alignment code - Display prominent warning when alignment code is triggered - Rename params to timing - Store entire fdt config in port list, not just register pointer - Remove non-fdt operation of USB, since it is not needed - Decode USB VBUS GPIO from the fdt - Decode phy type differently (to match new kernel fdt) - Rename tegra20-usb to tegra20-ehcui (to match new kernel fdt) - Improve debug() printouts in case of failure to init USB - Add setting of pinmux for USB VBUS GPIO - Remove unneeded CONFIG_TEGRA_USBx defines Simon Glass (17): fdt: Tidy up a few fdtdec problems fdt: Add functions to access phandles, arrays and bools Add gpio_request() to asm-generic header fdt: Add basic support for decoding GPIO definitions arm: fdt: Ensure that an embedded fdt is word-aligned arm: fdt: Add skeleton device tree file from kernel tegra: fdt: Add Tegra2x device tree file from kernel tegra: fdt: Add device tree file for Tegra2 Seaboard from kernel tegra: usb: fdt: Add additional device tree definitions for USB ports tegra: usb: fdt: Add USB definitions for Tegra2 Seaboard usb: Add support for data alignment usb: Add support for txfifo threshold tegra: usb: Add support for Tegra USB peripheral tegra: usb: Add USB support to nvidia boards tegra: usb: Add common USB defines for tegra2 boards tegra: usb: Enable USB on Seaboard tegra: fdt: Enable FDT support for Seaboard README | 9 + arch/arm/cpu/armv7/tegra2/Makefile | 4 +- arch/arm/cpu/armv7/tegra2/config.mk | 2 + arch/arm/cpu/armv7/tegra2/usb.c | 398 +++++++++++++++++++++++++++++ arch/arm/cpu/armv7/u-boot.lds | 5 + arch/arm/dts/skeleton.dtsi | 13 + arch/arm/dts/tegra20.dtsi | 238 +++++++++++++++++ arch/arm/include/asm/arch-tegra2/tegra2.h | 2 + arch/arm/include/asm/arch-tegra2/usb.h | 255 ++++++++++++++++++ board/nvidia/common/board.c | 8 + board/nvidia/dts/tegra2-seaboard.dts | 48 ++++ drivers/usb/host/Makefile | 1 + drivers/usb/host/ehci-hcd.c | 36 +++ drivers/usb/host/ehci-tegra.c | 63 +++++ drivers/usb/host/ehci.h | 6 +- dts/Makefile | 2 +- include/asm-generic/gpio.h | 10 + include/configs/seaboard.h | 12 + include/configs/tegra2-common.h | 14 + include/fdtdec.h | 113 ++++++++- lib/fdtdec.c | 182 +++++++++++++- 21 files changed, 1408 insertions(+), 13 deletions(-) create mode 100644 arch/arm/cpu/armv7/tegra2/usb.c create mode 100644 arch/arm/dts/skeleton.dtsi create mode 100644 arch/arm/dts/tegra20.dtsi create mode 100644 arch/arm/include/asm/arch-tegra2/usb.h create mode 100644 board/nvidia/dts/tegra2-seaboard.dts create mode 100644 drivers/usb/host/ehci-tegra.c -- 1.7.3.1 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot