AIE (AI Engine) is one of the units in MT8188 ISP which provides
hardware-accelerated face detection function. It can detect different
sizes of faces in a raw image using pyramid-based multi-scale detection.
The AIE supports three operation modes:
- Face Detection (FD): Multi-scale face detection using 3-level pyramid
(640x480 base, 2x downscale per level).
- Attribute Analysis: Age, gender, and race classification.
- Facial Landmark Detection (FLD): 11-point landmark localization using
Binary Tree Traversal on FD results.
Changes in v6:
- DT binding: Add ipe-smi-larb12 clock, remove iommus from required
properties, add mediatek,larb as optional, improve description.
- DTS: Remove iommus and mediatek,larb properties, fix IRQ number.
- UAPI: Simplify header to control ID definitions only, drop custom
V4L2_CTRL_TYPE (use V4L2_CTRL_TYPE_U32 compound controls instead).
- Driver: Fix NULL pointer check inversion, fix resource leaks on error
path, remove debugfs return value checks, update clock names to hyphen
convention, remove freq_level per CK Hu's feedback.
Changes in v5:
- DT binding: Use hyphens in clock names, remove mediatek,larb.
- UAPI: Add feature_threshold docs, rename structures, move structures
from mtk_aie.h to uapi header.
- Driver: Update clock names, improve error handling in probe.
Changes in v4:
- DT binding: Remove address-cells/size-cells, remove larb12 content.
- UAPI: Add V4L2_META_FMT_MTFD_RESULT documentation.
- Driver: Remove larb12 related content.
Changes in v3:
- DTS: Remove non-MMIO nodes.
Changes in v2:
- Fix coding style issues throughout.
Sarang Chaudhari (4):
media: dt-bindings: mediatek: Add AIE face detection support for
MT8188
arm64: dts: mediatek: mt8188: Add AIE face detection node
media: uapi: mediatek: Add MT8188 AIE control definitions
media: platform: mediatek: Add MT8188 AIE driver
.../bindings/media/mediatek,mt8188-aie.yaml | 85 +
MAINTAINERS | 10 +
arch/arm64/boot/dts/mediatek/mt8188.dtsi | 13 +
drivers/media/platform/mediatek/Kconfig | 1 +
drivers/media/platform/mediatek/Makefile | 1 +
drivers/media/platform/mediatek/aie/Kconfig | 20 +
drivers/media/platform/mediatek/aie/Makefile | 5 +
drivers/media/platform/mediatek/aie/mtk_aie.h | 1045 +++++++++++
.../platform/mediatek/aie/mtk_aie_drv.c | 3667 +++++++++++++++++
.../platform/mediatek/aie/mtk_aie_v4l2.c | 1907 +++++++++
drivers/media/v4l2-core/v4l2-ioctl.c | 1 +
include/uapi/linux/mtk_aie_v4l2_controls.h | 23 +
include/uapi/linux/videodev2.h | 1 +
13 files changed, 6779 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/mediatek,mt8188-aie.yaml
create mode 100644 drivers/media/platform/mediatek/aie/Kconfig
create mode 100644 drivers/media/platform/mediatek/aie/Makefile
create mode 100644 drivers/media/platform/mediatek/aie/mtk_aie.h
create mode 100644 drivers/media/platform/mediatek/aie/mtk_aie_drv.c
create mode 100644 drivers/media/platform/mediatek/aie/mtk_aie_v4l2.c
create mode 100644 include/uapi/linux/mtk_aie_v4l2_controls.h
--
2.45.2