linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/2] ADV748x HDMI/Analog video receiver
@ 2017-06-14 19:58 Kieran Bingham
  2017-06-14 19:58 ` [PATCH v5 1/2] media: i2c: adv748x: add adv748x driver Kieran Bingham
  2017-06-14 19:58 ` [PATCH v5 2/2] arm64: dts: renesas: salvator-x: Add ADV7482 support Kieran Bingham
  0 siblings, 2 replies; 8+ messages in thread
From: Kieran Bingham @ 2017-06-14 19:58 UTC (permalink / raw)
  To: laurent.pinchart, niklas.soderlund, linux-renesas-soc
  Cc: linux-kernel, Kieran Bingham

From: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>

This is a driver for the Analog Devices ADV748x device, and follows on from a
previous posting by Niklas Söderlund [0] of an earlier incarnation of this
driver.

Aside from a few bug fixes, and considerable refactoring this driver:
 - is refactored to multiple object files
 - defines multiple sub devices for the output paths.
 - has independent controls for both HDMI and Analog video paths
 - Specifies 'endpoint' matching instead of 'device' in async framework

These patches are based up on Niklas' pending RVin work [1] and Sakari's fwnode
series [2]

This version is the culmination of large refactoring and development, and I
believe is ready (or near) for mainline integration.

ADV748x
=======
The ADV7481 and ADV7482 support two video pipelines which can run independently
of each other, with each pipeline terminating in a CSI-2 output: TXA (4-Lane)
and TXB (1-Lane)

The ADV7480 (Not included here), ADV7481, and ADV7482 are all derivatives,
with the following features

            Analog   HDMI  MHL  4-Lane  1-Lane
              In      In         CSI     CSI
 ADV7480               X    X     X
 ADV7481      X        X    X     X       X
 ADV7482      X        X          X       X

Implementation
==============

This series creates 4 entities. AFE (CVBS/Analog In), HDMI, TXA and TXB.  At
probe time, the DT is parsed to identify the endpoints for each of these nodes,
and those are used for async matching of the CSI2 (TXA/TXB) entities in the
master driver. The HDMI and AFE entities are then registered after a successful
registration of both the CSI2 entities.

HDMI is statically linked to the TXA entity, while the AFE is statically linked
to the TXB entity. Routing the AFE through TXA is not supported.

(Known) Future Todo's
=====================

Further potential development areas include:
 - ADV7480 Support (No AFE)
 - MHL support (Not present on ADV7482)
 - EDID support
 - CEC Support
 - Configurable I2C addressing
 - Interrupt handling for format changes and hotplug detect.

However, this driver is functional without the above, and these developments
can be written when required.

References
==========
[0] http://www.mail-archive.com/linux-renesas-soc@vger.kernel.org/msg05196.html
[1] https://git.ragnatech.se/linux rcar-vin-elinux-v9
[2] https://www.mail-archive.com/linux-media@vger.kernel.org/msg111332.html

v1/RFC:
 - Initial posting

v2:
 - Reworked DT parsing and entities

v3:
 - Refreshed with lots of fixups from Sakari's review comments

v4:
 - Many changes all round, following Laurent's review and extensive development
 - Now uses regmap
 - AFE port numbering has been changed to match the entity pads

v5:
 - DT is now based on the latest salvator-common.dtsi
 - Entities are linked with immutable connections

Kieran Bingham (2):
  media: i2c: adv748x: add adv748x driver
  arm64: dts: renesas: salvator-x: Add ADV7482 support

 Documentation/devicetree/bindings/media/i2c/adv748x.txt |  96 +-
 MAINTAINERS                                             |   6 +-
 arch/arm64/boot/dts/renesas/salvator-common.dtsi        | 123 +-
 drivers/media/i2c/Kconfig                               |  11 +-
 drivers/media/i2c/Makefile                              |   1 +-
 drivers/media/i2c/adv748x/Makefile                      |   7 +-
 drivers/media/i2c/adv748x/adv748x-afe.c                 | 570 ++++++-
 drivers/media/i2c/adv748x/adv748x-core.c                | 831 +++++++++-
 drivers/media/i2c/adv748x/adv748x-csi2.c                | 327 ++++-
 drivers/media/i2c/adv748x/adv748x-hdmi.c                | 651 +++++++-
 drivers/media/i2c/adv748x/adv748x.h                     | 415 ++++-
 11 files changed, 3038 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/i2c/adv748x.txt
 create mode 100644 drivers/media/i2c/adv748x/Makefile
 create mode 100644 drivers/media/i2c/adv748x/adv748x-afe.c
 create mode 100644 drivers/media/i2c/adv748x/adv748x-core.c
 create mode 100644 drivers/media/i2c/adv748x/adv748x-csi2.c
 create mode 100644 drivers/media/i2c/adv748x/adv748x-hdmi.c
 create mode 100644 drivers/media/i2c/adv748x/adv748x.h

base-commit: 53043171831f82e3f26280e4edd5852ca63d6e12
-- 
git-series 0.9.1

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2017-06-27 13:57 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-14 19:58 [PATCH v5 0/2] ADV748x HDMI/Analog video receiver Kieran Bingham
2017-06-14 19:58 ` [PATCH v5 1/2] media: i2c: adv748x: add adv748x driver Kieran Bingham
2017-06-22 21:34   ` Rob Herring
2017-06-26 11:06     ` Kieran Bingham
2017-06-14 19:58 ` [PATCH v5 2/2] arm64: dts: renesas: salvator-x: Add ADV7482 support Kieran Bingham
2017-06-23  7:43   ` Laurent Pinchart
2017-06-27  9:25     ` Kieran Bingham
2017-06-27 13:57       ` Laurent Pinchart

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).