[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