Hi, On Wed, Jan 11, 2012 at 8:32 PM, Simon Glass <s...@chromium.org> wrote: > This series brings in the Linux kernel fdt file 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. > > Tegra likes to have cache-aligned buffers. I have dropped the patch which > implements this since we will solve this problem by making callers align > their buffers (as we did with MMC). > > Changes in v2: > - Use "okay" instead of "ok" for fdt node status > - Remove 0x from fdt aliases > - 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 > > Changes in v3: > - Remove "okay" from nodes since this is the default anyway > - Fix device tree indenting with tabs instead of spaces > - Disable USB2 which is not used on Seaboard > - Remove usbparams properties from fdt and moved them to C code > - Drop Tegra USB alignment patch as we will deal with this another way > > Changes in v4: > - Add staging area for device tree bindings used in U-Boot > - Add clock bindings for Tegra2x > - Add fdtdec function to return peripheral ID > - Use updated fdtdec alias functiona to get USB aliases > - Use peripheral clock node to obtain peripheral ID
There are quite a number of comments for v5 due to the fdt binding changes. So I am sending the entire series again to avoid confusion. It is now down to only 18 patches though, so some light showing through. Regards, Simon > > Simon Glass (20): > fdt: Tidy up a few fdtdec problems > fdt: Add functions to access phandles, arrays and bools > 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 > fdt: Add staging area for device tree binding documentation > fdt: Add tegra-usb bindings file from linux > tegra: fdt: Add additional USB binding > tegra: fdt: Add clock bindings > tegra: usb: fdt: Add additional device tree definitions for USB ports > tegra: usb: fdt: Add USB definitions for Tegra2 Seaboard > usb: Add support for txfifo threshold > fdt: Add function to return peripheral/clock ID > 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 | 3 + > arch/arm/cpu/armv7/tegra2/Makefile | 4 +- > arch/arm/cpu/armv7/tegra2/config.mk | 2 + > arch/arm/cpu/armv7/tegra2/usb.c | 426 > ++++++++++++++++++++++++ > arch/arm/cpu/armv7/u-boot.lds | 5 + > arch/arm/dts/skeleton.dtsi | 13 + > arch/arm/dts/tegra20.dtsi | 199 +++++++++++ > 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 | 47 +++ > doc/device-tree-bindings/README | 19 + > doc/device-tree-bindings/clock/tegra-periphclk | 51 +++ > doc/device-tree-bindings/usb/tegra-usb.txt | 17 + > drivers/usb/host/Makefile | 1 + > drivers/usb/host/ehci-hcd.c | 7 + > drivers/usb/host/ehci-tegra.c | 63 ++++ > drivers/usb/host/ehci.h | 6 +- > dts/Makefile | 2 +- > include/configs/seaboard.h | 12 + > include/configs/tegra2-common.h | 14 + > include/fdtdec.h | 121 +++++++- > lib/fdtdec.c | 181 ++++++++++- > 23 files changed, 1445 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 doc/device-tree-bindings/README > create mode 100644 doc/device-tree-bindings/clock/tegra-periphclk > create mode 100644 doc/device-tree-bindings/usb/tegra-usb.txt > create mode 100644 drivers/usb/host/ehci-tegra.c > > -- > 1.7.7.3 > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot