Received: by 2002:a05:6358:bb9e:b0:b9:5105:a5b4 with SMTP id df30csp3707144rwb; Mon, 5 Sep 2022 17:20:20 -0700 (PDT) X-Google-Smtp-Source: AA6agR5CKS8JTHzA/s0YxxrOj0h8QUxH3ySa47CgR6tvVs8swXnn65Mh9JxriRM8qPxM+uVjCG2g X-Received: by 2002:a17:90b:3b85:b0:1fe:30f0:6be0 with SMTP id pc5-20020a17090b3b8500b001fe30f06be0mr22182419pjb.156.1662423619703; Mon, 05 Sep 2022 17:20:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1662423619; cv=none; d=google.com; s=arc-20160816; b=zmYceFEmyhUQIZ1UP2BITai2anL5c8qYgJgbMPzXi286x2ccsl13A8Ul0Z+JfMxO58 I3qf55ho8BgPFbfEsSNHmJOdwdMYvQFQu6XgDUT7QygzD1OWxpodmP+20xwDQqwpeicy 2b2gfklocAGIT3untpaMDRO+ColR2KDhEaAXH6Q0j5BRx1dDhCwy2CO+iM9UzLVRA8xE Ma0/zuOzmzRMEIkHc9Z3EMbNRQCijU/LNSBhE5f+RMQgpsSL28ksGDved2cHNDuDPxmn 7CxKZsiMF5lJcePXmZ9Gm231bJP5SA/o5A6Fx1HZigSWpJ84Y6oc7zT0LQ1PMOYJt7Gk bt7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from; bh=ILnMLrl7QeIG99TbkN/BOwq+JxiyuH5DK99XCDEDP9Y=; b=deyRdAiYycU+ogNxrr49EA5lprBkHzTtxP2+j6hEj+WWxX3G6QVPf6VOWMB0uF0jvi ML1pPYvt+z38YwiXRGzhHOZQCy78vP8T1/usoJQBlRchwoslvJy0VSzjGY4gJDV5IJYV WAWvVg3yJUyYk4g9X3DHL1qeXz+gaoqSJ5NrPWKUSDTD2GHOOj72B4SPeXMrwH1z3xD1 VFZLT2SZ6M3vkr/t1BEYuAEii7A9d2CbVdvDeENvQXuMojGnV6r1ke67pp2qIq578lMq jbUxOM2ZXjItezFwLPkWC5YPUhMoz2KcplP8d1i72hVrhf1ev2I/1GYgRrUXnujUG3TB HjtA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=renesas.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id m8-20020a170902f64800b00172a117cbcfsi12105703plg.324.2022.09.05.17.20.08; Mon, 05 Sep 2022 17:20:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=renesas.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232482AbiIEXE4 (ORCPT + 99 others); Mon, 5 Sep 2022 19:04:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57772 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232002AbiIEXEz (ORCPT ); Mon, 5 Sep 2022 19:04:55 -0400 Received: from relmlie6.idc.renesas.com (relmlor2.renesas.com [210.160.252.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 9885013DC8; Mon, 5 Sep 2022 16:04:49 -0700 (PDT) X-IronPort-AV: E=Sophos;i="5.93,292,1654527600"; d="scan'208";a="133796439" Received: from unknown (HELO relmlir6.idc.renesas.com) ([10.200.68.152]) by relmlie6.idc.renesas.com with ESMTP; 06 Sep 2022 08:04:48 +0900 Received: from localhost.localdomain (unknown [10.226.36.204]) by relmlir6.idc.renesas.com (Postfix) with ESMTP id D3D40410101B; Tue, 6 Sep 2022 08:04:43 +0900 (JST) From: Lad Prabhakar To: Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Philipp Zabel , Jacopo Mondi , =?UTF-8?q?Niklas=20S=C3=B6derlund?= , Sakari Ailus , Hans Verkuil Cc: Geert Uytterhoeven , linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Prabhakar , Biju Das , Lad Prabhakar Subject: [PATCH v2 0/4] Add driver for CSI2 and CRU modules found on Renesas RZ/G2L SoC Date: Tue, 6 Sep 2022 00:04:02 +0100 Message-Id: <20220905230406.30801-1-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.17.1 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. v1 -> v2: * Dropped media prefix from subject * Renamed node name csi20 -> csi * Used 4 spaces for indentation in example node * Dropped reset-names and interrupt-names properties * Dropped oneOf from compatible * Included RB tags from Laurent * Marked port0/1 as required for cru node * Sorted Kconfig select * Prefixed generic names for struct/variables with rzg2_csi2 * Dropped unnecessary checks for remote source * Dropped exporting functions * Moved lane validation to probe * Split up rzg2l_csi2_dphy_setting() and rzg2l_csi2_mipi_link_setting() * Used rzg2l_csi2_write() wherever possible * Dropped stream_count/lock members from csi2 struct * Used active subdev state instead of manually storing format in driver * Implemented init_cfg/enum_frame_size/enum_mbus_code callbacks * Dropped check for bus_type of remote source * Switched to manually turning ON/OFF the clocks instead of pm_runtime so that the mipi/dhpy initialization happens as per the HW manual * Hardcoded VC0 usage for now as streams API is under development v1: - https://patchwork.kernel.org/project/linux-renesas-soc/cover/20220801214718.16943-1-prabhakar.mahadev-lad.rj@bp.renesas.com/ RFC v2: - https://patchwork.kernel.org/project/linux-renesas-soc/cover/20220121010543.31385-1-prabhakar.mahadev-lad.rj@bp.renesas.com/ RFC 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: Document Renesas RZ/G2L CSI-2 block media: dt-bindings: Document Renesas RZ/G2L CRU block media: platform: Add Renesas RZ/G2L MIPI CSI-2 receiver driver media: platform: Add Renesas RZ/G2L CRU driver .../bindings/media/renesas,rzg2l-cru.yaml | 157 ++++ .../bindings/media/renesas,rzg2l-csi2.yaml | 140 ++++ drivers/media/platform/renesas/Kconfig | 1 + drivers/media/platform/renesas/Makefile | 1 + .../media/platform/renesas/rzg2l-cru/Kconfig | 34 + .../media/platform/renesas/rzg2l-cru/Makefile | 6 + .../platform/renesas/rzg2l-cru/rzg2l-core.c | 395 +++++++++ .../platform/renesas/rzg2l-cru/rzg2l-cru.h | 152 ++++ .../platform/renesas/rzg2l-cru/rzg2l-csi2.c | 761 ++++++++++++++++++ .../platform/renesas/rzg2l-cru/rzg2l-csi2.h | 46 ++ .../platform/renesas/rzg2l-cru/rzg2l-dma.c | 734 +++++++++++++++++ .../platform/renesas/rzg2l-cru/rzg2l-v4l2.c | 368 +++++++++ 12 files changed, 2795 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-csi2.h create mode 100644 drivers/media/platform/renesas/rzg2l-cru/rzg2l-dma.c create mode 100644 drivers/media/platform/renesas/rzg2l-cru/rzg2l-v4l2.c -- 2.25.1