[RESEND PATCH v6 0/5] Add support for video hardware codec of STMicroelectronics STM32 SoC series

Hugues Fruchet
2024-01-10T10:47:36Z

This patchset introduces support for VDEC video hardware decoder
and VENC video hardware encoder of STMicroelectronics STM32MP25
SoC series.

This initial support implements H264 decoding, VP8 decoding and
JPEG encoding.

This has been tested on STM32MP257F-EV1 evaluation board.

===========
= history =
===========
version 6:
- Use a single file for VDEC and VENC variants as suggested by Alex Bee
- Fix some typos raised by Sebastian Fricke
- Add Krzysztof Kozlowski Reviewed-by

version 5:
- Precise that video decoding as been successfully tested up to full HD
- Add Nicolas Dufresne Reviewed-by

version 4:
- Fix comments from Nicolas about dropping encoder raw steps

version 3:
- Fix remarks from Krzysztof Kozlowski:
- drop "items", we keep simple enum in such case
- drop second example - it is the same as the first
- Drop unused node labels as suggested by Conor Dooley
- Revisit min/max resolutions as suggested by Nicolas Dufresne

version 2:
- Fix remarks from Krzysztof Kozlowski on v1:
- single video-codec binding for both VDEC/VENC
- get rid of "-names"
- use of generic node name "video-codec"

version 1:
- Initial submission

Hugues Fruchet (5):
dt-bindings: media: Document STM32MP25 VDEC & VENC video codecs
media: hantro: add support for STM32MP25 VDEC
media: hantro: add support for STM32MP25 VENC
arm64: dts: st: add video decoder support to stm32mp255
arm64: dts: st: add video encoder support to stm32mp255

.../media/st,stm32mp25-video-codec.yaml | 49 +++++
arch/arm64/boot/dts/st/stm32mp251.dtsi | 12 ++
arch/arm64/boot/dts/st/stm32mp255.dtsi | 17 ++
drivers/media/platform/verisilicon/Kconfig | 14 +-
drivers/media/platform/verisilicon/Makefile | 3 +
.../media/platform/verisilicon/hantro_drv.c | 4 +
.../media/platform/verisilicon/hantro_hw.h | 2 +
.../platform/verisilicon/stm32mp25_vpu_hw.c | 186 ++++++++++++++++++
8 files changed, 284 insertions(+), 3 deletions(-)
create mode 100644 Documentation/devicetree/bindings/media/st,stm32mp25-video-codec.yaml
create mode 100644 drivers/media/platform/verisilicon/stm32mp25_vpu_hw.c