From mboxrd@z Thu Jan 1 00:00:00 1970 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 9700AC4332F for ; Wed, 13 Dec 2023 20:25:43 +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:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: 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: List-Owner; bh=o34k0SkAWkJD2gQWDFN102coIwWRrefbvO1nOLUqeLs=; b=qgzi/4PXtolVec L07C7bDIoGwOG6tirpXUoLZwPo1sWvLEuuLFrhfoLnSbVAWKCMck3+u8TvwnPmP/dAJlQRmTSJNXP fpRGEnovMTq1anyaa5EDS9glapx5SzigXlrg9LA0IB0yt84vARI2RHM0Brek4XQHQEIh82hfK9Oal tdYjAP4sMq6M/k2ouWahEwT2AY7h1/3+XMDj2kXDVLrX40CoL8XoU1/Zw9SGmMWBIVuoVb1ysp9Bz P5jQYzZgtNt/vTh9hbvwfqnnP9+nqT14tcvXMsDdz8AEJOZgik/g+NpErUfSoFDSrm15JwhJigJRu 5pJlAzgx1DB2uuEHIhHg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rDVnE-00FxgE-00; Wed, 13 Dec 2023 20:25:20 +0000 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1rDVn6-00Fxeg-18 for linux-arm-kernel@lists.infradead.org; Wed, 13 Dec 2023 20:25:13 +0000 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-40c339d2b88so58960035e9.3 for ; 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=lists.infradead.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=dsNwIXIoalN+aGaTRcgqWRJMaFZv8Hr1Rtm1ROnOfoUPHLeWfE6Fur1wJMXIY3ZcBa FO5Boqqi6w9/1xcfwUdPDI8LVxSD6motphcgsWddnBwzpMTbaqql8Xo4BsZcwFT8dMF1 AeLq4SN4Ao07aqVO3IDlT4yZa/n27GfE1XsKyddj0ST8W+F92xcBauoyqvwfbhKeqcCo HLvUnco79G6LB5T0dM4wSWZIPdCWpbH95nW2XSU+ez8K6k47L1YHd3LtnBiEqYDeYpst R9yZydq5QO/330Rwag5TmriEtbi/8NjBs0poxGuvztNBDuZfXkIwK46+Wbu+q1bLGQxG I5LQ== 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=Xl3dgE9hVsQ8S7D/K+ePjlyZBnTGfJAMB4MBejjDVAlMZUCieTaB+zc+jzQNAo3L7Q cRbGrRk5ChsxPFMEZjiOWIJcXO6W6NtIEYx8Bc6mE40V3MclMzlWoFE+Vn99vbAoyFMx ZuUskDlVTLF7/NMOieHgQiv3MFTeD1rAN/66SdFRHVZj4ExcqB73FX8vWzn2eBeuJsHn Q8z6x+vNZofHHuJApKjlwXjJXJYjB+wLhjblki+NVdlCvLNvxkPokB3yaICDL7X2s+ib 22DGLLYfm+IaseYV4fkvsUQCOCup+MrKq+t6TpAUH7M/6vqnDjXCP4TKuIZfKobqfUJC LV5w== X-Gm-Message-State: AOJu0Ywlgv9o6necOkQVFwhPtTsFZElvtTfL2jZuUig5EiKQVLvqUd/N TW3x3n04tzd2flftJk/reqc= X-Google-Smtp-Source: AGHT+IGMJfezTktKT7qPOB4lTgQts74SBurQohWWXd09dJ/KV9sR7T5RT6n3lUUP60TNYauxrbskag== 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 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231213_122512_389726_BCF26929 X-CRM114-Status: GOOD ( 23.30 ) 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: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org 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>; > +}; > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel