[U-Boot] [PATCH v2 0/17] tegra: Add fdt definitions and USB driver

Simon Glass sjg at chromium.org
Sat Dec 3 03:11:23 CET 2011


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



More information about the U-Boot mailing list