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. This patchset : - Update the bindings for this controller - Add the controller driver - Update the MAINTAINERS entry Changes since v3: - Use the cec_notifier_find_hdmi_dev() introduced in [1] Changes since v2: - Really fixed compatible used in driver - Collected bindings review tag Changes since v1: - Fixed typos in bindings - Fixed compatible used in driver, using the bindings defined one - Fix regmap return value handling - Fix irq error handling - Fixed wrong clk unprepare on oscin [1] https://patchwork.linuxtv.org/patch/55513/ Neil Armstrong (3): media: dt-bindings: media: meson-ao-cec: Add G12A AO-CEC-B Compatible media: platform: meson: Add Amlogic Meson G12A AO CEC Controller driver MAINTAINERS: Update AO CEC with ao-cec-g12a driver .../bindings/media/meson-ao-cec.txt | 13 +- MAINTAINERS | 1 + drivers/media/platform/Kconfig | 13 + drivers/media/platform/meson/Makefile | 1 + drivers/media/platform/meson/ao-cec-g12a.c | 779 ++++++++++++++++++ 5 files changed, 804 insertions(+), 3 deletions(-) create mode 100644 drivers/media/platform/meson/ao-cec-g12a.c -- 2.21.0