[RFC v2 0/5] Add NVIDIA Tegra DRM support

Thierry Reding thierry.reding at avionic-design.de
Wed Apr 25 19:44:57 EST 2012


This series adds a basic DRM driver for NVIDIA Tegra 2 processors. It
currently only supports the RGB output and I've successfully tested it
against the fbcon kernel module and the xf86-video-modesetting driver.
The code uses the Tegra's IOMMU/GART to remap non-contiguous memory.
This means that currently video memory is limited to 32 MB, the size of
the GART aperture.

Changes in v2:
- split into several smaller source files
- represent individual devices in DT
- add drivers for individual devices
- EDID probing support via "ddc" property
- EDID support in DT using binary blobs
- basic (non-working) HDMI support
- support for carveout memory in DT

A lot of the above are really just stub implementations. Most notably
HDMI support is pretty much a copy of what NVIDIA has in their
downstream kernels, though I wasn't able to make it work except for the
EDID probing (I probably missed some pieces). Carveout memory also isn't
used right now.

Still this should now be in a state where other people (like Jon and
Terje from NVIDIA) and Lucas can start contributing. This series is
based on next-20120424.

Thierry

Robert Morell (1):
  drm: fixed: Add dfixed_frac

Thierry Reding (4):
  iommu: Include linux/types.h
  tps6586x: Add device tree support
  i2c: Add of_i2c_get_adapter() function
  drm: Add NVIDIA Tegra support

 .../devicetree/bindings/gpu/drm/tegra.txt          |  125 +++
 .../devicetree/bindings/regulator/tps6586x.txt     |   97 ++
 arch/arm/mach-tegra/board-dt-tegra20.c             |   14 +
 arch/arm/mach-tegra/include/mach/iomap.h           |    6 +
 arch/arm/mach-tegra/tegra2_clocks.c                |   19 +-
 drivers/gpu/drm/Kconfig                            |    2 +
 drivers/gpu/drm/Makefile                           |    1 +
 drivers/gpu/drm/tegra/Kconfig                      |   19 +
 drivers/gpu/drm/tegra/Makefile                     |    7 +
 drivers/gpu/drm/tegra/tegra-dc.c                   |  630 +++++++++++++
 drivers/gpu/drm/tegra/tegra-dc.h                   |  245 +++++
 drivers/gpu/drm/tegra/tegra-drv.c                  |  600 ++++++++++++
 drivers/gpu/drm/tegra/tegra-drv.h                  |  201 ++++
 drivers/gpu/drm/tegra/tegra-dsi.c                  |  145 +++
 drivers/gpu/drm/tegra/tegra-encon.c                |  406 ++++++++
 drivers/gpu/drm/tegra/tegra-fb.c                   |  355 +++++++
 drivers/gpu/drm/tegra/tegra-gem.c                  |  425 +++++++++
 drivers/gpu/drm/tegra/tegra-hdmi.c                 |  994 ++++++++++++++++++++
 drivers/gpu/drm/tegra/tegra-hdmi.h                 |  462 +++++++++
 drivers/gpu/drm/tegra/tegra-host1x.c               |   90 ++
 drivers/gpu/drm/tegra/tegra-rgb.c                  |  148 +++
 drivers/gpu/drm/tegra/tegra-tvo.c                  |  152 +++
 drivers/i2c/i2c-core.c                             |   34 +
 drivers/mfd/tps6586x.c                             |  105 +++
 drivers/regulator/tps6586x-regulator.c             |    1 +
 include/drm/drm_fixed.h                            |    1 +
 include/drm/tegra_drm.h                            |   40 +
 include/linux/iommu.h                              |    1 +
 include/linux/mfd/tps6586x.h                       |    1 +
 include/linux/of_i2c.h                             |    7 +
 30 files changed, 5322 insertions(+), 11 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/gpu/drm/tegra.txt
 create mode 100644 Documentation/devicetree/bindings/regulator/tps6586x.txt
 create mode 100644 drivers/gpu/drm/tegra/Kconfig
 create mode 100644 drivers/gpu/drm/tegra/Makefile
 create mode 100644 drivers/gpu/drm/tegra/tegra-dc.c
 create mode 100644 drivers/gpu/drm/tegra/tegra-dc.h
 create mode 100644 drivers/gpu/drm/tegra/tegra-drv.c
 create mode 100644 drivers/gpu/drm/tegra/tegra-drv.h
 create mode 100644 drivers/gpu/drm/tegra/tegra-dsi.c
 create mode 100644 drivers/gpu/drm/tegra/tegra-encon.c
 create mode 100644 drivers/gpu/drm/tegra/tegra-fb.c
 create mode 100644 drivers/gpu/drm/tegra/tegra-gem.c
 create mode 100644 drivers/gpu/drm/tegra/tegra-hdmi.c
 create mode 100644 drivers/gpu/drm/tegra/tegra-hdmi.h
 create mode 100644 drivers/gpu/drm/tegra/tegra-host1x.c
 create mode 100644 drivers/gpu/drm/tegra/tegra-rgb.c
 create mode 100644 drivers/gpu/drm/tegra/tegra-tvo.c
 create mode 100644 include/drm/tegra_drm.h

-- 
1.7.10



More information about the devicetree-discuss mailing list