From: Maxime Ripard <maxime@cerno.tech>
To: Eric Anholt <eric@anholt.net>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Thomas Zimmermann <tzimmermann@suse.de>,
Maxime Ripard <maxime@cerno.tech>,
Daniel Vetter <daniel.vetter@intel.com>,
David Airlie <airlied@linux.ie>
Cc: Jason Cooper <jason@lakedaemon.net>,
bcm-kernel-feedback-list@broadcom.com,
linux-arm-kernel@lists.infradead.org,
Marc Zyngier <maz@kernel.org>,
linux-media@vger.kernel.org,
Hans Verkuil <hverkuil-cisco@xs4all.nl>,
linux-kernel@vger.kernel.org,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Dave Stevenson <dave.stevenson@raspberrypi.com>,
linux-rpi-kernel@lists.infradead.org,
dri-devel@lists.freedesktop.org
Subject: [PATCH 00/15] drm/vc4: hdmi: Add CEC support for the BCM2711
Date: Thu, 10 Dec 2020 14:46:33 +0100 [thread overview]
Message-ID: <20201210134648.272857-1-maxime@cerno.tech> (raw)
Hi,
Here's a series introducing the CEC support for the BCM2711 found on the
RaspberryPi4.
The BCM2711 HDMI controller uses a similar layout for the CEC registers, the
main difference being that the interrupt handling part is now shared between
both HDMI controllers.
This series is mainly about fixing a couple of bugs, reworking the driver to
support having two different interrupts, one for each direction, provided by an
external irqchip, and enables the irqchip driver for the controller we have.
This has been tested on an RPi3 and RPi4, but requires the latest firmware.
It's is based on the 10 and 12 bpc series.
Here is the cec-compliance output:
$ cec-ctl --tuner -p 1.0.0.0
The CEC adapter doesn't allow setting the physical address manually, ignore this option.
Driver Info:
Driver Name : vc4_hdmi
Adapter Name : vc4
Capabilities : 0x0000010e
Logical Addresses
Transmit
Passthrough
Driver version : 5.10.0
Available Logical Addresses: 1
Physical Address : 1.0.0.0
Logical Address Mask : 0x0008
CEC Version : 2.0
Vendor ID : 0x000c03 (HDMI)
OSD Name : Tuner
Logical Addresses : 1 (Allow RC Passthrough)
Logical Address : 3 (Tuner 1)
Primary Device Type : Tuner
Logical Address Type : Tuner
All Device Types : Tuner
RC TV Profile : None
Device Features :
None
$ cec-compliance
cec-compliance SHA : not available
Driver Info:
Driver Name : vc4_hdmi
Adapter Name : vc4
Capabilities : 0x0000010e
Logical Addresses
Transmit
Passthrough
Driver version : 5.10.0
Available Logical Addresses: 1
Physical Address : 1.0.0.0
Logical Address Mask : 0x0008
CEC Version : 2.0
Vendor ID : 0x000c03 (HDMI)
OSD Name : Tuner
Logical Addresses : 1 (Allow RC Passthrough)
Logical Address : 3 (Tuner 1)
Primary Device Type : Tuner
Logical Address Type : Tuner
All Device Types : Tuner
RC TV Profile : None
Device Features :
None
Compliance test for vc4_hdmi device /dev/cec0:
The test results mean the following:
OK Supported correctly by the device.
OK (Not Supported) Not supported and not mandatory for the device.
OK (Presumed) Presumably supported. Manually check to confirm.
OK (Unexpected) Supported correctly but is not expected to be supported for this device.
OK (Refused) Supported by the device, but was refused.
FAIL Failed and was expected to be supported by this device.
Find remote devices:
Polling: OK
Network topology:
System Information for device 0 (TV) from device 3 (Tuner 1):
CEC Version : 2.0
Physical Address : 0.0.0.0
Primary Device Type : TV
Vendor ID : 0x000c03 (HDMI)
OSD Name : 'test-124'
Power Status : Tx, OK, Rx, OK, Feature Abort
Total for vc4_hdmi device /dev/cec0: 1, Succeeded: 1, Failed: 0, Warnings: 0
Let me know what you think,
Maxime
Dom Cobley (5):
drm/vc4: hdmi: Move hdmi reset to bind
drm/vc4: hdmi: Fix register offset with longer CEC messages
drm/vc4: hdmi: Fix up CEC registers
drm/vc4: hdmi: Restore cec physical address on reconnect
drm/vc4: hdmi: Remove cec_available flag
Maxime Ripard (10):
irqchip: Allow to compile bcmstb on other platforms
drm/vc4: hdmi: Compute the CEC clock divider from the clock rate
drm/vc4: hdmi: Update the CEC clock divider on HSM rate change
drm/vc4: hdmi: Introduce a CEC clock
drm/vc4: hdmi: Split the interrupt handlers
drm/vc4: hdmi: Support BCM2711 CEC interrupt setup
drm/vc4: hdmi: Don't register the CEC adapter if there's no interrupts
dt-binding: display: bcm2711-hdmi: Add CEC and hotplug interrupts
ARM: dts: bcm2711: Add the BSC interrupt controller
ARM: dts: bcm2711: Add the CEC interrupt controller
.../bindings/display/brcm,bcm2711-hdmi.yaml | 20 +-
arch/arm/boot/dts/bcm2711.dtsi | 30 +++
drivers/gpu/drm/vc4/vc4_hdmi.c | 224 +++++++++++++-----
drivers/gpu/drm/vc4/vc4_hdmi.h | 11 +-
drivers/gpu/drm/vc4/vc4_hdmi_regs.h | 4 +-
drivers/irqchip/Kconfig | 2 +-
6 files changed, 232 insertions(+), 59 deletions(-)
--
2.28.0
next reply other threads:[~2020-12-10 13:49 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-10 13:46 Maxime Ripard [this message]
2020-12-10 13:46 ` [PATCH 01/15] irqchip: Allow to compile bcmstb on other platforms Maxime Ripard
2020-12-10 17:33 ` Florian Fainelli
2020-12-10 17:59 ` Marc Zyngier
2020-12-14 15:27 ` Maxime Ripard
2020-12-14 16:20 ` Marc Zyngier
2020-12-10 13:46 ` [PATCH 02/15] drm/vc4: hdmi: Move hdmi reset to bind Maxime Ripard
2020-12-18 11:20 ` Dave Stevenson
2020-12-10 13:46 ` [PATCH 03/15] drm/vc4: hdmi: Fix register offset with longer CEC messages Maxime Ripard
2020-12-15 11:23 ` Dave Stevenson
2020-12-10 13:46 ` [PATCH 04/15] drm/vc4: hdmi: Fix up CEC registers Maxime Ripard
2020-12-18 11:21 ` Dave Stevenson
2020-12-10 13:46 ` [PATCH 05/15] drm/vc4: hdmi: Restore cec physical address on reconnect Maxime Ripard
2020-12-18 14:21 ` Dave Stevenson
2020-12-18 14:45 ` Dave Stevenson
2021-01-11 10:29 ` Maxime Ripard
2020-12-10 13:46 ` [PATCH 06/15] drm/vc4: hdmi: Compute the CEC clock divider from the clock rate Maxime Ripard
2020-12-18 11:30 ` Dave Stevenson
2020-12-10 13:46 ` [PATCH 07/15] drm/vc4: hdmi: Update the CEC clock divider on HSM rate change Maxime Ripard
2020-12-18 14:26 ` Dave Stevenson
2020-12-10 13:46 ` [PATCH 08/15] drm/vc4: hdmi: Introduce a CEC clock Maxime Ripard
2020-12-18 11:37 ` Dave Stevenson
2020-12-18 12:23 ` Maxime Ripard
2020-12-18 12:25 ` Dave Stevenson
2020-12-10 13:46 ` [PATCH 09/15] drm/vc4: hdmi: Split the interrupt handlers Maxime Ripard
2020-12-10 13:46 ` [PATCH 10/15] drm/vc4: hdmi: Support BCM2711 CEC interrupt setup Maxime Ripard
2020-12-10 13:46 ` [PATCH 11/15] drm/vc4: hdmi: Remove cec_available flag Maxime Ripard
2020-12-18 14:30 ` Dave Stevenson
2020-12-10 13:46 ` [PATCH 12/15] drm/vc4: hdmi: Don't register the CEC adapter if there's no interrupts Maxime Ripard
2020-12-18 14:29 ` Dave Stevenson
2020-12-10 13:46 ` [PATCH 13/15] dt-binding: display: bcm2711-hdmi: Add CEC and hotplug interrupts Maxime Ripard
2020-12-10 13:46 ` [PATCH 14/15] ARM: dts: bcm2711: Add the BSC interrupt controller Maxime Ripard
2020-12-10 17:41 ` Florian Fainelli
2020-12-10 13:46 ` [PATCH 15/15] ARM: dts: bcm2711: Add the CEC " Maxime Ripard
2020-12-10 17:42 ` Florian Fainelli
2020-12-16 12:35 ` [PATCH 00/15] drm/vc4: hdmi: Add CEC support for the BCM2711 Hans Verkuil
2020-12-17 10:49 ` Maxime Ripard
2020-12-17 10:53 ` Hans Verkuil
2020-12-17 12:59 ` Maxime Ripard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201210134648.272857-1-maxime@cerno.tech \
--to=maxime@cerno.tech \
--cc=airlied@linux.ie \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=daniel.vetter@intel.com \
--cc=dave.stevenson@raspberrypi.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=eric@anholt.net \
--cc=hverkuil-cisco@xs4all.nl \
--cc=jason@lakedaemon.net \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-rpi-kernel@lists.infradead.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=maz@kernel.org \
--cc=mchehab@kernel.org \
--cc=tglx@linutronix.de \
--cc=tzimmermann@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).