media: platform: meson: Add Amlogic Meson G12A AO CEC Controller driver
authorNeil Armstrong <narmstrong@baylibre.com>
Fri, 12 Apr 2019 08:30:59 +0000 (04:30 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Mon, 22 Apr 2019 17:16:05 +0000 (13:16 -0400)
commitb7778c46683ce468f49141a18d984f6f13c6c5d2
treec15845529ea9a809276d9c8943fa6efbb2fbe082
parent3473ba384de7cf5df33f0ea3650aa4c7aaf1c995
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: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/platform/Kconfig
drivers/media/platform/meson/Makefile
drivers/media/platform/meson/ao-cec-g12a.c [new file with mode: 0644]