Received: by 2002:a05:7412:b101:b0:e2:908c:2ebd with SMTP id az1csp3314592rdb; Thu, 16 Nov 2023 06:27:24 -0800 (PST) X-Google-Smtp-Source: AGHT+IEaxmDsU+k3DRWv6sH+zZ9zdshoOJs9TPFqdmU0MrU2PpJzHHYD728vzTgX2cjSoi/48qkg X-Received: by 2002:a17:902:e74a:b0:1cc:42ec:9b96 with SMTP id p10-20020a170902e74a00b001cc42ec9b96mr10173444plf.45.1700144843814; Thu, 16 Nov 2023 06:27:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700144843; cv=none; d=google.com; s=arc-20160816; b=Q8ACEtuG6dmpq/n/E7fCl7lm8t/7Ww9H/7qTvF19M9lGste0emwuOIKzC2LVHg+zZK +uuwn1gTeo8QMQH3qbxr39VQSOXVHMAVNUvjikkoC8OBzKAsyGyX1fuyErzhJfUjdZP2 6OI8fMSTs9sE5Q45gyJiJy6dYpKVZ6LJq5N80DzyKCvS7dD6TWe1z1ptC5epd+U20nNb SvvNmw7uiP2BWLzSsKjKFJsq7jjG46Q76SOxDIX7TNMDzGqyJvhRDdCKQtdCsxbtrGLb 2jWmJk1oYrbRhhmX3qLjD7rMK7RooiCHIJzNVlmIVsI+2/FlVWp9XNN3aQboaktmO8jC bAcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=xbhZckJg0LHMFVWujIIfrxDf2NjzRTaQ1shPZg1Xtt0=; fh=gMuEbNV/K7Ej0PNzS6IqByFUw3YSXhLF3V5g7r1GmUE=; b=sCKeJTrBhgB7QbPqitt5ZKPo8TS3aATSPHfONnUNEvUb9Z03VdNxAlQUy9BdX413Qt MnVe1QIcavl4UtfJRVaP0a0qSRnmpv3/aaUy9z8yh7wTbdByHmP8/E91NoPnTDtQGtIf Ms6j+zUna5HJ8fWhoVJ7fV5m9fyjfqGXnL31WUtQosCDe/Dt/wnrepSEZxTUFwEuPkR9 IpgkkwEMqtJV4/nyL/gRjSjYNcJkJJgKYxb1v8UqgolaE1dUUszkDNFHgbQ8xGnqkqik 8VxXGIJEvHz8wPZU6qJERuO2fznQIbmR8TJ87ijj/GhIgGGGE7AwmnEdJd5ijIUSnhw9 6ZyQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b="Xr9A/b8R"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Return-Path: Received: from agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id q11-20020a170902bd8b00b001cc53edcc72si11964458pls.302.2023.11.16.06.27.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 16 Nov 2023 06:27:23 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b="Xr9A/b8R"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 668C2805ED12; Thu, 16 Nov 2023 06:27:20 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230019AbjKPO1I (ORCPT + 99 others); Thu, 16 Nov 2023 09:27:08 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56204 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229562AbjKPO1H (ORCPT ); Thu, 16 Nov 2023 09:27:07 -0500 Received: from fllv0015.ext.ti.com (fllv0015.ext.ti.com [198.47.19.141]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 09C29AD; Thu, 16 Nov 2023 06:27:03 -0800 (PST) Received: from lelv0266.itg.ti.com ([10.180.67.225]) by fllv0015.ext.ti.com (8.15.2/8.15.2) with ESMTP id 3AGEQgIl024720; Thu, 16 Nov 2023 08:26:42 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1700144802; bh=xbhZckJg0LHMFVWujIIfrxDf2NjzRTaQ1shPZg1Xtt0=; h=Date:Subject:To:CC:References:From:In-Reply-To; b=Xr9A/b8RlHRMimPCAcaJgOMh6etlT/OrSKXChbouBS5nHS6nIcvgzOk+2I5oVlsrE JrKThux23TzoED0zziDyPNffM7QN8PXebCUEHsSc6mwCUWfFKTQrpd26poCqJmiwO7 dz4azlejnV8yEC7vjmnhaKVLbtF70b+dsLwrEs+8= Received: from DFLE115.ent.ti.com (dfle115.ent.ti.com [10.64.6.36]) by lelv0266.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 3AGEQgY8107693 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Thu, 16 Nov 2023 08:26:42 -0600 Received: from DFLE105.ent.ti.com (10.64.6.26) by DFLE115.ent.ti.com (10.64.6.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23; Thu, 16 Nov 2023 08:26:41 -0600 Received: from lelv0327.itg.ti.com (10.180.67.183) by DFLE105.ent.ti.com (10.64.6.26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23 via Frontend Transport; Thu, 16 Nov 2023 08:26:41 -0600 Received: from [10.250.34.132] (ileaxei01-snat2.itg.ti.com [10.180.69.6]) by lelv0327.itg.ti.com (8.15.2/8.15.2) with ESMTP id 3AGEQebH060158; Thu, 16 Nov 2023 08:26:41 -0600 Message-ID: <0a74f40d-a175-4c1d-9e6f-63cabdebb587@ti.com> Date: Thu, 16 Nov 2023 08:26:40 -0600 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 4/8] arm64: dts: ti: k3-am625-beagleplay: Add overlays for OV5640 Content-Language: en-US To: Jai Luthra , Catalin Marinas , Will Deacon , Nishanth Menon , Vignesh Raghavendra , Tero Kristo , Rob Herring , Krzysztof Kozlowski , Conor Dooley CC: , , , Aradhya Bhatia , Devarsh Thakkar , Vaishnav Achath , Julien Massot , Martyn Welch References: <20231115-csi_dts-v1-0-99fc535b2bde@ti.com> <20231115-csi_dts-v1-4-99fc535b2bde@ti.com> From: Andrew Davis In-Reply-To: <20231115-csi_dts-v1-4-99fc535b2bde@ti.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 X-Spam-Status: No, score=-1.0 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.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 (agentk.vger.email [0.0.0.0]); Thu, 16 Nov 2023 06:27:20 -0800 (PST) On 11/15/23 3:51 AM, Jai Luthra wrote: > Three different OV5640 modules are supported using the FFC connector on > BeaglePlay: > - Digilent PCam 5C > - ALINX AN5641 > - TEVI-OV5640-*-RPI > > The Digilent and ALINX modules supply a 12Mhz XCLK to the sensor, while > the TEVI module supplies a 24Mhz XCLK, thus requiring a separate > overlay. > > Signed-off-by: Jai Luthra > --- > arch/arm64/boot/dts/ti/Makefile | 7 ++ > .../dts/ti/k3-am625-beagleplay-csi2-ov5640.dtso | 77 ++++++++++++++++++++++ > .../ti/k3-am625-beagleplay-csi2-tevi-ov5640.dtso | 77 ++++++++++++++++++++++ > 3 files changed, 161 insertions(+) > > diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile > index 77a347f9f47d..e49e32414560 100644 > --- a/arch/arm64/boot/dts/ti/Makefile > +++ b/arch/arm64/boot/dts/ti/Makefile > @@ -9,9 +9,15 @@ > # alphabetically. > > # Boards with AM62x SoC > +k3-am625-beagleplay-csi2-ov5640-dtbs := k3-am625-beagleplay.dtb \ > + k3-am625-beagleplay-csi2-ov5640.dtbo > +k3-am625-beagleplay-csi2-tevi-ov5640-dtbs := k3-am625-beagleplay.dtb \ > + k3-am625-beagleplay-csi2-tevi-ov5640.dtbo > k3-am625-sk-hdmi-audio-dtbs := k3-am625-sk.dtb k3-am62x-sk-hdmi-audio.dtbo > k3-am62-lp-sk-hdmi-audio-dtbs := k3-am62-lp-sk.dtb k3-am62x-sk-hdmi-audio.dtbo > dtb-$(CONFIG_ARCH_K3) += k3-am625-beagleplay.dtb > +dtb-$(CONFIG_ARCH_K3) += k3-am625-beagleplay-csi2-ov5640.dtb > +dtb-$(CONFIG_ARCH_K3) += k3-am625-beagleplay-csi2-tevi-ov5640.dtb We don't need .dtb files for each overlay combination, you should leave these as overlays only, and just apply them at boot time as needed. To test apply them at build time, you can use the CONFIG_OF_ALL_DTBS method that Rob suggested here[0]. # Build time test only, enabled by CONFIG_OF_ALL_DTBS dtb- += \ k3-am625-beagleplay-overlay-test1.dtb \ k3-am625-beagleplay-overlay-test2.dtb k3-am625-beagleplay-overlay-test1-dtbs := k3-am625-beagleplay.dtb \ k3-am625-beagleplay-csi2-ov5640.dtbo k3-am625-beagleplay-overlay-test1-dtbs := k3-am625-beagleplay.dtb \ k3-am625-beagleplay-csi2-tevi-ov5640.dtbo dtb-$(CONFIG_ARCH_K3) += k3-am625-beagleplay-csi2-ov5640.dtbo dtb-$(CONFIG_ARCH_K3) += k3-am625-beagleplay-csi2-tevi-ov5640.dtbo [0] https://lore.kernel.org/all/CAL_Jsq+8jisrwEqzz7tZnsV9g2+LmThwpO7sHRFA-zh+6q8XuA@mail.gmail.com/ > dtb-$(CONFIG_ARCH_K3) += k3-am625-phyboard-lyra-rdk.dtb > dtb-$(CONFIG_ARCH_K3) += k3-am625-sk.dtb > dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-nonwifi-dahlia.dtb > @@ -81,6 +87,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am69-sk.dtb > dtb-$(CONFIG_ARCH_K3) += k3-j784s4-evm.dtb > > # Enable support for device-tree overlays > +DTC_FLAGS_k3-am625-beagleplay += -@ Having any DTBO applied to the base during build will add symbols to the base for you, no need to add this line. (Please check that this is true for the OF_ALL_DTBS case above, I've not checked yet, we should fix if not). I plan to remove the same below in later patches so folks will stop adding more of these lines. Andrew > DTC_FLAGS_k3-am625-sk += -@ > DTC_FLAGS_k3-am62-lp-sk += -@ > DTC_FLAGS_k3-am6548-iot2050-advanced-m2 += -@ > diff --git a/arch/arm64/boot/dts/ti/k3-am625-beagleplay-csi2-ov5640.dtso b/arch/arm64/boot/dts/ti/k3-am625-beagleplay-csi2-ov5640.dtso > new file mode 100644 > index 000000000000..5e80ca7033ba > --- /dev/null > +++ b/arch/arm64/boot/dts/ti/k3-am625-beagleplay-csi2-ov5640.dtso > @@ -0,0 +1,77 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * ALINX AN5641 & Digilent PCam 5C - OV5640 camera module > + * Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/ > + */ > + > +/dts-v1/; > +/plugin/; > + > +#include > + > +&{/} { > + clk_ov5640_fixed: ov5640-xclk { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <12000000>; > + }; > +}; > + > +&main_gpio0 { > + p11-hog { > + /* P11 - CSI2_CAMERA_GPIO1 */ > + gpio-hog; > + gpios = <11 GPIO_ACTIVE_HIGH>; > + output-high; > + line-name = "CSI2_CAMERA_GPIO1"; > + }; > +}; > + > +&wkup_i2c0 { > + #address-cells = <1>; > + #size-cells = <0>; > + status = "okay"; > + > + ov5640: camera@3c { > + compatible = "ovti,ov5640"; > + reg = <0x3c>; > + > + clocks = <&clk_ov5640_fixed>; > + clock-names = "xclk"; > + > + port { > + csi2_cam0: endpoint { > + remote-endpoint = <&csi2rx0_in_sensor>; > + clock-lanes = <0>; > + data-lanes = <1 2>; > + }; > + }; > + }; > +}; > + > +&cdns_csi2rx0 { > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + csi0_port0: port@0 { > + reg = <0>; > + status = "okay"; > + > + csi2rx0_in_sensor: endpoint { > + remote-endpoint = <&csi2_cam0>; > + bus-type = <4>; /* CSI2 DPHY. */ > + clock-lanes = <0>; > + data-lanes = <1 2>; > + }; > + }; > + }; > +}; > + > +&dphy0 { > + status = "okay"; > +}; > + > +&ti_csi2rx0 { > + status = "okay"; > +}; > diff --git a/arch/arm64/boot/dts/ti/k3-am625-beagleplay-csi2-tevi-ov5640.dtso b/arch/arm64/boot/dts/ti/k3-am625-beagleplay-csi2-tevi-ov5640.dtso > new file mode 100644 > index 000000000000..5e1cbbc27c8f > --- /dev/null > +++ b/arch/arm64/boot/dts/ti/k3-am625-beagleplay-csi2-tevi-ov5640.dtso > @@ -0,0 +1,77 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * Technexion TEVI-OV5640-*-RPI - OV5640 camera module > + * Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/ > + */ > + > +/dts-v1/; > +/plugin/; > + > +#include > + > +&{/} { > + clk_ov5640_fixed: ov5640-xclk { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <24000000>; > + }; > +}; > + > +&main_gpio0 { > + p11-hog { > + /* P11 - CSI2_CAMERA_GPIO1 */ > + gpio-hog; > + gpios = <11 GPIO_ACTIVE_HIGH>; > + output-high; > + line-name = "CSI2_CAMERA_GPIO1"; > + }; > +}; > + > +&wkup_i2c0 { > + #address-cells = <1>; > + #size-cells = <0>; > + status = "okay"; > + > + ov5640: camera@3c { > + compatible = "ovti,ov5640"; > + reg = <0x3c>; > + > + clocks = <&clk_ov5640_fixed>; > + clock-names = "xclk"; > + > + port { > + csi2_cam0: endpoint { > + remote-endpoint = <&csi2rx0_in_sensor>; > + clock-lanes = <0>; > + data-lanes = <1 2>; > + }; > + }; > + }; > +}; > + > +&cdns_csi2rx0 { > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + csi0_port0: port@0 { > + reg = <0>; > + status = "okay"; > + > + csi2rx0_in_sensor: endpoint { > + remote-endpoint = <&csi2_cam0>; > + bus-type = <4>; /* CSI2 DPHY. */ > + clock-lanes = <0>; > + data-lanes = <1 2>; > + }; > + }; > + }; > +}; > + > +&dphy0 { > + status = "okay"; > +}; > + > +&ti_csi2rx0 { > + status = "okay"; > +}; >