[00/14] media: rockchip: cif: add support for rk3568 vicap

Message ID 20240220-v6-8-topic-rk3568-vicap-v1-0-2680a1fa640b@wolfvision.net (mailing list archive)
Series media: rockchip: cif: add support for rk3568 vicap |


Michael Riesch Feb. 20, 2024, 9:39 a.m. UTC

This series introduces support for the Rockchip RK3568 Video Capture
(VICAP) block. It bases on the work of several Bootlin developers who
have been tirelessly submitting support for the PX30 Video Input
Processor (VIP) block for inclusion in mainline. The most recent
iteration is Mehdi Djait's v13 [0], which is a prerequisite for the
patches of this series.

The PX30 VIP and the RK3568 VICAP are similar enough to share a common
driver, but there are some subtle differences that require some tweaks
in the submitted code.

Although the v13 patches are still WIP and need some revision, I have
decided to push the current state of the art in order to gather a
first round of reviews and comments.

The patches are functional and have been tested successfully on a
custom RK3568 board including the ITE Tech. IT6801 HDMI receiver as
attached subdevice. The IT6801 driver still needs some loving care but
shall be submitted as well at some point.

Looking forward to your comments!

[0] https://lore.kernel.org/linux-media/cover.1707677804.git.mehdi.djait.k@gmail.com/

Signed-off-by: Michael Riesch <michael.riesch@wolfvision.net>
Michael Riesch (14):
      media: dt-bindings: media: video-interfaces: add defines for sampling modes
      media: dt-bindings: media: rockchip-cif: add port definitions
      media: dt-bindings: media: rockchip,px30-vip: add optional property iommus
      media: dt-bindings: media: rockchip,px30-vip: allow for different variants
      media: dt-bindings: media: rockchip,px30-vip: add rk3568-vicap compatible
      media: rockchip: cif: store endpoint information in private data
      media: rockchip: cif: fix formatting of find_output_fmt
      media: rockchip: cif: use port definitions from new header file
      media: rockchip: cif: add support for grf
      media: rockchip: cif: add variant specific input format list
      media: rockchip: cif: make scaler support variant specific
      media: rockchip: cif: make register access variant specific
      media: rockchip: cif: add support for rk3568 vicap
      arm64: dts: rockchip: add vicap node to rk356x

 .../bindings/media/rockchip,px30-vip.yaml          | 110 ++++--
 arch/arm64/boot/dts/rockchip/rk356x.dtsi           |  45 +++
 drivers/media/platform/rockchip/cif/cif-capture.c  | 172 +-------
 drivers/media/platform/rockchip/cif/cif-common.h   |  33 +-
 drivers/media/platform/rockchip/cif/cif-dev.c      | 434 ++++++++++++++++++++-
 drivers/media/platform/rockchip/cif/cif-regs.h     |  56 +--
 include/dt-bindings/media/rockchip-cif.h           |  12 +
 include/dt-bindings/media/video-interfaces.h       |   4 +
 8 files changed, 652 insertions(+), 214 deletions(-)
base-commit: b465b3c117718e5b8f4f3100d6ee780f7dc7b59d
change-id: 20240220-v6-8-topic-rk3568-vicap-b9b3f9925f44

Best regards,