From patchwork Wed Aug 10 13:28:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yuji Ishikawa X-Patchwork-Id: 12940590 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 469AEC00140 for ; Wed, 10 Aug 2022 13:36:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date:Subject:Cc:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=KFhAYpn9HH4jGL2Kh7YnjFc4lIJRnEw0mOJBpz/pZ5k=; b=VSyCerBkBBsZbz QnTQH0Bgr7DXephTnOUwby61mgG2QIhvVwlTT5VKfxBNeu0Vg6Bkurg3nvVIGnA9Ptljo3DBHI/db kF+TTcPYF6j2NR4g2mbBWCklVugVayy5de8GxmsZav49BVqUA4XCs67V9o5iNPSPVSYPPt8UTx4nK PUCQDoiOEbPNfQFu5Pi8EsYKdys4lzQr+xS0f0ObSVDSN8HdWlnAlNFrq0cGVlOo47i62FZkzTuDU 2yA8wMcCALNenDFsb+7q2j2ZSwoSiKJiABPvL0ug+55650eySsMAZictzYOgszFpd4kqUnWfOe5if E2g5u3qXh7cvRlbdk6ng==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oLlrD-00C2uv-2m; Wed, 10 Aug 2022 13:34:47 +0000 Received: from mo-csw1114.securemx.jp ([210.130.202.156] helo=mo-csw.securemx.jp) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oLlqZ-00C2eg-3C for linux-arm-kernel@lists.infradead.org; Wed, 10 Aug 2022 13:34:09 +0000 Received: by mo-csw.securemx.jp (mx-mo-csw1114) id 27ADXWhZ014082; Wed, 10 Aug 2022 22:33:32 +0900 X-Iguazu-Qid: 2wHHz477PyFEYarLUG X-Iguazu-QSIG: v=2; s=0; t=1660138411; q=2wHHz477PyFEYarLUG; m=E9rBbVvUdv6UzhKaYRBXrg+ovzk64kCsispHtHAspvg= Received: from imx12-a.toshiba.co.jp ([38.106.60.135]) by relay.securemx.jp (mx-mr1110) id 27ADXUWd034960 (version=TLSv1.2 cipher=AES128-GCM-SHA256 bits=128 verify=NOT); Wed, 10 Aug 2022 22:33:30 +0900 X-SA-MID: 40425323 From: Yuji Ishikawa To: Hans Verkuil , Laurent Pinchart , Mauro Carvalho Chehab , Nobuhiro Iwamatsu Cc: linux-media@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, yuji2.ishikawa@toshiba.co.jp Subject: [PATCH v3 0/4] Add Toshiba Visconti Video Input Interface driver Date: Wed, 10 Aug 2022 22:28:18 +0900 X-TSB-HOP2: ON Message-Id: <20220810132822.32534-1-yuji2.ishikawa@toshiba.co.jp> X-Mailer: git-send-email 2.17.1 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220810_063407_420251_ED30382F X-CRM114-Status: GOOD ( 10.51 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This series is the Video Input Interface driver for Toshiba's ARM SoC, Visconti[0]. This provides DT binding documentation, device driver, documentation and MAINTAINER files. A visconti VIIF driver instance exposes 1 media control device file and 3 video device files for a VIIF hardware. Detailed HW/SW are described in documentation directory. The VIIF hardware has CSI2 receiver, image signal processor and DMAC inside. The subdevice for image signal processor provides vendor specific V4L2 controls. The device driver depends on two other drivers under development; clock framework driver and IOMMU driver. Corresponding features will be added later. Best regards, Yuji Changelog v2: - Resend v1 because a patch exceeds size limit. Changelog v3: - Add documentation to describe SW and HW - Adapted to media control framework - Introduced ISP subdevice, capture device - Remove private IOCTLs and add vendor specific V4L2 controls - Change function name avoiding camelcase and uppercase letters [0]: https://toshiba.semicon-storage.com/ap-en/semiconductor/product/image-recognition-processors-visconti.html Yuji Ishikawa (4): dt-bindings: media: platform: visconti: Add Toshiba Visconti Video Input Interface bindings media: platform: visconti: Add Toshiba Visconti Video Input Interface driver documentation: media: add documentation for Toshiba Visconti Video Input Interface driver MAINTAINERS: Add entries for Toshiba Visconti Video Input Interface .../bindings/media/toshiba,visconti-viif.yaml | 103 + .../driver-api/media/drivers/index.rst | 1 + .../media/drivers/visconti-viif.rst | 455 +++ MAINTAINERS | 3 + drivers/media/platform/Kconfig | 2 + drivers/media/platform/Makefile | 4 + drivers/media/platform/visconti/Kconfig | 9 + drivers/media/platform/visconti/Makefile | 9 + drivers/media/platform/visconti/hwd_viif.c | 1791 +++++++++++ drivers/media/platform/visconti/hwd_viif.h | 701 +++++ .../media/platform/visconti/hwd_viif_csi2rx.c | 723 +++++ .../platform/visconti/hwd_viif_internal.h | 348 ++ .../media/platform/visconti/hwd_viif_l1isp.c | 2727 ++++++++++++++++ .../media/platform/visconti/hwd_viif_reg.h | 2802 +++++++++++++++++ drivers/media/platform/visconti/viif.c | 479 +++ drivers/media/platform/visconti/viif.h | 195 ++ .../media/platform/visconti/viif_capture.c | 1215 +++++++ .../media/platform/visconti/viif_controls.c | 1149 +++++++ drivers/media/platform/visconti/viif_isp.c | 852 +++++ include/uapi/linux/visconti_viif.h | 1724 ++++++++++ 20 files changed, 15292 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/toshiba,visconti-viif.yaml create mode 100644 Documentation/driver-api/media/drivers/visconti-viif.rst create mode 100644 drivers/media/platform/visconti/Kconfig create mode 100644 drivers/media/platform/visconti/Makefile create mode 100644 drivers/media/platform/visconti/hwd_viif.c create mode 100644 drivers/media/platform/visconti/hwd_viif.h create mode 100644 drivers/media/platform/visconti/hwd_viif_csi2rx.c create mode 100644 drivers/media/platform/visconti/hwd_viif_internal.h create mode 100644 drivers/media/platform/visconti/hwd_viif_l1isp.c create mode 100644 drivers/media/platform/visconti/hwd_viif_reg.h create mode 100644 drivers/media/platform/visconti/viif.c create mode 100644 drivers/media/platform/visconti/viif.h create mode 100644 drivers/media/platform/visconti/viif_capture.c create mode 100644 drivers/media/platform/visconti/viif_controls.c create mode 100644 drivers/media/platform/visconti/viif_isp.c create mode 100644 include/uapi/linux/visconti_viif.h