Commit b7778c46 authored by Neil Armstrong's avatar Neil Armstrong Committed by Mauro Carvalho Chehab

media: platform: meson: Add Amlogic Meson G12A AO CEC Controller driver

The Amlogic G12A SoC embeds a second CEC controller with a totally
different design.

The two controller can work in the same time since the CEC line can
be set to two different pins on the two controllers.

This second CEC controller is documented as "AO-CEC-B", thus the
registers will be named "CECB_" to differentiate with the other
AO-CEC driver.

Unlike the other AO-CEC controller, this one takes the Oscillator
clock as input and embeds a dual-divider to provide a precise
32768Hz clock for communication. This is handled by registering
a clock in the driver.

Unlike the other AO-CEC controller, this controller supports setting
up to 15 logical addresses and supports the signal_free_time settings
in the transmit function.

Unfortunately, this controller does not support "monitor" mode.
Signed-off-by: default avatarNeil Armstrong <narmstrong@baylibre.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent 3473ba38
...@@ -578,6 +578,22 @@ config VIDEO_MESON_AO_CEC ...@@ -578,6 +578,22 @@ config VIDEO_MESON_AO_CEC
generic CEC framework interface. generic CEC framework interface.
CEC bus is present in the HDMI connector and enables communication CEC bus is present in the HDMI connector and enables communication
config VIDEO_MESON_G12A_AO_CEC
tristate "Amlogic Meson G12A AO CEC driver"
depends on ARCH_MESON || COMPILE_TEST
depends on COMMON_CLK && OF
select REGMAP
select REGMAP_MMIO
select CEC_CORE
select CEC_NOTIFIER
---help---
This is a driver for Amlogic Meson G12A SoCs AO CEC interface.
This driver if for the new AO-CEC module found in G12A SoCs,
usually named AO_CEC_B in documentation.
It uses the generic CEC framework interface.
CEC bus is present in the HDMI connector and enables communication
between compatible devices.
config CEC_GPIO config CEC_GPIO
tristate "Generic GPIO-based CEC driver" tristate "Generic GPIO-based CEC driver"
depends on PREEMPT || COMPILE_TEST depends on PREEMPT || COMPILE_TEST
......
obj-$(CONFIG_VIDEO_MESON_AO_CEC) += ao-cec.o obj-$(CONFIG_VIDEO_MESON_AO_CEC) += ao-cec.o
obj-$(CONFIG_VIDEO_MESON_G12A_AO_CEC) += ao-cec-g12a.o
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment