Received: by 2002:a05:6359:c8b:b0:c7:702f:21d4 with SMTP id go11csp1619565rwb; Tue, 27 Sep 2022 16:11:48 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4yuKUd7qHTTE9DFoxOxhunMQaqt+E+r2G9gWfKTsfeUQmThjigSpwZA28zuu01sw1lXwei X-Received: by 2002:a17:906:9c83:b0:779:c14c:55e4 with SMTP id fj3-20020a1709069c8300b00779c14c55e4mr24298124ejc.619.1664320308608; Tue, 27 Sep 2022 16:11:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1664320308; cv=none; d=google.com; s=arc-20160816; b=WEBg/anz9sOL6dybV3793jzsl+79fc2vstTyS9wghXNM1NhZbIG2hwG6gJ/FX8CPgA 6YNwnKlC9XBrZrRu/XFGwCNapXGYyT066e7DeoYG0CDs/eXnwqm7dw3WjrK9jb8uhbUf Em/GHWQFuuZvmfksrf5uVxtvveefufL+5sA2xG6UqkS6rc+ckghKV/CrILnaRitcpfsA 0i+cMm8Dz6Lq9qfOaLm+vPgNf2jW1jKKjmDBN1JIzVmZ/mbh1pORd2E8U2b0bJymnPYq vGeABA9hxUtxM59cMaEIavr+lnFvlvbAst6yt2rTVMxVKi215rbPBDl0sysNp9Q/gk9m qh4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=CGvzPjPNHMFgePXTaJBxR51NmeqJhG8EGo7z/G0eoyQ=; b=NGDECiWdvpXqPYmpG/JtTXL3KH3760lJzXcHH7P06HIRh+gWee/THqdLf/4IMZZPlh 8rTvAkAFKBXIlgbEv08bPpRpV3/VaM6putZ0GpWaxUL+4r0mjeofMJpO19CiGvl5hlHA wsmtkXnjHw1YeIsp9gA2LsfIwwT3HrEKRGeEHOCKwZx94a4SIyIA3T3H1n3c3mcClZTS 9f4jximbYKf5KF9zfUcaTDFtKFOeXI/Kd+1KAo6Rb9tVwJWyVsbypuD5QjSGvCAbraRy T0I2Ox5rtwCP+WcMUrK0yo31XXAtvF97MP9UARLC1TciUnEN6i/kEaaMEL+mwf5pMKKg UFRQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=batRzELY; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id fy1-20020a170906b7c100b0077cecf8904esi2607283ejb.515.2022.09.27.16.11.22; Tue, 27 Sep 2022 16:11:48 -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; dkim=pass header.i=@gmail.com header.s=20210112 header.b=batRzELY; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231906AbiI0WWJ (ORCPT + 99 others); Tue, 27 Sep 2022 18:22:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45336 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230315AbiI0WWG (ORCPT ); Tue, 27 Sep 2022 18:22:06 -0400 Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com [IPv6:2a00:1450:4864:20::132]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B85C61CD694; Tue, 27 Sep 2022 15:22:03 -0700 (PDT) Received: by mail-lf1-x132.google.com with SMTP id k10so17755804lfm.4; Tue, 27 Sep 2022 15:22:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date; bh=CGvzPjPNHMFgePXTaJBxR51NmeqJhG8EGo7z/G0eoyQ=; b=batRzELYyAPtvqhHE4E+G3I2R7HM9HXa5sQMPGDrYyrR7GHcSkxk8WHjCYz2AXBgEq NI2LDwr5o2v+akkZMwXgNB4FXBgZI5gvbKibWf9G9EU7v/2Imgi+VHwhkCGpp079Y5lg qixHBkubqNgoTlBfw1KTx6tvFuAbZ0tJBHV5gD2MjS9vEDiTuHyU/P4OG0qjpM16CCqT Noz62DmaK7cBy7g7obUF7HIpj9tUTxwqwozt8vaFrfNgeuBdIygAOSRsBJkYC0JLk3Cx j1WNyo+yKRc9flC+O6A6Z8TTU8UfwmcbhmptbKV9gT69wSzAIzrWPT76L3AoSJegvaKa ykqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date; bh=CGvzPjPNHMFgePXTaJBxR51NmeqJhG8EGo7z/G0eoyQ=; b=lFvxO6L+0onLcTAlB47n5pOSq8LX4+l8lQCgGm3nWhAtekTOsueJ0Be5/iXIJgyGlX lB/oAA+TVZeVwWbApL+cjWLTfWHQhtRJCa1SEG65MMxyCoaT4gMhpJU1qmVRSzucbrnm 8NMxTboJ+GHWB8bXCPoMJYbTxh5J9XxW8zEw0Uxe/hSfpyozu0sgwjrCGMXLyWTGY3sc V7/lzl07q/Dp00qXhTvUBmZ6YLj2rPT7HcPDKsDUj9QufdZ7F3TxWVeOYYuDFEqL2JNY AG2mIIQOIbX0DtNUnNOEeZHeYEg+NssqUNrKGA1pgXD+4DMYSyYMJtSI60IIHK/G6X9a Tplg== X-Gm-Message-State: ACrzQf1YX6WIJ2nIaSpKpZjDWpTZe/9ksdBAb81idV1ojjPg54PRQE4y y3AxJj9zkdNSCNB8seKag2M= X-Received: by 2002:a05:6512:110b:b0:49a:d211:bb2f with SMTP id l11-20020a056512110b00b0049ad211bb2fmr11542679lfg.24.1664317321946; Tue, 27 Sep 2022 15:22:01 -0700 (PDT) Received: from localhost ([37.1.42.233]) by smtp.gmail.com with ESMTPSA id q1-20020ac25281000000b0049f53d53235sm281391lfm.50.2022.09.27.15.22.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Sep 2022 15:22:00 -0700 (PDT) From: Mikhail Rudenko To: Tommaso Merciai , Dave Stevenson , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Sakari Ailus , Hans Verkuil , Michael Tretter , Shawn Tu , Randy Dunlap , Mike Pagano , Arec Kao , Laurent Pinchart , Daniel Scally , Martin Kepplinger , Marek Vasut Cc: Mikhail Rudenko , linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 0/2] Add Omnivision OV4689 image sensor driver Date: Wed, 28 Sep 2022 01:21:32 +0300 Message-Id: <20220927222152.132951-1-mike.rudenko@gmail.com> X-Mailer: git-send-email 2.37.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS 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, this is the third revision of the Omnivision OV4689 driver. Main changes in this version are (1) mapping physical camera gain to monotonous and mostly linear logical gain exposed via corresponding control and (2) reporting consistent pixel rate and hblank. These and other minor changes are listed below: changes in v3: - set 1st patch title to: "media: dt-bindings: i2c: document OV4689" - schema: drop clock-names - driver: use dem_clk_get(NULL) - schema: remove maxItems from powerdown-gpios - schema: make gpios optional - driver: use devm_gpiod_get_optional() - driver: remove __ prefixes from function names - driver: switch to .probe_new - driver: remove of_match_ptr - driver: add and use enum ov4689_mode_id - driver: make xvclk optional & try to get frequency from ACPI - driver: drop #if defined(CONFIG_MEDIA_CONTROLLER) in remove - driver: use ARRAY_SIZE(ov4689_supply_names) instead of define - driver: remove unused controls from struct ov4689 - driver: use 504000000 instead of OV4689_LINK_FREQ_500MHZ - driver: compare link frequencies with menu array clock-frequency - driver: replace |= with ret = ret ?: - driver: merge power on/off into pm callbacks - driver: use actual clock rate in ov4689_cal_delay - driver: set up controls after writing register table in s_stream() - driver: remap sensor gain to linear and monotonous logical gain - driver: set pixel_rate to 480000000 - driver: set HTS so that we have 30.00 fps and fix HBLANK reporting changes in v2: - bindings: reword descriptions - bindings: move clock description to clocks property - bindings: add data-lanes and link-frequencies properties to port - driver: validate media bus configuration when probing Mikhail Rudenko (2): media: dt-bindings: i2c: document OV4689 media: i2c: add support for OV4689 .../bindings/media/i2c/ovti,ov4689.yaml | 134 +++ MAINTAINERS | 8 + drivers/media/i2c/Kconfig | 14 + drivers/media/i2c/Makefile | 1 + drivers/media/i2c/ov4689.c | 1027 +++++++++++++++++ 5 files changed, 1184 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/i2c/ovti,ov4689.yaml create mode 100644 drivers/media/i2c/ov4689.c -- 2.37.3