* [RFC v1 0/4] media: mediatek: support mdp3 on mt8183 platform
@ 2019-03-08 5:49 Daoyuan Huang
2019-03-08 5:49 ` [RFC v1 1/4] dt-binding: mt8183: Add Mediatek MDP3 dt-bindings Daoyuan Huang
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Daoyuan Huang @ 2019-03-08 5:49 UTC (permalink / raw)
To: hans.verkuil, laurent.pinchart+renesas, tfiga, matthias.bgg, mchehab
Cc: devicetree, Sean.Cheng, Rynn.Wu, srv_heupstream, daoyuan huang,
holmes.chiou, Jerry-ch.Chen, jungo.lin, sj.huang, yuzhao,
linux-mediatek, ping-hsun.wu, zwisler, christie.yu,
frederic.chen, linux-arm-kernel, linux-media
From: daoyuan huang <daoyuan.huang@mediatek.com>
This is the first version of RFC patch for Media Data Path 3 (MDP3),
MDP3 is used for scaling and color format conversion.
support using GCE to write register in critical time limitation.
support V4L2 m2m device control.
---
Based on v5.0-rc1 and these series:
device tree:
http://lists.infradead.org/pipermail/linux-mediatek/2019-February/017570.html
clock control:
http://lists.infradead.org/pipermail/linux-mediatek/2019-February/017320.html
system control processor (SCP):
http://lists.infradead.org/pipermail/linux-mediatek/2019-February/017774.html
global command engine (GCE):
http://lists.infradead.org/pipermail/linux-mediatek/2019-January/017143.html
---
daoyuan huang (4):
dt-binding: mt8183: Add Mediatek MDP3 dt-bindings
dts: arm64: mt8183: Add Mediatek MDP3 nodes
media: platform: Add Mediatek MDP3 driver KConfig
media: platform: mtk-mdp3: Add Mediatek MDP3 driver
.../bindings/media/mediatek,mt8183-mdp3.txt | 217 ++++
arch/arm64/boot/dts/mediatek/mt8183.dtsi | 109 ++
drivers/media/platform/Kconfig | 18 +
drivers/media/platform/Makefile | 2 +
drivers/media/platform/mtk-mdp3/Makefile | 9 +
drivers/media/platform/mtk-mdp3/isp_reg.h | 38 +
drivers/media/platform/mtk-mdp3/mdp-platform.h | 67 ++
drivers/media/platform/mtk-mdp3/mdp_reg_ccorr.h | 76 ++
drivers/media/platform/mtk-mdp3/mdp_reg_rdma.h | 207 ++++
drivers/media/platform/mtk-mdp3/mdp_reg_rsz.h | 110 ++
drivers/media/platform/mtk-mdp3/mdp_reg_wdma.h | 126 +++
drivers/media/platform/mtk-mdp3/mdp_reg_wrot.h | 116 ++
drivers/media/platform/mtk-mdp3/mmsys_config.h | 189 ++++
drivers/media/platform/mtk-mdp3/mmsys_mutex.h | 36 +
drivers/media/platform/mtk-mdp3/mmsys_reg_base.h | 39 +
drivers/media/platform/mtk-mdp3/mtk-img-ipi.h | 272 +++++
drivers/media/platform/mtk-mdp3/mtk-mdp3-cmdq.c | 407 +++++++
drivers/media/platform/mtk-mdp3/mtk-mdp3-cmdq.h | 52 +
drivers/media/platform/mtk-mdp3/mtk-mdp3-comp.c | 1180 ++++++++++++++++++++
drivers/media/platform/mtk-mdp3/mtk-mdp3-comp.h | 176 +++
drivers/media/platform/mtk-mdp3/mtk-mdp3-core.c | 257 +++++
drivers/media/platform/mtk-mdp3/mtk-mdp3-core.h | 89 ++
drivers/media/platform/mtk-mdp3/mtk-mdp3-m2m.c | 784 +++++++++++++
drivers/media/platform/mtk-mdp3/mtk-mdp3-m2m.h | 52 +
drivers/media/platform/mtk-mdp3/mtk-mdp3-regs.c | 778 +++++++++++++
drivers/media/platform/mtk-mdp3/mtk-mdp3-regs.h | 382 +++++++
drivers/media/platform/mtk-mdp3/mtk-mdp3-vpu.c | 277 +++++
drivers/media/platform/mtk-mdp3/mtk-mdp3-vpu.h | 90 ++
28 files changed, 6155 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/mediatek,mt8183-mdp3.txt
create mode 100644 drivers/media/platform/mtk-mdp3/Makefile
create mode 100644 drivers/media/platform/mtk-mdp3/isp_reg.h
create mode 100644 drivers/media/platform/mtk-mdp3/mdp-platform.h
create mode 100644 drivers/media/platform/mtk-mdp3/mdp_reg_ccorr.h
create mode 100644 drivers/media/platform/mtk-mdp3/mdp_reg_rdma.h
create mode 100644 drivers/media/platform/mtk-mdp3/mdp_reg_rsz.h
create mode 100644 drivers/media/platform/mtk-mdp3/mdp_reg_wdma.h
create mode 100644 drivers/media/platform/mtk-mdp3/mdp_reg_wrot.h
create mode 100644 drivers/media/platform/mtk-mdp3/mmsys_config.h
create mode 100644 drivers/media/platform/mtk-mdp3/mmsys_mutex.h
create mode 100644 drivers/media/platform/mtk-mdp3/mmsys_reg_base.h
create mode 100644 drivers/media/platform/mtk-mdp3/mtk-img-ipi.h
create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-cmdq.c
create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-cmdq.h
create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-comp.c
create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-comp.h
create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-core.c
create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-core.h
create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-m2m.c
create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-m2m.h
create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-regs.c
create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-regs.h
create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-vpu.c
create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-vpu.h
--
1.9.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 5+ messages in thread
* [RFC v1 1/4] dt-binding: mt8183: Add Mediatek MDP3 dt-bindings
2019-03-08 5:49 [RFC v1 0/4] media: mediatek: support mdp3 on mt8183 platform Daoyuan Huang
@ 2019-03-08 5:49 ` Daoyuan Huang
2019-03-08 5:49 ` [RFC v1 2/4] dts: arm64: mt8183: Add Mediatek MDP3 nodes Daoyuan Huang
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Daoyuan Huang @ 2019-03-08 5:49 UTC (permalink / raw)
To: hans.verkuil, laurent.pinchart+renesas, tfiga, matthias.bgg, mchehab
Cc: devicetree, Sean.Cheng, Rynn.Wu, srv_heupstream, daoyuan huang,
holmes.chiou, Jerry-ch.Chen, jungo.lin, sj.huang, yuzhao,
linux-mediatek, ping-hsun.wu, zwisler, christie.yu,
frederic.chen, linux-arm-kernel, linux-media
From: daoyuan huang <daoyuan.huang@mediatek.com>
This patch adds DT binding document for Media Data Path 3 (MDP3)
a unit in multimedia system used for scaling and color format convert.
Signed-off-by: Ping-Hsun Wu <ping-hsun.wu@mediatek.com>
Signed-off-by: daoyuan huang <daoyuan.huang@mediatek.com>
---
.../bindings/media/mediatek,mt8183-mdp3.txt | 217 +++++++++++++++++++++
1 file changed, 217 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/mediatek,mt8183-mdp3.txt
diff --git a/Documentation/devicetree/bindings/media/mediatek,mt8183-mdp3.txt b/Documentation/devicetree/bindings/media/mediatek,mt8183-mdp3.txt
new file mode 100644
index 0000000..cf3e808
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/mediatek,mt8183-mdp3.txt
@@ -0,0 +1,217 @@
+* Mediatek Media Data Path 3
+
+Media Data Path 3 (MDP3) is used for scaling and color space conversion.
+
+Required properties (controller node):
+- compatible: "mediatek,mt8183-mdp"
+- mediatek,scp: the node of system control processor (SCP), using the
+ remoteproc & rpmsg framework, see
+ Documentation/devicetree/bindings/remoteproc/mtk,scp.txt for details.
+- mediatek,mmsys: the node of mux(multiplexer) controller for HW connections.
+- mediatek,mm-mutex: the node of sof(start of frame) signal controller.
+- mediatek,mailbox-gce: the node of global command engine (GCE), used to
+ read/write registers with critical time limitation, see
+ Documentation/devicetree/bindings/mailbox/mtk-gce.txt for details.
+- mboxes: mailbox number used to communicate with GCE.
+- gce-subsys: sub-system id corresponding to the register address.
+- gce-event-names: in use event name list, used to correspond to event IDs.
+- gce-events: in use event IDs list, all IDs are defined in
+ 'dt-bindings/gce/mt8183-gce.h'.
+
+Required properties (all function blocks, child node):
+- compatible: Should be one of
+ "mediatek,mt8183-mdp-rdma" - read DMA
+ "mediatek,mt8183-mdp-rsz" - resizer
+ "mediatek,mt8183-mdp-wdma" - write DMA
+ "mediatek,mt8183-mdp-wrot" - write DMA with rotation
+ "mediatek,mt8183-mdp-ccorr" - color correction with 3X3 matrix
+- reg: Physical base address and length of the function block register space
+- clocks: device clocks, see
+ Documentation/devicetree/bindings/clock/clock-bindings.txt for details.
+- power-domains: a phandle to the power domain, see
+ Documentation/devicetree/bindings/power/power_domain.txt for details.
+- mediatek,mdp-id: HW index to distinguish same functionality modules.
+
+Required properties (DMA function blocks, child node):
+- compatible: Should be one of
+ "mediatek,mt8183-mdp-rdma"
+ "mediatek,mt8183-mdp-wdma"
+ "mediatek,mt8183-mdp-wrot"
+- iommus: should point to the respective IOMMU block with master port as
+ argument, see Documentation/devicetree/bindings/iommu/mediatek,iommu.txt
+ for details.
+- mediatek,larb: must contain the local arbiters in the current Socs, see
+ Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.txt
+ for details.
+
+Required properties (input path selection node):
+- compatible:
+ "mediatek,mt8183-mdp-dl" - MDP direct link input source selection
+- reg: Physical base address and length of the function block register space
+- clocks: device clocks, see
+ Documentation/devicetree/bindings/clock/clock-bindings.txt for details.
+- mediatek,mdp-id: HW index to distinguish same functionality modules.
+
+Required properties (ISP PASS2 (DIP) module path selection node):
+- compatible:
+ "mediatek,mt8183-mdp-imgi" - input DMA of ISP PASS2 (DIP) module for raw image input
+- reg: Physical base address and length of the function block register space
+- mediatek,mdp-id: HW index to distinguish same functionality modules.
+
+Required properties (SW node):
+- compatible: Should be one of
+ "mediatek,mt8183-mdp-exto" - output DMA of ISP PASS2 (DIP) module for yuv image output
+ "mediatek,mt8183-mdp-path" - MDP output path selection
+- mediatek,mdp-id: HW index to distinguish same functionality modules.
+
+Example:
+ mdp_camin@14000000 {
+ compatible = "mediatek,mt8183-mdp-dl";
+ mediatek,mdp-id = <0>;
+ reg = <0 0x14000000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MDP_DL_TXCK>,
+ <&mmsys CLK_MM_MDP_DL_RX>;
+ };
+
+ mdp_camin2@14000000 {
+ compatible = "mediatek,mt8183-mdp-dl";
+ mediatek,mdp-id = <1>;
+ reg = <0 0x14000000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_IPU_DL_TXCK>,
+ <&mmsys CLK_MM_IPU_DL_RX>;
+ };
+
+ mdp_rdma0: mdp_rdma0@14001000 {
+ compatible = "mediatek,mt8183-mdp-rdma", "mediatek,mt8183-mdp3";
+ mediatek,scp = <&scp>;
+ mediatek,mdp-id = <0>;
+ reg = <0 0x14001000 0 0x1000>;
+ power-domains = <&scpsys MT8183_POWER_DOMAIN_DISP>;
+ clocks = <&mmsys CLK_MM_MDP_RDMA0>,
+ <&mmsys CLK_MM_MDP_RSZ1>;
+ iommus = <&iommu M4U_PORT_MDP_RDMA0>;
+ mediatek,larb = <&larb0>;
+ mediatek,mmsys = <&mmsys>;
+ mediatek,mm-mutex = <&mutex>;
+ mediatek,mailbox-gce = <&gce>;
+ mboxes = <&gce 20 0 CMDQ_THR_PRIO_LOWEST>,
+ <&gce 21 0 CMDQ_THR_PRIO_LOWEST>,
+ <&gce 22 0 CMDQ_THR_PRIO_LOWEST>,
+ <&gce 23 0 CMDQ_THR_PRIO_LOWEST>;
+ gce-subsys = <&gce 0x14000000 SUBSYS_1400XXXX>,
+ <&gce 0x14010000 SUBSYS_1401XXXX>,
+ <&gce 0x14020000 SUBSYS_1402XXXX>,
+ <&gce 0x15020000 SUBSYS_1502XXXX>;
+ gce-event-names = "rdma0_sof",
+ "rsz0_sof",
+ "rsz1_sof",
+ "tdshp0_sof",
+ "wrot0_sof",
+ "wdma0_sof",
+ "rdma0_done",
+ "wrot0_done",
+ "wdma0_done",
+ "isp_p2_0_done",
+ "isp_p2_1_done",
+ "isp_p2_2_done",
+ "isp_p2_3_done",
+ "isp_p2_4_done",
+ "isp_p2_5_done",
+ "isp_p2_6_done",
+ "isp_p2_7_done",
+ "isp_p2_8_done",
+ "isp_p2_9_done",
+ "isp_p2_10_done",
+ "isp_p2_11_done",
+ "isp_p2_12_done",
+ "isp_p2_13_done",
+ "isp_p2_14_done",
+ "wpe_done",
+ "wpe_b_done";
+ gce-events = <&gce CMDQ_EVENT_MDP_RDMA0_SOF>,
+ <&gce CMDQ_EVENT_MDP_RSZ0_SOF>,
+ <&gce CMDQ_EVENT_MDP_RSZ1_SOF>,
+ <&gce CMDQ_EVENT_MDP_TDSHP_SOF>,
+ <&gce CMDQ_EVENT_MDP_WROT0_SOF>,
+ <&gce CMDQ_EVENT_MDP_WDMA0_SOF>,
+ <&gce CMDQ_EVENT_MDP_RDMA0_EOF>,
+ <&gce CMDQ_EVENT_MDP_WROT0_EOF>,
+ <&gce CMDQ_EVENT_MDP_WDMA0_EOF>,
+ <&gce CMDQ_EVENT_ISP_FRAME_DONE_P2_0>,
+ <&gce CMDQ_EVENT_ISP_FRAME_DONE_P2_1>,
+ <&gce CMDQ_EVENT_ISP_FRAME_DONE_P2_2>,
+ <&gce CMDQ_EVENT_ISP_FRAME_DONE_P2_3>,
+ <&gce CMDQ_EVENT_ISP_FRAME_DONE_P2_4>,
+ <&gce CMDQ_EVENT_ISP_FRAME_DONE_P2_5>,
+ <&gce CMDQ_EVENT_ISP_FRAME_DONE_P2_6>,
+ <&gce CMDQ_EVENT_ISP_FRAME_DONE_P2_7>,
+ <&gce CMDQ_EVENT_ISP_FRAME_DONE_P2_8>,
+ <&gce CMDQ_EVENT_ISP_FRAME_DONE_P2_9>,
+ <&gce CMDQ_EVENT_ISP_FRAME_DONE_P2_10>,
+ <&gce CMDQ_EVENT_ISP_FRAME_DONE_P2_11>,
+ <&gce CMDQ_EVENT_ISP_FRAME_DONE_P2_12>,
+ <&gce CMDQ_EVENT_ISP_FRAME_DONE_P2_13>,
+ <&gce CMDQ_EVENT_ISP_FRAME_DONE_P2_14>,
+ <&gce CMDQ_EVENT_WPE_A_DONE>,
+ <&gce CMDQ_EVENT_SPE_B_DONE>;
+ };
+
+ mdp_imgi@15020000 {
+ compatible = "mediatek,mt8183-mdp-imgi";
+ mediatek,mdp-id = <0>;
+ reg = <0 0x15020000 0 0x1000>;
+ };
+
+ mdp_img2o@15020000 {
+ compatible = "mediatek,mt8183-mdp-exto";
+ mediatek,mdp-id = <1>;
+ };
+
+ mdp_rsz0: mdp_rsz0@14003000 {
+ compatible = "mediatek,mt8183-mdp-rsz";
+ mediatek,mdp-id = <0>;
+ reg = <0 0x14003000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MDP_RSZ0>;
+ };
+
+ mdp_rsz1: mdp_rsz1@14004000 {
+ compatible = "mediatek,mt8183-mdp-rsz";
+ mediatek,mdp-id = <1>;
+ reg = <0 0x14004000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MDP_RSZ1>;
+ };
+
+ mdp_wrot0: mdp_wrot0@14005000 {
+ compatible = "mediatek,mt8183-mdp-wrot";
+ mediatek,mdp-id = <0>;
+ reg = <0 0x14005000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MDP_WROT0>;
+ iommus = <&iommu M4U_PORT_MDP_WROT0>;
+ mediatek,larb = <&larb0>;
+ };
+
+ mdp_path0_sout@14005000 {
+ compatible = "mediatek,mt8183-mdp-path";
+ mediatek,mdp-id = <0>;
+ };
+
+ mdp_wdma: mdp_wdma@14006000 {
+ compatible = "mediatek,mt8183-mdp-wdma";
+ mediatek,mdp-id = <0>;
+ reg = <0 0x14006000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MDP_WDMA0>;
+ iommus = <&iommu M4U_PORT_MDP_WDMA0>;
+ mediatek,larb = <&larb0>;
+ };
+
+ mdp_path1_sout@14006000 {
+ compatible = "mediatek,mt8183-mdp-path";
+ mediatek,mdp-id = <1>;
+ };
+
+ mdp_ccorr: mdp_ccorr@1401c000 {
+ compatible = "mediatek,mt8183-mdp-ccorr";
+ mediatek,mdp-id = <0>;
+ reg = <0 0x1401c000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MDP_CCORR>;
+ };
--
1.9.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [RFC v1 2/4] dts: arm64: mt8183: Add Mediatek MDP3 nodes
2019-03-08 5:49 [RFC v1 0/4] media: mediatek: support mdp3 on mt8183 platform Daoyuan Huang
2019-03-08 5:49 ` [RFC v1 1/4] dt-binding: mt8183: Add Mediatek MDP3 dt-bindings Daoyuan Huang
@ 2019-03-08 5:49 ` Daoyuan Huang
2019-03-08 5:49 ` [RFC v1 3/4] media: platform: Add Mediatek MDP3 driver KConfig Daoyuan Huang
2019-03-14 8:37 ` [RFC v1 0/4] media: mediatek: support mdp3 on mt8183 platform Hans Verkuil
3 siblings, 0 replies; 5+ messages in thread
From: Daoyuan Huang @ 2019-03-08 5:49 UTC (permalink / raw)
To: hans.verkuil, laurent.pinchart+renesas, tfiga, matthias.bgg, mchehab
Cc: devicetree, Sean.Cheng, Rynn.Wu, srv_heupstream, daoyuan huang,
holmes.chiou, Jerry-ch.Chen, jungo.lin, sj.huang, yuzhao,
linux-mediatek, ping-hsun.wu, zwisler, christie.yu,
frederic.chen, linux-arm-kernel, linux-media
From: daoyuan huang <daoyuan.huang@mediatek.com>
Add device nodes for Media Data Path 3 (MDP3) modules.
Signed-off-by: Ping-Hsun Wu <ping-hsun.wu@mediatek.com>
Signed-off-by: daoyuan huang <daoyuan.huang@mediatek.com>
---
arch/arm64/boot/dts/mediatek/mt8183.dtsi | 109 +++++++++++++++++++++++++++++++
1 file changed, 109 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8183.dtsi b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
index c3a516e..4bc7d70 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
@@ -421,11 +421,120 @@
#clock-cells = <1>;
};
+ mdp_camin@14000000 {
+ compatible = "mediatek,mt8183-mdp-dl";
+ mediatek,mdp-id = <0>;
+ reg = <0 0x14000000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MDP_DL_TXCK>,
+ <&mmsys CLK_MM_MDP_DL_RX>;
+ };
+
+ mdp_camin2@14000000 {
+ compatible = "mediatek,mt8183-mdp-dl";
+ mediatek,mdp-id = <1>;
+ reg = <0 0x14000000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_IPU_DL_TXCK>,
+ <&mmsys CLK_MM_IPU_DL_RX>;
+ };
+
+ mdp_rdma0: mdp_rdma0@14001000 {
+ compatible = "mediatek,mt8183-mdp-rdma",
+ "mediatek,mt8183-mdp3";
+ mediatek,mdp-id = <0>;
+ reg = <0 0x14001000 0 0x1000>;
+ power-domains = <&scpsys MT8183_POWER_DOMAIN_DISP>;
+ clocks = <&mmsys CLK_MM_MDP_RDMA0>,
+ <&mmsys CLK_MM_MDP_RSZ1>;
+ mediatek,mmsys = <&mmsys>;
+ gce-event-names = "rdma0_sof",
+ "rsz0_sof",
+ "rsz1_sof",
+ "tdshp0_sof",
+ "wrot0_sof",
+ "wdma0_sof",
+ "rdma0_done",
+ "wrot0_done",
+ "wdma0_done",
+ "isp_p2_0_done",
+ "isp_p2_1_done",
+ "isp_p2_2_done",
+ "isp_p2_3_done",
+ "isp_p2_4_done",
+ "isp_p2_5_done",
+ "isp_p2_6_done",
+ "isp_p2_7_done",
+ "isp_p2_8_done",
+ "isp_p2_9_done",
+ "isp_p2_10_done",
+ "isp_p2_11_done",
+ "isp_p2_12_done",
+ "isp_p2_13_done",
+ "isp_p2_14_done",
+ "wpe_done",
+ "wpe_b_done";
+ };
+
+ mdp_imgi@15020000 {
+ compatible = "mediatek,mt8183-mdp-imgi";
+ mediatek,mdp-id = <0>;
+ reg = <0 0x15020000 0 0x1000>;
+ };
+
+ mdp_img2o@15020000 {
+ compatible = "mediatek,mt8183-mdp-exto";
+ mediatek,mdp-id = <1>;
+ };
+
+ mdp_rsz0: mdp_rsz0@14003000 {
+ compatible = "mediatek,mt8183-mdp-rsz";
+ mediatek,mdp-id = <0>;
+ reg = <0 0x14003000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MDP_RSZ0>;
+ };
+
+ mdp_rsz1: mdp_rsz1@14004000 {
+ compatible = "mediatek,mt8183-mdp-rsz";
+ mediatek,mdp-id = <1>;
+ reg = <0 0x14004000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MDP_RSZ1>;
+ };
+
+ mdp_wrot0: mdp_wrot0@14005000 {
+ compatible = "mediatek,mt8183-mdp-wrot";
+ mediatek,mdp-id = <0>;
+ reg = <0 0x14005000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MDP_WROT0>;
+ };
+
+ mdp_path0_sout@14005000 {
+ compatible = "mediatek,mt8183-mdp-path";
+ mediatek,mdp-id = <0>;
+ };
+
+ mdp_wdma: mdp_wdma@14006000 {
+ compatible = "mediatek,mt8183-mdp-wdma";
+ mediatek,mdp-id = <0>;
+ reg = <0 0x14006000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MDP_WDMA0>;
+ };
+
+ mdp_path1_sout@14006000 {
+ compatible = "mediatek,mt8183-mdp-path";
+ mediatek,mdp-id = <1>;
+ };
+
smi_common: smi@14019000 {
compatible = "mediatek,mt8183-smi-common", "syscon";
reg = <0 0x14019000 0 0x1000>;
};
+ mdp_ccorr: mdp_ccorr@1401c000 {
+ compatible = "mediatek,mt8183-mdp-ccorr";
+ mediatek,mdp-id = <0>;
+ reg = <0 0x1401c000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MDP_CCORR>;
+ };
+
imgsys: syscon@15020000 {
compatible = "mediatek,mt8183-imgsys", "syscon";
reg = <0 0x15020000 0 0x1000>;
--
1.9.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [RFC v1 3/4] media: platform: Add Mediatek MDP3 driver KConfig
2019-03-08 5:49 [RFC v1 0/4] media: mediatek: support mdp3 on mt8183 platform Daoyuan Huang
2019-03-08 5:49 ` [RFC v1 1/4] dt-binding: mt8183: Add Mediatek MDP3 dt-bindings Daoyuan Huang
2019-03-08 5:49 ` [RFC v1 2/4] dts: arm64: mt8183: Add Mediatek MDP3 nodes Daoyuan Huang
@ 2019-03-08 5:49 ` Daoyuan Huang
2019-03-14 8:37 ` [RFC v1 0/4] media: mediatek: support mdp3 on mt8183 platform Hans Verkuil
3 siblings, 0 replies; 5+ messages in thread
From: Daoyuan Huang @ 2019-03-08 5:49 UTC (permalink / raw)
To: hans.verkuil, laurent.pinchart+renesas, tfiga, matthias.bgg, mchehab
Cc: devicetree, Sean.Cheng, Rynn.Wu, srv_heupstream, daoyuan huang,
holmes.chiou, Jerry-ch.Chen, jungo.lin, sj.huang, yuzhao,
linux-mediatek, ping-hsun.wu, zwisler, christie.yu,
frederic.chen, linux-arm-kernel, linux-media
From: daoyuan huang <daoyuan.huang@mediatek.com>
This patch adds Kconfig for Mediatek Media Data Path 3 (MDP3)
driver. MDP3 is used to do scaling and color format conversion.
Signed-off-by: Ping-Hsun Wu <ping-hsun.wu@mediatek.com>
Signed-off-by: daoyuan huang <daoyuan.huang@mediatek.com>
---
drivers/media/platform/Kconfig | 18 ++++++++++++++++++
drivers/media/platform/Makefile | 2 ++
2 files changed, 20 insertions(+)
diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
index a505e9f..6e8b594 100644
--- a/drivers/media/platform/Kconfig
+++ b/drivers/media/platform/Kconfig
@@ -244,6 +244,24 @@ config VIDEO_MEDIATEK_MDP
To compile this driver as a module, choose M here: the
module will be called mtk-mdp.
+config VIDEO_MEDIATEK_MDP3
+ tristate "Mediatek MDP v3 driver"
+ depends on MTK_IOMMU || COMPILE_TEST
+ depends on VIDEO_DEV && VIDEO_V4L2
+ depends on ARCH_MEDIATEK || COMPILE_TEST
+ depends on HAS_DMA
+ select VIDEOBUF2_DMA_CONTIG
+ select V4L2_MEM2MEM_DEV
+ select VIDEO_MEDIATEK_VPU
+ select MTK_CMDQ
+ default n
+ help
+ It is a v4l2 driver and present in Mediatek MT8183 SoC.
+ The driver supports for scaling and color space conversion.
+
+ To compile this driver as a module, choose M here: the
+ module will be called mtk-mdp3.
+
config VIDEO_MEDIATEK_VCODEC
tristate "Mediatek Video Codec driver"
depends on MTK_IOMMU || COMPILE_TEST
diff --git a/drivers/media/platform/Makefile b/drivers/media/platform/Makefile
index e6deb25..1e2cb92b 100644
--- a/drivers/media/platform/Makefile
+++ b/drivers/media/platform/Makefile
@@ -92,6 +92,8 @@ obj-$(CONFIG_VIDEO_MEDIATEK_VCODEC) += mtk-vcodec/
obj-$(CONFIG_VIDEO_MEDIATEK_MDP) += mtk-mdp/
+obj-$(CONFIG_VIDEO_MEDIATEK_MDP3) += mtk-mdp3/
+
obj-$(CONFIG_VIDEO_MEDIATEK_JPEG) += mtk-jpeg/
obj-$(CONFIG_VIDEO_QCOM_CAMSS) += qcom/camss/
--
1.9.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [RFC v1 0/4] media: mediatek: support mdp3 on mt8183 platform
2019-03-08 5:49 [RFC v1 0/4] media: mediatek: support mdp3 on mt8183 platform Daoyuan Huang
` (2 preceding siblings ...)
2019-03-08 5:49 ` [RFC v1 3/4] media: platform: Add Mediatek MDP3 driver KConfig Daoyuan Huang
@ 2019-03-14 8:37 ` Hans Verkuil
3 siblings, 0 replies; 5+ messages in thread
From: Hans Verkuil @ 2019-03-14 8:37 UTC (permalink / raw)
To: Daoyuan Huang, laurent.pinchart+renesas, tfiga, matthias.bgg, mchehab
Cc: devicetree, Sean.Cheng, Rynn.Wu, srv_heupstream, holmes.chiou,
Jerry-ch.Chen, jungo.lin, sj.huang, yuzhao, linux-mediatek,
ping-hsun.wu, zwisler, christie.yu, frederic.chen,
linux-arm-kernel, linux-media
Hi Daoyuan Huang,
On 3/8/19 6:49 AM, Daoyuan Huang wrote:
> From: daoyuan huang <daoyuan.huang@mediatek.com>
>
> This is the first version of RFC patch for Media Data Path 3 (MDP3),
> MDP3 is used for scaling and color format conversion.
> support using GCE to write register in critical time limitation.
> support V4L2 m2m device control.
Just a high-level comment before you post the next version of this series:
Please compile the latest version of v4l2-compliance (part of
git://linuxtv.org/v4l-utils.git) and run it against your driver:
v4l2-compliance -d /dev/videoX -s10 -f
(I hope the -f option works, it tests all combinations of pixelformats, but those
tests are new so there may be issues, just let me know if that's the case).
Whenever you post a new version of this series, please do a 'git pull' of
the v4l-utils repo, recompile and retest with v4l2-compliance and post the
test results in the cover letter.
Obviously, there should be no FAILs and probably no warnings.
Regards,
Hans
>
> ---
> Based on v5.0-rc1 and these series:
> device tree:
> http://lists.infradead.org/pipermail/linux-mediatek/2019-February/017570.html
> clock control:
> http://lists.infradead.org/pipermail/linux-mediatek/2019-February/017320.html
> system control processor (SCP):
> http://lists.infradead.org/pipermail/linux-mediatek/2019-February/017774.html
> global command engine (GCE):
> http://lists.infradead.org/pipermail/linux-mediatek/2019-January/017143.html
> ---
>
> daoyuan huang (4):
> dt-binding: mt8183: Add Mediatek MDP3 dt-bindings
> dts: arm64: mt8183: Add Mediatek MDP3 nodes
> media: platform: Add Mediatek MDP3 driver KConfig
> media: platform: mtk-mdp3: Add Mediatek MDP3 driver
>
> .../bindings/media/mediatek,mt8183-mdp3.txt | 217 ++++
> arch/arm64/boot/dts/mediatek/mt8183.dtsi | 109 ++
> drivers/media/platform/Kconfig | 18 +
> drivers/media/platform/Makefile | 2 +
> drivers/media/platform/mtk-mdp3/Makefile | 9 +
> drivers/media/platform/mtk-mdp3/isp_reg.h | 38 +
> drivers/media/platform/mtk-mdp3/mdp-platform.h | 67 ++
> drivers/media/platform/mtk-mdp3/mdp_reg_ccorr.h | 76 ++
> drivers/media/platform/mtk-mdp3/mdp_reg_rdma.h | 207 ++++
> drivers/media/platform/mtk-mdp3/mdp_reg_rsz.h | 110 ++
> drivers/media/platform/mtk-mdp3/mdp_reg_wdma.h | 126 +++
> drivers/media/platform/mtk-mdp3/mdp_reg_wrot.h | 116 ++
> drivers/media/platform/mtk-mdp3/mmsys_config.h | 189 ++++
> drivers/media/platform/mtk-mdp3/mmsys_mutex.h | 36 +
> drivers/media/platform/mtk-mdp3/mmsys_reg_base.h | 39 +
> drivers/media/platform/mtk-mdp3/mtk-img-ipi.h | 272 +++++
> drivers/media/platform/mtk-mdp3/mtk-mdp3-cmdq.c | 407 +++++++
> drivers/media/platform/mtk-mdp3/mtk-mdp3-cmdq.h | 52 +
> drivers/media/platform/mtk-mdp3/mtk-mdp3-comp.c | 1180 ++++++++++++++++++++
> drivers/media/platform/mtk-mdp3/mtk-mdp3-comp.h | 176 +++
> drivers/media/platform/mtk-mdp3/mtk-mdp3-core.c | 257 +++++
> drivers/media/platform/mtk-mdp3/mtk-mdp3-core.h | 89 ++
> drivers/media/platform/mtk-mdp3/mtk-mdp3-m2m.c | 784 +++++++++++++
> drivers/media/platform/mtk-mdp3/mtk-mdp3-m2m.h | 52 +
> drivers/media/platform/mtk-mdp3/mtk-mdp3-regs.c | 778 +++++++++++++
> drivers/media/platform/mtk-mdp3/mtk-mdp3-regs.h | 382 +++++++
> drivers/media/platform/mtk-mdp3/mtk-mdp3-vpu.c | 277 +++++
> drivers/media/platform/mtk-mdp3/mtk-mdp3-vpu.h | 90 ++
> 28 files changed, 6155 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/media/mediatek,mt8183-mdp3.txt
> create mode 100644 drivers/media/platform/mtk-mdp3/Makefile
> create mode 100644 drivers/media/platform/mtk-mdp3/isp_reg.h
> create mode 100644 drivers/media/platform/mtk-mdp3/mdp-platform.h
> create mode 100644 drivers/media/platform/mtk-mdp3/mdp_reg_ccorr.h
> create mode 100644 drivers/media/platform/mtk-mdp3/mdp_reg_rdma.h
> create mode 100644 drivers/media/platform/mtk-mdp3/mdp_reg_rsz.h
> create mode 100644 drivers/media/platform/mtk-mdp3/mdp_reg_wdma.h
> create mode 100644 drivers/media/platform/mtk-mdp3/mdp_reg_wrot.h
> create mode 100644 drivers/media/platform/mtk-mdp3/mmsys_config.h
> create mode 100644 drivers/media/platform/mtk-mdp3/mmsys_mutex.h
> create mode 100644 drivers/media/platform/mtk-mdp3/mmsys_reg_base.h
> create mode 100644 drivers/media/platform/mtk-mdp3/mtk-img-ipi.h
> create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-cmdq.c
> create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-cmdq.h
> create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-comp.c
> create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-comp.h
> create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-core.c
> create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-core.h
> create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-m2m.c
> create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-m2m.h
> create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-regs.c
> create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-regs.h
> create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-vpu.c
> create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-vpu.h
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-03-14 8:37 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-08 5:49 [RFC v1 0/4] media: mediatek: support mdp3 on mt8183 platform Daoyuan Huang
2019-03-08 5:49 ` [RFC v1 1/4] dt-binding: mt8183: Add Mediatek MDP3 dt-bindings Daoyuan Huang
2019-03-08 5:49 ` [RFC v1 2/4] dts: arm64: mt8183: Add Mediatek MDP3 nodes Daoyuan Huang
2019-03-08 5:49 ` [RFC v1 3/4] media: platform: Add Mediatek MDP3 driver KConfig Daoyuan Huang
2019-03-14 8:37 ` [RFC v1 0/4] media: mediatek: support mdp3 on mt8183 platform Hans Verkuil
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).