[RFC PATCH V3 0/4] media: support Mediatek sensor interface driver

Louis Kuo
2019-06-06T10:00:29Z

Hello,

This is the RFC patch adding Sensor Inferface(seninf) driver on
Mediatek mt8183 SoC, which will be used in camera features on CrOS application.
It belongs to the first Mediatek's camera driver series based on V4L2 and media controller framework.
I posted the main part of the seninf driver as RFC to discuss first and would like some review comments
on the overall structure of the driver.

The driver is implemented with V4L2 framework.
1. Register as a V4L2 sub-device.
2. Only one entity with sink pads linked to camera sensors for choosing desired camera sensor by setup link
and with source pads linked to cam-io for routing different types of decoded packet datas to PASS1 driver
to generate sensor image frame and meta-data.

The overall file structure of the seninf driver is as following:

* mtk_seninf.c: Implement software and HW control flow of seninf driver.
* mtk_seninf_def.h: Define data structure and enumeration.
* mtk_seninf_reg.h: Define HW register R/W macros and HW register names.

[ V3: use recommended coding style, remove redundant code, change endpoint parsing method ]

media: platform: mtk-isp: Add Mediatek sensor interface driver
media: platform: Add Mediatek sensor interface driver KConfig
dt-bindings: mt8183: Add sensor interface dt-bindings
dts: arm64: mt8183: Add sensor interface nodes

.../devicetree/bindings/media/mediatek-seninf.txt | 31 +
arch/arm64/boot/dts/mediatek/mt8183.dtsi | 15 +
drivers/media/platform/Makefile | 2 +
drivers/media/platform/mtk-isp/Kconfig | 17 +
drivers/media/platform/mtk-isp/Makefile | 3 +
drivers/media/platform/mtk-isp/isp_50/Makefile | 5 +
.../media/platform/mtk-isp/isp_50/seninf/Makefile | 6 +
.../platform/mtk-isp/isp_50/seninf/mtk_seninf.c | 1330 ++++++++++++++++++++
.../mtk-isp/isp_50/seninf/mtk_seninf_def.h | 155 +++
.../mtk-isp/isp_50/seninf/mtk_seninf_reg.h | 965 ++++++++++++++
10 files changed, 2529 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/mediatek-seninf.txt
create mode 100644 drivers/media/platform/mtk-isp/Kconfig
create mode 100644 drivers/media/platform/mtk-isp/Makefile
create mode 100644 drivers/media/platform/mtk-isp/isp_50/Makefile
create mode 100644 drivers/media/platform/mtk-isp/isp_50/seninf/Makefile
create mode 100644 drivers/media/platform/mtk-isp/isp_50/seninf/mtk_seninf.c
create mode 100644 drivers/media/platform/mtk-isp/isp_50/seninf/mtk_seninf_def.h
create mode 100644 drivers/media/platform/mtk-isp/isp_50/seninf/mtk_seninf_reg.h