Message ID | 20240131164709.810587-1-dan.scally@ideasonboard.com |
---|---|
Headers | show |
Series | Add Arm Mali-C55 Image Signal Processor Driver | expand |
On Wed, Jan 31, 2024 at 04:47:04PM +0000, Daniel Scally wrote: > Hello all > > This patchset introduces a driver for Arm's Mali-C55 Image Signal Processor. > The driver uses the media controller API and in this initial support implements > both of the ISP's capture pipelines allowing a range of output formats plus > downscaling and cropping. The capture pipelines are named "Full resolution" and > "Downscale" and so abbreviated FR and DS throughout the driver. > > The driver exposes 4 V4L2 subdevices: > > - mali-c55 isp: input data formatting > - mali-c55 tpg: test pattern generator (modeled as a camera sensor entity) > - mali-c55 resizer fr: downscale / crop and format setting for the FR pipe > - mali-c55 resizer ds: downscale / crop and format setting for the DS pipe Answering a question I've received out-of-band: the driver doesn't support ISP statistics and parameters yet. Active work is in progress in that area, so one option would be to merge this driver in staging in the meantime. > Daniel Scally (5): > media: uapi: Add MEDIA_BUS_FMT_RGB202020_1X60 format code > dt-bindings: media: Add bindings for ARM mali-c55 > media: mali-c55: Add Mali-C55 ISP driver > media: Documentation: Add Mali-C55 ISP Documentation > MAINTAINERS: Add entry for mali-c55 driver > > .../admin-guide/media/mali-c55-graph.dot | 19 + > Documentation/admin-guide/media/mali-c55.rst | 318 ++++++ > .../admin-guide/media/v4l-drivers.rst | 1 + > .../bindings/media/arm,mali-c55.yaml | 51 + > .../media/v4l/subdev-formats.rst | 168 +++ > MAINTAINERS | 10 + > drivers/media/platform/Kconfig | 1 + > drivers/media/platform/Makefile | 1 + > drivers/media/platform/arm/Kconfig | 5 + > drivers/media/platform/arm/Makefile | 2 + > drivers/media/platform/arm/mali-c55/Kconfig | 18 + > drivers/media/platform/arm/mali-c55/Makefile | 9 + > .../platform/arm/mali-c55/mali-c55-capture.c | 1013 +++++++++++++++++ > .../platform/arm/mali-c55/mali-c55-common.h | 263 +++++ > .../platform/arm/mali-c55/mali-c55-core.c | 717 ++++++++++++ > .../platform/arm/mali-c55/mali-c55-isp.c | 682 +++++++++++ > .../arm/mali-c55/mali-c55-registers.h | 180 +++ > .../arm/mali-c55/mali-c55-resizer-coefs.h | 382 +++++++ > .../platform/arm/mali-c55/mali-c55-resizer.c | 678 +++++++++++ > .../platform/arm/mali-c55/mali-c55-tpg.c | 425 +++++++ > include/uapi/linux/media-bus-format.h | 3 +- > 21 files changed, 4945 insertions(+), 1 deletion(-) > create mode 100644 Documentation/admin-guide/media/mali-c55-graph.dot > create mode 100644 Documentation/admin-guide/media/mali-c55.rst > create mode 100644 Documentation/devicetree/bindings/media/arm,mali-c55.yaml > create mode 100644 drivers/media/platform/arm/Kconfig > create mode 100644 drivers/media/platform/arm/Makefile > create mode 100644 drivers/media/platform/arm/mali-c55/Kconfig > create mode 100644 drivers/media/platform/arm/mali-c55/Makefile > create mode 100644 drivers/media/platform/arm/mali-c55/mali-c55-capture.c > create mode 100644 drivers/media/platform/arm/mali-c55/mali-c55-common.h > create mode 100644 drivers/media/platform/arm/mali-c55/mali-c55-core.c > create mode 100644 drivers/media/platform/arm/mali-c55/mali-c55-isp.c > create mode 100644 drivers/media/platform/arm/mali-c55/mali-c55-registers.h > create mode 100644 drivers/media/platform/arm/mali-c55/mali-c55-resizer-coefs.h > create mode 100644 drivers/media/platform/arm/mali-c55/mali-c55-resizer.c > create mode 100644 drivers/media/platform/arm/mali-c55/mali-c55-tpg.c