[U-Boot] [PATCH v4 0/20] tegra: Add fdt definitions and USB driver
Simon Glass
sjg at chromium.org
Wed Jan 25 00:09:23 CET 2012
Hi,
On Wed, Jan 11, 2012 at 8:32 PM, Simon Glass <sjg at 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
>
More information about the U-Boot
mailing list