[PATCH 00/10] media: hantro: imx8mq/imx8mm: Let VPU decoders get controlled by vpu-blk-ctrl
Adam Ford
aford173 at gmail.com
Wed Dec 8 14:50:19 PST 2021
Both the i.MX8MQ and i.MX8MM have G1 and G2 decoders.
The two decoders are similar, but the imx8mm lacks the
post-processor, so they will have distinct compatible flags.
Splitting the i.MX8MQ VPU into G1 and G2 makes it easier to
control them independently since the TRM of both the i.MX8MQ and
i.MX8MM list them as distinct IP blocks. With them being split,
the power-domain can shift to the vpu-blk-ctrl which is available
on both i.MX8MQ and i.MX8MM but some of bits are different, so
they'll have separate device tree bindings.
Lastly, with the G1 and G2 operational, enable the i.MX8MM.
On the i.MX8MM, the clock speed of 600MHz was chosen to match
the default of the kernel repo from NXP and can be overwritten
by board files for anyone who under/over volts the power rail.
The repo used as the starting point was:
git://linuxtv.org/hverkuil/media_tree.git for-v5.17e
This media hantro group has been especially helpful in helping
me get up to speed on how it works.
Fluster was run on the i.MX8M Mini at 600 MHz:
./fluster.py run -d GStreamer-VP8-V4L2SL-Gst1.0
Ran 55/61 tests successfully in 8.299 secs
./fluster.py run -dGStreamer-H.264-V4L2SL-Gst1.0
Ran 90/135 tests successfully in 71.200 secs
./fluster.py run -d GStreamer-VP9-V4L2SL-Gst1.0
Ran 139/303 tests successfully in 218.079 secs
Adam Ford (7):
dt-bindings: media: nxp,imx8mq-vpu: Support split G1 and G2 nodes with
vpu-blk-ctrl
media: hantro: Allow i.MX8MQ G1 and G2 to run independently
arm64: dts: imx8mq: Enable both G1 and G2 VPU's with vpu-blk-ctrl
arm64: dts: imx8mm: Fix VPU Hanging
dt-bindings: media: nxp,imx8mq-vpu: Enable support for i.MX8M Mini
media: hantro: Add support for i.MX8MM
arm64: dts: imx8mm: Enable Hantro G1 and G2 video decoders
Lucas Stach (3):
dt-bindings: power: imx8mq: add defines for VPU blk-ctrl domains
dt-bindings: soc: add binding for i.MX8MQ VPU blk-ctrl
soc: imx: imx8m-blk-ctrl: add i.MX8MQ VPU blk-ctrl
.../bindings/media/nxp,imx8mq-vpu.yaml | 85 ++++++++++++++-----
.../soc/imx/fsl,imx8mq-vpu-blk-ctrl.yaml | 71 ++++++++++++++++
arch/arm64/boot/dts/freescale/imx8mm.dtsi | 29 ++++++-
arch/arm64/boot/dts/freescale/imx8mq.dtsi | 69 +++++++++------
drivers/soc/imx/imx8m-blk-ctrl.c | 68 ++++++++++++++-
drivers/staging/media/hantro/hantro_drv.c | 3 +
drivers/staging/media/hantro/hantro_hw.h | 3 +
drivers/staging/media/hantro/imx8m_vpu_hw.c | 84 +++++++++++++++---
include/dt-bindings/power/imx8mq-power.h | 3 +
9 files changed, 357 insertions(+), 58 deletions(-)
create mode 100644 Documentation/devicetree/bindings/soc/imx/fsl,imx8mq-vpu-blk-ctrl.yaml
base-commit: d1888b0bfd2ddef2e8a81505ffa200b92cc32e0c
--
2.32.0
More information about the linux-arm-kernel
mailing list