mbox series

[v6,0/3] CH7322 CEC controller driver

Message ID 20200622235950.169001-1-jnchase@google.com
Headers show
Series CH7322 CEC controller driver | expand

Message

Jeff Chase June 22, 2020, 11:59 p.m. UTC
Add device driver and device tree bindings for a Chrontel CEC
conroller. This is an I2C device that can send and receive CEC
messages.

Changes from v5:
- Kconfig option should depend on I2C, not select
- add flag to cec adapter in order to use notifier without addr updates
  (notifier is needed to enable CEC_CAP_CONNECTOR_INFO)
- add optional dmi matching to associate adapter with hdmi port
- read phys addr if hpd is up instead of relying on pending interrupt
  in device probe

Changes from v4:
- rebase onto master (vendor-prefixes.yaml already updated)

Changes from v3:
- address devicetree comments
- revert interrupt mask/unmask in cec adapter enable
  (the driver relies on the interrupt to get the physical address)

Changes from v2:
- fix formatting errors
- mask and unmask interrupt in cec adapter enable

Changes from v1:
- fix formatpatch.pl --strict errors
- additional comments
- enable and program logical address register
- add flags to aid interpreting transmit done status
- move ch7322 out of devicetree trivial devices

Jeff Chase (3):
  dt-bindings: Add ch7322 media i2c device
  media: cec: add adap_controls_phys_addr option
  media: cec: i2c: ch7322: Add ch7322 CEC controller driver

 .../bindings/media/i2c/chrontel,ch7322.yaml   |  67 ++
 MAINTAINERS                                   |   8 +
 drivers/media/cec/Kconfig                     |   1 +
 drivers/media/cec/Makefile                    |   2 +-
 drivers/media/cec/core/cec-notifier.c         |  11 +-
 drivers/media/cec/i2c/Kconfig                 |  14 +
 drivers/media/cec/i2c/Makefile                |   5 +
 drivers/media/cec/i2c/ch7322.c                | 604 ++++++++++++++++++
 include/media/cec.h                           |   1 +
 9 files changed, 708 insertions(+), 5 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/media/i2c/chrontel,ch7322.yaml
 create mode 100644 drivers/media/cec/i2c/Kconfig
 create mode 100644 drivers/media/cec/i2c/Makefile
 create mode 100644 drivers/media/cec/i2c/ch7322.c