Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp5567749rdb; Wed, 13 Dec 2023 12:25:50 -0800 (PST) X-Google-Smtp-Source: AGHT+IGCG3ayEAeFPp8AN0QhL0ZVYnKiCIeSzn5UedeDeO2ajfshCA0DL1+hTC9XvZbAq0llBrId X-Received: by 2002:a05:6e02:b2e:b0:35f:7a4d:40f5 with SMTP id e14-20020a056e020b2e00b0035f7a4d40f5mr470181ilu.5.1702499150535; Wed, 13 Dec 2023 12:25:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702499150; cv=none; d=google.com; s=arc-20160816; b=wW79UU1IZUQX8TbmynEeJiRbnH7Z3AlXAb2OyMfz7U0s4cDAPjQoedxQ9/3fJNnjVo pRLlvu6W8zhImEZr5J6WYvHNBNpZuHL+geAtdvIM3QegmCoQDxMjV4tcrLBTUeCUkbXy 4fAd2kZTZ3WSbJEvJBO1Zz52MqUzzAekptr3Za6V/UVJjC7pOOvM3VOiEofClGiTLRsx v0kofxzU15eHFnk41pGobgULysVkH/kWlcxVinr8aDb6d94oXwNew2OWLFYenWS52nqq kORylEEKMfq+QItQnd55aWJjArLZ0NmdHCBya+8SDcNgW/pHnON7QmjuuAR3ClxDcM8v n1OQ== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=PBw6RwQKyvab353WCHCowyhIbZpg2AL1dkTtUhZYR/w=; fh=u9IfX3H274d1n7wSx96qaHxgEsK4yuI/7iMYtrEFZFs=; b=C220fbKwhm6O3jFTkw+S7G+D8Yzd39oYSNoCbDnPlVLTnxZH/Wv7trrMrBTjOesBHr bMBs0u0V/jiBSMQHx3moEDTZgVV7hhUnYsH0a44qVbw6oldvEiZRJJ29tbnmGHaW9y0a 8S1o8Jqfcgibc5MXDugFjMxjToep16w7jfdhmzwNIDOWZBzFIXK9TuKG6GgeFIGSZfQT Yl69UNA9WSsDT616HpDDc7g8Os0ROtcGUye5GUSBKznDdFY203GHsb0CSN7Srn0W9EOE YF5CKPHfsEoyLuu3X36yicHhD0+BaKeySTZKOUSd+RX+AvXcLa1R6KEZ8n0WU12etF4E 59OQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=fKtmSq4N; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 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 pete.vger.email (pete.vger.email. [2620:137:e000::3:6]) by mx.google.com with ESMTPS id c28-20020a630d1c000000b005c66404de05si10083408pgl.413.2023.12.13.12.25.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Dec 2023 12:25:50 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) client-ip=2620:137:e000::3:6; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=fKtmSq4N; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id 563CD8078E33; Wed, 13 Dec 2023 12:25:20 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229671AbjLMUZE (ORCPT + 99 others); Wed, 13 Dec 2023 15:25:04 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43880 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233770AbjLMUZD (ORCPT ); Wed, 13 Dec 2023 15:25:03 -0500 Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com [IPv6:2a00:1450:4864:20::329]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E404BD5; Wed, 13 Dec 2023 12:25:09 -0800 (PST) Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-40c4846847eso36294925e9.1; Wed, 13 Dec 2023 12:25:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1702499108; x=1703103908; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=PBw6RwQKyvab353WCHCowyhIbZpg2AL1dkTtUhZYR/w=; b=fKtmSq4NLoUf0bP5eG0441mbIiU/DUlW4acDffFXhnV+U6ftJHAwgfEJ0iS2nApraz IMd4lWVflZJEHUCXZTzK8QORpSXpPqOqx6h9zcToxLeA7po2w2MBLJZYD9MwqWdH+a8i v38rmj8dvdDBsNs5kG9WF01/pfIui7WJi4UbUyE0Pmnr2CsCIzxaT896acTxnFkcRnjv wEaFOoC55C6fKkXmT/GFYklS3DCltG7YeEHY3w1GkrQ4hYnCG18c+hz9qBWzUzLkh/4p DiVBPhPd2C6m/zWKN0JP/3tRWlftvq2KOIT0NqKaUKVNccr7sbogp3B8O4h0pT1gxWDW c+VQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702499108; x=1703103908; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PBw6RwQKyvab353WCHCowyhIbZpg2AL1dkTtUhZYR/w=; b=v0pFCtMctoGez4PowOlNeZqQ7i6hcun67s75z+psvTBznj+yLglWWxTEMfWbOx3pTO r7x3OELWI+5r3FHM+cP6qBR7A5KIqaohfEhMxdb2KtZZulW6aH1tW9Ng/z5KnkN7alMh I8Gok+6egtAHgGnlfI6WdgsITf3i2VQ5pSTqPaZD6ERk/VXjKB2fm6+gypNjy6Jl8Ihk OKdtCF0teM6dbj6cgZrR6cPqAA+WoOT6e3dytfv5PwtR6FfWg3EtIVvAcXqGpwsD8PIb C0J9Ea0L8G22aWQOaZsWXjwJ6db6UYCPDThWqffMknf+G+GrXle4K7ElBxpBo5HsN9Fd Do0g== X-Gm-Message-State: AOJu0YyihDGVdHTFIOG+abg2SbqzFFBxGlsYfXSHdqXoCystICHjiOWa NmJMApW/lOavZiMKg4fVsFFw/vOZjlk= X-Received: by 2002:a05:600c:3154:b0:40c:4c9a:7b02 with SMTP id h20-20020a05600c315400b0040c4c9a7b02mr2370491wmo.130.1702499108050; Wed, 13 Dec 2023 12:25:08 -0800 (PST) Received: from archlinux.localnet (82-149-12-148.dynamic.telemach.net. [82.149.12.148]) by smtp.gmail.com with ESMTPSA id fl9-20020a05600c0b8900b0040b43da0bbasm21945141wmb.30.2023.12.13.12.25.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Dec 2023 12:25:07 -0800 (PST) From: Jernej =?utf-8?B?xaBrcmFiZWM=?= To: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, Paul Kocialkowski Cc: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen-Yu Tsai , Samuel Holland , Maxime Ripard , Laurent Pinchart , Michael Turquette , Stephen Boyd , Paul Kocialkowski Subject: Re: [PATCH v7 6/7] ARM: dts: sun8i-a83t: Add BananaPi M3 OV5640 camera overlay Date: Wed, 13 Dec 2023 21:25:06 +0100 Message-ID: <22116368.EfDdHjke4D@archlinux> In-Reply-To: <20231122141426.329694-7-paul.kocialkowski@bootlin.com> References: <20231122141426.329694-1-paul.kocialkowski@bootlin.com> <20231122141426.329694-7-paul.kocialkowski@bootlin.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (pete.vger.email [0.0.0.0]); Wed, 13 Dec 2023 12:25:20 -0800 (PST) Hi Paul! On Wednesday, November 22, 2023 3:14:24 PM CET Paul Kocialkowski wrote: > Add an overlay supporting the OV5640 from the BananaPi Camera v3 > peripheral board. The board has two sensors (OV5640 and OV8865) > which cannot be supported in parallel as they share the same reset > pin and the kernel currently has no support for this case. > > Signed-off-by: Paul Kocialkowski > --- > arch/arm/boot/dts/allwinner/Makefile | 1 + > .../sun8i-a83t-bananapi-m3-camera-ov5640.dtso | 117 ++++++++++++++++++ > 2 files changed, 118 insertions(+) > create mode 100644 arch/arm/boot/dts/allwinner/sun8i-a83t-bananapi-m3-camera-ov5640.dtso > > diff --git a/arch/arm/boot/dts/allwinner/Makefile b/arch/arm/boot/dts/allwinner/Makefile > index eebb5a0c873a..a0a9aa6595e4 100644 > --- a/arch/arm/boot/dts/allwinner/Makefile > +++ b/arch/arm/boot/dts/allwinner/Makefile > @@ -277,6 +277,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \ > sun8i-a33-sinlinx-sina33.dtb \ > sun8i-a83t-allwinner-h8homlet-v2.dtb \ > sun8i-a83t-bananapi-m3.dtb \ > + sun8i-a83t-bananapi-m3-camera-ov5640.dtbo \ > sun8i-a83t-cubietruck-plus.dtb \ > sun8i-a83t-tbs-a711.dtb \ > sun8i-h2-plus-bananapi-m2-zero.dtb \ > diff --git a/arch/arm/boot/dts/allwinner/sun8i-a83t-bananapi-m3-camera-ov5640.dtso b/arch/arm/boot/dts/allwinner/sun8i-a83t-bananapi-m3-camera-ov5640.dtso > new file mode 100644 > index 000000000000..5868ef11bdee > --- /dev/null > +++ b/arch/arm/boot/dts/allwinner/sun8i-a83t-bananapi-m3-camera-ov5640.dtso > @@ -0,0 +1,117 @@ > +// SPDX-License-Identifier: GPL-2.0 OR X11 > +/* > + * Copyright 2022 Bootlin > + * Author: Paul Kocialkowski > + */ > + > +/dts-v1/; > +/plugin/; > + > +#include > +#include I think you should tie this overlay to BananaPi M3 board by specifying its compatible here, like: / { compatible = "sinovoip,bpi-m3"; }; > + > +&{/} { > + /* > + * These regulators actually have DLDO4 tied to their EN pin, which is > + * described as input supply here for lack of a better representation. > + * Their actual supply is PS, which is always-on. > + */ > + > + ov5640_avdd: ov5640-avdd { > + compatible = "regulator-fixed"; > + regulator-name = "ov5640-avdd"; > + regulator-min-microvolt = <2800000>; > + regulator-max-microvolt = <2800000>; > + vin-supply = <®_dldo4>; > + }; > + > + ov5640_dovdd: ov5640-dovdd { > + compatible = "regulator-fixed"; > + regulator-name = "ov5640-dovdd"; > + regulator-min-microvolt = <2800000>; > + regulator-max-microvolt = <2800000>; > + vin-supply = <®_dldo4>; > + }; > + > + ov5640_dvdd: ov5640-dvdd { > + compatible = "regulator-fixed"; > + regulator-name = "ov5640-dvdd"; > + regulator-min-microvolt = <1500000>; > + regulator-max-microvolt = <1500000>; > + vin-supply = <®_dldo4>; > + }; > +}; > + > +&csi { > + pinctrl-names = "default"; > + pinctrl-0 = <&csi_8bit_parallel_pins>; > + status = "okay"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + > + csi_in_ov5640: endpoint { > + remote-endpoint = <&ov5640_out_csi>; > + bus-width = <8>; > + data-shift = <2>; > + hsync-active = <1>; > + vsync-active = <1>; > + pclk-sample = <1>; > + }; > + }; > + }; > +}; > + > +&i2c2 { > + pinctrl-names = "default"; > + pinctrl-0 = <&i2c2_pe_pins>; > + status = "okay"; > + > + #address-cells = <1>; > + #size-cells = <0>; > + > + ov5640: camera@3c { > + compatible = "ovti,ov5640"; > + reg = <0x3c>; > + > + clocks = <&ccu CLK_CSI_MCLK>; > + clock-names = "xclk"; > + assigned-clocks = <&ccu CLK_CSI_MCLK>; > + assigned-clock-parents = <&osc24M>; > + assigned-clock-rates = <24000000>; Are those really necessary? If so, can it be moved to the driver? Assigned clock rates have no guarantee that they will stay at that rate. Additionally, same sensor in pinetab doesn't need that. What's the difference? > + > + AVDD-supply = <&ov5640_avdd>; > + DOVDD-supply = <&ov5640_dovdd>; > + DVDD-supply = <&ov5640_dvdd>; > + > + powerdown-gpios = <&pio 3 15 GPIO_ACTIVE_HIGH>; /* PD15 */ > + reset-gpios = <&pio 4 16 GPIO_ACTIVE_LOW>; /* PE16 */ > + > + rotation = <180>; > + > + port { > + ov5640_out_csi: endpoint { > + remote-endpoint = <&csi_in_ov5640>; > + bus-width = <8>; > + data-shift = <2>; > + hsync-active = <1>; > + vsync-active = <1>; > + pclk-sample = <1>; > + }; > + }; > + }; > +}; > + > +&pio { > + pinctrl-names = "default"; > + pinctrl-0 = <&csi_mclk_pin>; This should be moved to ov5640 node. Best regards, Jernej > +}; > + > +®_dldo4 { > + regulator-min-microvolt = <2800000>; > + regulator-max-microvolt = <2800000>; > +}; >