From patchwork Thu Dec 31 14:18:31 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Kocialkowski X-Patchwork-Id: 11994115 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9B272C433E0 for ; Thu, 31 Dec 2020 14:20:30 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 672A0223DB for ; Thu, 31 Dec 2020 14:20:30 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 672A0223DB Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=bootlin.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject: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=HT3NzrfcZiWCKjMNx1GrWoHuYJgMNmP5olBQltVWvoA=; b=aA3/MZglEJFVW3IvC8nXrpVTiJ yE9miNucAC1hh/NSh4TUnoLnPd0NSCfBHqIFSPTLWiqgMZ/ElPxUMmxRb8HcMVUB2sXWX9C46mO4k jHYyh+xMH8WHae92IXV11fe2XFZCxMMcqmtpNWQnQzF41BYlfLiJo1Jb44CJlruz4h/fqtbc3+dd9 OhYT97bqlOpK0vIkg1sYVoLWU9/zdGhpqoKWYNkCA9FhpO11Qe0wSF7FuIqfP4RKdf4hgndCqUTU0 ofS7VG4aPIFt/bSLhXU9N+SqiwwOq5ET6ZnGCg32biMKHy0R1qocfNm2CmrdIBttXXcDppmHES8Pr +rrre+MA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kuyn0-0008Uz-0l; Thu, 31 Dec 2020 14:18:54 +0000 Received: from relay4-d.mail.gandi.net ([217.70.183.196]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kuymw-0008TY-E5 for linux-arm-kernel@lists.infradead.org; Thu, 31 Dec 2020 14:18:51 +0000 X-Originating-IP: 93.29.109.196 Received: from localhost.localdomain (196.109.29.93.rev.sfr.net [93.29.109.196]) (Authenticated sender: paul.kocialkowski@bootlin.com) by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id 51C65E0007; Thu, 31 Dec 2020 14:18:45 +0000 (UTC) From: Paul Kocialkowski To: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v6 0/2] media: i2c: OV5648 image sensor support Date: Thu, 31 Dec 2020 15:18:31 +0100 Message-Id: <20201231141833.2634838-1-paul.kocialkowski@bootlin.com> X-Mailer: git-send-email 2.29.2 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201231_091850_595597_F68C1051 X-CRM114-Status: GOOD ( 12.54 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Hans Verkuil , Thomas Petazzoni , Maxime Ripard , Paul Kocialkowski , Rob Herring , Sakari Ailus , Mauro Carvalho Chehab Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This series adds support for the OV5648 image sensor, as a V4L2 subdev driver. Changes since v5: - Removed extra tailing ret checks; - Fixed variables names in macros using container_of; - Set ctrls flags after handler error check; - Removed useless ret initializations and gotos; - Removed call to v4l2_device_unregister_subdev; Changes since v4: - Squashed tailing function calls in return; - Added Kconfig depend on PM since it's not optional; - Reordered runtime PM in init; - Reworked runtime PM order and added ctrls handler free in exit. Changes since v3: - Removed mipi_clk_rate variable that skipped through. Changes since v2: - Added link-frequencies endpoint property support; - Used NULL ctrl ops for pixel rate and link freq; - Extra cosmetic changes. Changes since v1: - Used runtime pm; - Used assigned-clock-rate; - Removed clock name; - Returned closest size in set_fmt; - Removed unneeded references to v4l2 controls; - Removed i2c device table; - Dual-licensed bindings; - Used SPDX tags. Paul Kocialkowski (2): dt-bindings: media: i2c: Add OV5648 bindings documentation media: i2c: Add support for the OV5648 image sensor .../bindings/media/i2c/ovti,ov5648.yaml | 115 + drivers/media/i2c/Kconfig | 13 + drivers/media/i2c/Makefile | 1 + drivers/media/i2c/ov5648.c | 2624 +++++++++++++++++ 4 files changed, 2753 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/i2c/ovti,ov5648.yaml create mode 100644 drivers/media/i2c/ov5648.c