From patchwork Fri Jan 21 01:05:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Prabhakar Mahadev Lad X-Patchwork-Id: 80134 Received: from vger.kernel.org ([23.128.96.18]) by www.linuxtv.org with esmtp (Exim 4.92) (envelope-from ) id 1nAiNV-000oJd-Cw; Fri, 21 Jan 2022 01:06:10 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233325AbiAUBGD (ORCPT + 1 other); Thu, 20 Jan 2022 20:06:03 -0500 Received: from relmlor2.renesas.com ([210.160.252.172]:28300 "EHLO relmlie6.idc.renesas.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S229499AbiAUBGD (ORCPT ); Thu, 20 Jan 2022 20:06:03 -0500 X-IronPort-AV: E=Sophos;i="5.88,303,1635174000"; d="scan'208";a="107750887" Received: from unknown (HELO relmlir6.idc.renesas.com) ([10.200.68.152]) by relmlie6.idc.renesas.com with ESMTP; 21 Jan 2022 10:06:01 +0900 Received: from localhost.localdomain (unknown [10.226.36.204]) by relmlir6.idc.renesas.com (Postfix) with ESMTP id 8F397417762A; Fri, 21 Jan 2022 10:05:58 +0900 (JST) From: Lad Prabhakar To: =?utf-8?q?Niklas_S=C3=B6derlund?= , Jacopo Mondi , Philipp Zabel , Mauro Carvalho Chehab , Rob Herring , Laurent Pinchart , Sakari Ailus , Hans Verkuil Cc: Geert Uytterhoeven , linux-media@vger.kernel.org, linux-renesas-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar , Biju Das , Lad Prabhakar Subject: [RFC PATCH v2 0/4] Add driver for Renesas RZ/G2L CRU module Date: Fri, 21 Jan 2022 01:05:39 +0000 Message-Id: <20220121010543.31385-1-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.17.1 Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-LSpam-Score: -7.4 (-------) X-LSpam-Report: No, score=-7.4 required=5.0 tests=BAYES_00=-1.9,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_HI=-5 autolearn=ham autolearn_force=no Hi All, This patch series aims to add driver support to CRU module found on Renesas RZ/G2L SoC. The Camera Data Receiving Unit (CRU) consists of a MIPI CSI-2 block and an Image Processing block. The Image Processing block can receive video data received from the external Digital Parallel Interface or MIPI CSI-2 block, and perform appropriate image processing for each. More details: * https://renesas.info/wiki/File:CRU.png * https://www.renesas.com/document/mah/ rzg2l-group-rzg2lc-group-users-manual-hardware-0?language=en&r=1467981 Currently the driver has been tested using yavta and Gstreamer on RZ/G2L SMARC EVK using the ov5645 sensor on CSI2 interface only. Patches are dependent on millstream series [0] and subdev active state series [1]. [0] https://lore.kernel.org/linux-media/20211130141536.891878-1-tomi.valkeinen@ideasonboard.com/T/#t [1] https://lore.kernel.org/linux-media/20211217135022.364954-1-tomi.valkeinen@ideasonboard.com/T/#t v1: https://patchwork.kernel.org/project/linux-renesas-soc/cover/ 20211207012351.15754-1-prabhakar.mahadev-lad.rj@bp.renesas.com/ Cheers, Prabhakar Lad Prabhakar (4): media: dt-bindings: media: Document RZ/G2L CSI-2 block media: dt-bindings: media: Document RZ/G2L CRU media: platform: Add CRU driver for RZ/G2L SoC media: platform: Add Renesas RZ/G2L MIPI CSI-2 receiver driver .../bindings/media/renesas,rzg2l-cru.yaml | 152 +++ .../bindings/media/renesas,rzg2l-csi2.yaml | 151 +++ drivers/media/platform/Kconfig | 1 + drivers/media/platform/Makefile | 2 + .../media/platform/renesas/rzg2l-cru/Kconfig | 28 + .../media/platform/renesas/rzg2l-cru/Makefile | 5 + .../platform/renesas/rzg2l-cru/rzg2l-core.c | 432 ++++++++ .../platform/renesas/rzg2l-cru/rzg2l-cru.h | 155 +++ .../platform/renesas/rzg2l-cru/rzg2l-csi2.c | 928 ++++++++++++++++++ .../platform/renesas/rzg2l-cru/rzg2l-dma.c | 722 ++++++++++++++ .../platform/renesas/rzg2l-cru/rzg2l-v4l2.c | 360 +++++++ 11 files changed, 2936 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/renesas,rzg2l-cru.yaml create mode 100644 Documentation/devicetree/bindings/media/renesas,rzg2l-csi2.yaml create mode 100644 drivers/media/platform/renesas/rzg2l-cru/Kconfig create mode 100644 drivers/media/platform/renesas/rzg2l-cru/Makefile create mode 100644 drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c create mode 100644 drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h create mode 100644 drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c create mode 100644 drivers/media/platform/renesas/rzg2l-cru/rzg2l-dma.c create mode 100644 drivers/media/platform/renesas/rzg2l-cru/rzg2l-v4l2.c