Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1675878 > unrolled thread
| Started by | Kieran Bingham <kbingham@kernel.org> |
|---|---|
| First post | 2017-06-27 17:10 +0200 |
| Last post | 2017-06-29 12:00 +0200 |
| Articles | 2 — 1 participant |
Back to article view | Back to linux.kernel
[PATCH v6 0/3] ADV748x HDMI/Analog video receiver Kieran Bingham <kbingham@kernel.org> - 2017-06-27 17:10 +0200
[PATCH v6.1 1/3] media: adv748x: Add adv7481, adv7482 bindings Kieran Bingham <kbingham@kernel.org> - 2017-06-29 12:00 +0200
| From | Kieran Bingham <kbingham@kernel.org> |
|---|---|
| Date | 2017-06-27 17:10 +0200 |
| Subject | [PATCH v6 0/3] ADV748x HDMI/Analog video receiver |
| Message-ID | <tX0hP-2f9-5@gated-at.bofh.it> |
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, and earlier versions posted by myself.
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 driver 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.
Support for setting the EDID on HDMI is provided
(Known) Future Todo's
=====================
Further potential development areas include:
- ADV7480 Support (No AFE)
- MHL support (Not present on ADV7482)
- 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
v6:
- EDID support added to HDMI
- AFE no longer autodetects input format by default.
Kieran Bingham (3):
media: adv748x: Add adv7181, adv7182 bindings
media: i2c: adv748x: add adv748x driver
MAINTAINERS: Add ADV748x driver
Documentation/devicetree/bindings/media/i2c/adv748x.txt | 95 +-
MAINTAINERS | 6 +-
drivers/media/i2c/Kconfig | 11 +-
drivers/media/i2c/Makefile | 1 +-
drivers/media/i2c/adv748x/Makefile | 7 +-
drivers/media/i2c/adv748x/adv748x-afe.c | 545 ++++++-
drivers/media/i2c/adv748x/adv748x-core.c | 831 +++++++++-
drivers/media/i2c/adv748x/adv748x-csi2.c | 327 ++++-
drivers/media/i2c/adv748x/adv748x-hdmi.c | 769 ++++++++-
drivers/media/i2c/adv748x/adv748x.h | 425 +++++-
10 files changed, 3017 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: 2748e76ddb2967c4030171342ebdd3faa6a5e8e8
--
git-series 0.9.1
[toc] | [next] | [standalone]
| From | Kieran Bingham <kbingham@kernel.org> |
|---|---|
| Date | 2017-06-29 12:00 +0200 |
| Subject | [PATCH v6.1 1/3] media: adv748x: Add adv7481, adv7482 bindings |
| Message-ID | <tXEoW-5YO-11@gated-at.bofh.it> |
| In reply to | #1675878 |
From: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Create device tree bindings documentation for the ADV748x.
The ADV748x supports both the ADV7481 and ADV7482 chips which
provide analogue decoding and HDMI receiving capabilities
Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
v6:
- Clean up description and remove redundant text regarding optional
nodes
v6.1:
- Fix commit title
Documentation/devicetree/bindings/media/i2c/adv748x.txt | 95 ++++++++++-
1 file changed, 95 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/i2c/adv748x.txt
diff --git a/Documentation/devicetree/bindings/media/i2c/adv748x.txt b/Documentation/devicetree/bindings/media/i2c/adv748x.txt
new file mode 100644
index 000000000000..21ffb5ed8183
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/i2c/adv748x.txt
@@ -0,0 +1,95 @@
+* Analog Devices ADV748X video decoder with HDMI receiver
+
+The ADV7481 and ADV7482 are multi format video decoders with an integrated
+HDMI receiver. They can output CSI-2 on two independent outputs TXA and TXB
+from three input sources HDMI, analog and TTL.
+
+Required Properties:
+
+ - compatible: Must contain one of the following
+ - "adi,adv7481" for the ADV7481
+ - "adi,adv7482" for the ADV7482
+
+ - reg: I2C slave address
+
+Optional Properties:
+
+ - interrupt-names: Should specify the interrupts as "intrq1", "intrq2" and/or
+ "intrq3". All interrupts are optional. The "intrq3" interrupt
+ is only available on the adv7481
+ - interrupts: Specify the interrupt lines for the ADV748x
+
+The device node must contain one 'port' child node per device input and output
+port, in accordance with the video interface bindings defined in
+Documentation/devicetree/bindings/media/video-interfaces.txt. The port nodes
+are numbered as follows.
+
+ Name Type Port
+ ---------------------------------------
+ AIN0 sink 0
+ AIN1 sink 1
+ AIN2 sink 2
+ AIN3 sink 3
+ AIN4 sink 4
+ AIN5 sink 5
+ AIN6 sink 6
+ AIN7 sink 7
+ HDMI sink 8
+ TTL sink 9
+ TXA source 10
+ TXB source 11
+
+The digital output port nodes must contain at least one endpoint.
+
+Ports are optional if they are not connected to anything at the hardware level.
+
+Example:
+
+ video-receiver@70 {
+ compatible = "adi,adv7482";
+ reg = <0x70>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ interrupt-parent = <&gpio6>;
+ interrupt-names = "intrq1", "intrq2";
+ interrupts = <30 IRQ_TYPE_LEVEL_LOW>,
+ <31 IRQ_TYPE_LEVEL_LOW>;
+
+ port@7 {
+ reg = <7>;
+
+ adv7482_ain7: endpoint {
+ remote-endpoint = <&cvbs_in>;
+ };
+ };
+
+ port@8 {
+ reg = <8>;
+
+ adv7482_hdmi: endpoint {
+ remote-endpoint = <&hdmi_in>;
+ };
+ };
+
+ port@10 {
+ reg = <10>;
+
+ adv7482_txa: endpoint {
+ clock-lanes = <0>;
+ data-lanes = <1 2 3 4>;
+ remote-endpoint = <&csi40_in>;
+ };
+ };
+
+ port@11 {
+ reg = <11>;
+
+ adv7482_txb: endpoint {
+ clock-lanes = <0>;
+ data-lanes = <1>;
+ remote-endpoint = <&csi20_in>;
+ };
+ };
+ };
--
git-series 0.9.1
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web