[PATCHv3 0/5] cec-gpio: add HDMI CEC GPIO-based driver
Hans Verkuil
hverkuil at xs4all.nl
Wed Aug 30 16:10:39 UTC 2017
From: Hans Verkuil <hans.verkuil at cisco.com>
This driver adds support for CEC implementations that use a pull-up
GPIO pin. While SoCs exist that do this, the primary use-case is to
turn a single-board computer into a cheap CEC debugger.
Together with 'cec-ctl --monitor-pin' you can do low-level CEC bus
monitoring and do protocol analysis. And error injection is also
planned for the future.
Here is an example using the Raspberry Pi 3:
https://hverkuil.home.xs4all.nl/rpi3-cec.jpg
While this example is for the Rpi, this driver will work for any
SoC with a pull-up GPIO pin.
In addition the cec-gpio driver can optionally monitor the HPD pin.
The state of the HPD pin influences the CEC behavior so it is very
useful to be able to monitor both.
And some HDMI sinks are known to quickly toggle the HPD when e.g.
switching between inputs. So it is useful to be able to see an event
when the HPD changes value.
The first two patches add support for the new HPD events. The last
three patches are for the cec-gpio driver itself.
Regards,
Hans
Changes since v2:
- Add support for HPD events.
- Switch from pin BCM4 to pin BCM7 in the bindings example
Changes since v1:
- Updated the bindings doc to not refer to the driver, instead
refer to the hardware.
Hans Verkuil (5):
cec: add CEC_EVENT_PIN_HPD_LOW/HIGH events
cec-ioc-dqevent.rst: document new CEC_EVENT_PIN_HPD_LOW/HIGH events
dt-bindings: document the CEC GPIO bindings
cec-gpio: add HDMI CEC GPIO driver
MAINTAINERS: add cec-gpio entry
.../devicetree/bindings/media/cec-gpio.txt | 22 ++
Documentation/media/uapi/cec/cec-ioc-dqevent.rst | 18 ++
MAINTAINERS | 9 +
drivers/media/cec/cec-adap.c | 18 +-
drivers/media/cec/cec-api.c | 18 +-
drivers/media/platform/Kconfig | 9 +
drivers/media/platform/Makefile | 2 +
drivers/media/platform/cec-gpio/Makefile | 1 +
drivers/media/platform/cec-gpio/cec-gpio.c | 237 +++++++++++++++++++++
include/media/cec-pin.h | 4 +
include/media/cec.h | 12 +-
include/uapi/linux/cec.h | 2 +
12 files changed, 346 insertions(+), 6 deletions(-)
create mode 100644 Documentation/devicetree/bindings/media/cec-gpio.txt
create mode 100644 drivers/media/platform/cec-gpio/Makefile
create mode 100644 drivers/media/platform/cec-gpio/cec-gpio.c
--
2.14.1
More information about the dri-devel
mailing list