Add support for video hardware codec of STMicroelectronics STM32 SoC series
From: | Hugues Fruchet <hugues.fruchet-AT-foss.st.com> | |
To: | Ezequiel Garcia <ezequiel-AT-vanguardiasur.com.ar>, Philipp Zabel <p.zabel-AT-pengutronix.de>, Andrzej Pietrasiewicz <andrzej.p-AT-collabora.com>, Nicolas Dufresne <nicolas.dufresne-AT-collabora.com>, Sakari Ailus <sakari.ailus-AT-linux.intel.com>, Benjamin Gaignard <benjamin.gaignard-AT-collabora.com>, Laurent Pinchart <laurent.pinchart+renesas-AT-ideasonboard.com>, Daniel Almeida <daniel.almeida-AT-collabora.com>, Benjamin Mugnier <benjamin.mugnier-AT-foss.st.com>, Heiko Stuebner <heiko-AT-sntech.de>, Mauro Carvalho Chehab <mchehab-AT-kernel.org>, Hans Verkuil <hverkuil-AT-xs4all.nl>, <linux-media-AT-vger.kernel.org>, Maxime Coquelin <mcoquelin.stm32-AT-gmail.com>, Alexandre Torgue <alexandre.torgue-AT-foss.st.com>, <linux-stm32-AT-st-md-mailman.stormreply.com>, Rob Herring <robh+dt-AT-kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt-AT-linaro.org>, Conor Dooley <conor+dt-AT-kernel.org>, <devicetree-AT-vger.kernel.org>, <linux-arm-kernel-AT-lists.infradead.org>, <linux-kernel-AT-vger.kernel.org>, <linux-rockchip-AT-lists.infradead.org> | |
Subject: | [PATCH v5 0/5] Add support for video hardware codec of STMicroelectronics STM32 SoC series | |
Date: | Thu, 21 Dec 2023 09:47:18 +0100 | |
Message-ID: | <20231221084723.2152034-1-hugues.fruchet@foss.st.com> | |
Cc: | Hugues Fruchet <hugues.fruchet-AT-foss.st.com>, Marco Felsch <m.felsch-AT-pengutronix.de>, Adam Ford <aford173-AT-gmail.com> | |
Archive-link: | Article |
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 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 | 50 ++++++++ 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 | 4 + .../media/platform/verisilicon/hantro_drv.c | 4 + .../media/platform/verisilicon/hantro_hw.h | 2 + .../platform/verisilicon/stm32mp25_vdec_hw.c | 92 ++++++++++++++ .../platform/verisilicon/stm32mp25_venc_hw.c | 115 ++++++++++++++++++ 9 files changed, 307 insertions(+), 3 deletions(-) create mode 100644 Documentation/devicetree/bindings/media/st,stm32mp25-video-codec.yaml create mode 100644 drivers/media/platform/verisilicon/stm32mp25_vdec_hw.c create mode 100644 drivers/media/platform/verisilicon/stm32mp25_venc_hw.c -- 2.25.1