[PATCH v3 00/33] media: atmel: atmel-isc: add support for xisc

From: Eugen Hristev
Date: Tue Apr 13 2021 - 06:58:48 EST


Hello,

This series adds support for a variant of the ISC named XISC.
This block is present in the product named sama7g5.

I started by moving code around, the code which was specialized for sama5d2
type of ISC, to have it inside the dedicated sama5d2 file.

I added several new pipeline elements to the code base, which would be common
to sama5d2 and the new sama7g5, but only used by the new style pipeline.

I separated the input and output formats on a per-product separate array.

I added the new sama7g5 compatible driver for the xisc, which is similar with
the sama5d2, but with differences in terms of DT, clocks and callbacks to
specific operations.

I converted the atmel-isc binding to yaml format, and added the new binding in yaml
format.

Feedback is appreciated.
Thanks,
Eugen

Changes in v3:
- Adapted commit messages for several commits to explain several acronyms, especially
for submodule names
- Converted atmel-isc binding to yaml
- Converted microchip-xisc binding to yaml
- Updated MAINTAINERS

Changes in v2:
- Fixed krobot warnings with W=1 regarding functions with no prototype
- Fixed new sama7g5 driver to use the new subdev fwnode API in kernel 5.12. my driver was
based on old 5.10 style API.

Eugen Hristev (33):
media: atmel: atmel-isc: specialize gamma table into product specific
media: atmel: atmel-isc: specialize driver name constant
media: atmel: atmel-isc: add checks for limiting frame sizes
media: atmel: atmel-isc: specialize max width and max height
media: atmel: atmel-isc: specialize dma cfg
media: atmel: atmel-isc: extract CSC submodule config into separate
function
media: atmel: atmel-isc-base: add id to clock debug message
media: atmel: atmel-isc: create register offsets struct
media: atmel: atmel-isc: extract CBC submodule config into separate
function
media: atmel: atmel-isc: add CBC to the reg offsets struct
media: atmel: atmel-isc: add SUB422 and SUB420 to register offsets
media: atmel: atmel-isc: add RLP to register offsets
media: atmel: atmel-isc: add HIS to register offsets
media: atmel: atmel-isc: add DMA to register offsets
media: atmel: atmel-isc: add support for version register
media: atmel: atmel-isc: add his_entry to register offsets
media: atmel: atmel-isc: add register description for additional
modules
media: atmel: atmel-isc: extend pipeline with extra modules
media: atmel: atmel-isc: add CC initialization function
media: atmel: atmel-isc: create product specific v4l2 controls config
media: atmel: atmel-isc: create callback for DPC submodule product
specific
media: atmel: atmel-isc: create callback for GAM submodule product
specific
media: atmel: atmel-isc: create callback for RLP submodule product
specific
media: atmel: atmel-isc: move the formats list into product specific
code
media: atmel: atmel-isc: create an adapt pipeline callback for product
specific
media: atmel: atmel-isc-regs: add additional fields for sama7g5 type
pipeline
media: atmel: atmel-isc-base: add support for more formats and
additional pipeline modules
media: atmel: atmel-isc-sama5d2: remove duplicate define
dt-bindings: media: atmel-isc: convert to yaml
dt-bindings: media: add microchip,xisc device bindings
media: atmel: atmel-isc: add microchip-xisc driver
MAINTAINERS: update ISC driver bindings file
MAINTAINERS: add xisc files to isc driver entry

.../devicetree/bindings/media/atmel,isc.yaml | 115 ++++
.../devicetree/bindings/media/atmel-isc.txt | 65 --
.../bindings/media/microchip,xisc.yaml | 129 ++++
MAINTAINERS | 4 +-
drivers/media/platform/Makefile | 1 +
drivers/media/platform/atmel/Kconfig | 11 +
drivers/media/platform/atmel/Makefile | 2 +
drivers/media/platform/atmel/atmel-isc-base.c | 381 ++++-------
drivers/media/platform/atmel/atmel-isc-regs.h | 133 +++-
drivers/media/platform/atmel/atmel-isc.h | 122 +++-
.../media/platform/atmel/atmel-sama5d2-isc.c | 311 ++++++++-
.../media/platform/atmel/atmel-sama7g5-isc.c | 643 ++++++++++++++++++
12 files changed, 1574 insertions(+), 343 deletions(-)
create mode 100644 Documentation/devicetree/bindings/media/atmel,isc.yaml
delete mode 100644 Documentation/devicetree/bindings/media/atmel-isc.txt
create mode 100644 Documentation/devicetree/bindings/media/microchip,xisc.yaml
create mode 100644 drivers/media/platform/atmel/atmel-sama7g5-isc.c

--
2.25.1