Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -578,6 +578,22 @@ config VIDEO_MESON_AO_CEC
	  generic CEC framework interface.
	  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
	tristate "Generic GPIO-based CEC driver"
	depends on PREEMPT || COMPILE_TEST
+1 −0
Original line number Diff line number Diff line
obj-$(CONFIG_VIDEO_MESON_AO_CEC)	+= ao-cec.o
obj-$(CONFIG_VIDEO_MESON_G12A_AO_CEC)	+= ao-cec-g12a.o
+779 −0

File added.

Preview size limit exceeded, changes collapsed.