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 X-Spam-Level: X-Spam-Status: No, score=-9.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED,USER_AGENT_NEOMUTT 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 4905FC10F0E for ; Tue, 9 Apr 2019 08:28:36 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 067B320857 for ; Tue, 9 Apr 2019 08:28:36 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Bizw1AcD" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 067B320857 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+infradead-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=bombadil.20170209; h=Sender:Content-Type:Cc: List-Subscribe:List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id: In-Reply-To:MIME-Version:References:Message-ID:Subject:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=EEMHXPq7w9hrnPQe19CJ14cUuS5T/xn221tFkkxqeqA=; b=Bizw1AcDskOPY3YixxWwVrDoy 4GI9C4lDA4iR+yIQb7UeOZhOGVCPVNfm3mdNHvcHFBm1HBaqt1b+hktWcr30jRZI4GmtpG2fNHl6H PM30LuzZwNPZftZ2+l8y53WzH4bMj7sAii9v3jo04J6+vNNm3+KUjGP2H15d2XA9l7bx7ucXtJRcD iY9kZW77EG/T9IewExLHPsxR1UmqWvl+Kl+KTWJfFJZIgGRiBdSW4hGcCuWrwHTDitQgWUOb0hZ0o M0cU0IaHmStkYMMofa5PPN4ngR8z0s6+aEdALtotGzIaRCW/mhcI9zed54I9L75GGHsY5zaE3lnkD /H3XiQdBg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hDm7J-0007I8-GU; Tue, 09 Apr 2019 08:28:29 +0000 Received: from relay7-d.mail.gandi.net ([217.70.183.200]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1hDm7F-0007GR-JB for linux-arm-kernel@lists.infradead.org; Tue, 09 Apr 2019 08:28:27 +0000 X-Originating-IP: 90.88.30.125 Received: from localhost (aaubervilliers-681-1-89-125.w90-88.abo.wanadoo.fr [90.88.30.125]) (Authenticated sender: maxime.ripard@bootlin.com) by relay7-d.mail.gandi.net (Postfix) with ESMTPSA id B565C20011; Tue, 9 Apr 2019 08:28:18 +0000 (UTC) Date: Tue, 9 Apr 2019 10:28:18 +0200 From: Maxime Ripard To: Chen-Yu Tsai Subject: Re: [PATCH 4/6] ARM: dts: sun8i: a83t: Add device node for CSI (Camera Sensor Interface) Message-ID: <20190409082818.z33mq2qrxethldzf@flea> References: <20190408165744.11672-1-wens@kernel.org> <20190408165744.11672-5-wens@kernel.org> <20190409075804.4zrwjil7ie2gjigu@flea> MIME-Version: 1.0 In-Reply-To: User-Agent: NeoMutt/20180716 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190409_012825_935614_54FBFD0E X-CRM114-Status: GOOD ( 27.63 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , devicetree , Stephen Boyd , Michael Turquette , linux-kernel , Paul Kocialkowski , Chen-Yu Tsai , Rob Herring , Yong Deng , Mauro Carvalho Chehab , linux-clk , linux-arm-kernel , Linux Media Mailing List Content-Type: multipart/mixed; boundary="===============4431272259366259368==" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org --===============4431272259366259368== Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="kpheoitgx7h7groz" Content-Disposition: inline --kpheoitgx7h7groz Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, Apr 09, 2019 at 04:07:34PM +0800, Chen-Yu Tsai wrote: > On Tue, Apr 9, 2019 at 3:58 PM Maxime Ripard wrote: > > On Tue, Apr 09, 2019 at 12:57:42AM +0800, Chen-Yu Tsai wrote: > > > From: Chen-Yu Tsai > > > > > > The A83T SoC has a camera sensor interface (known as CSI in Allwinner > > > lingo), which is similar to the one found on the A64 and H3. The only > > > difference seems to be that support of MIPI CSI through a connected > > > MIPI CSI-2 bridge. > > > > > > Add a device node for it, and pinctrl nodes for the commonly used MCLK > > > and 8-bit parallel interface. The property /omit-if-no-ref/ is added to > > > the pinctrl nodes to keep the device tree blob size down if they are > > > unused. > > > > > > Signed-off-by: Chen-Yu Tsai > > > --- > > > arch/arm/boot/dts/sun8i-a83t.dtsi | 31 +++++++++++++++++++++++++++++++ > > > 1 file changed, 31 insertions(+) > > > > > > diff --git a/arch/arm/boot/dts/sun8i-a83t.dtsi b/arch/arm/boot/dts/sun8i-a83t.dtsi > > > index f739b88efb53..0c52f945fd5f 100644 > > > --- a/arch/arm/boot/dts/sun8i-a83t.dtsi > > > +++ b/arch/arm/boot/dts/sun8i-a83t.dtsi > > > @@ -682,6 +682,20 @@ > > > #interrupt-cells = <3>; > > > #gpio-cells = <3>; > > > > > > + /omit-if-no-ref/ > > > + csi_8bit_parallel_pins: csi-8bit-parallel-pins { > > > + pins = "PE0", "PE2", "PE3", "PE6", "PE7", > > > + "PE8", "PE9", "PE10", "PE11", > > > + "PE12", "PE13"; > > > + function = "csi"; > > > + }; > > > + > > > + /omit-if-no-ref/ > > > + csi_mclk_pin: csi-mclk-pin { > > > + pins = "PE1"; > > > + function = "csi"; > > > + }; > > > + > > > emac_rgmii_pins: emac-rgmii-pins { > > > pins = "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", > > > "PD11", "PD12", "PD13", "PD14", "PD18", > > > @@ -994,6 +1008,23 @@ > > > interrupts = ; > > > }; > > > > > > + csi: camera@1cb0000 { > > > + compatible = "allwinner,sun8i-a83t-csi"; > > > + reg = <0x01cb0000 0x1000>; > > > + interrupts = ; > > > + clocks = <&ccu CLK_BUS_CSI>, > > > + <&ccu CLK_CSI_SCLK>, > > > + <&ccu CLK_DRAM_CSI>; > > > + clock-names = "bus", "mod", "ram"; > > > + resets = <&ccu RST_BUS_CSI>; > > > + status = "disabled"; > > > + > > > + csi_in: port { > > > + #address-cells = <1>; > > > + #size-cells = <0>; > > > > If we expect a single enpoint, then we don't need the address-cells > > and size-cells properties. > > I wouldn't bet on anything. The way the Q8 tablets did front/back cameras > is kind of genius if not very hacky. They have two "identical" sensors > on the same I2C bus and CSI bus, with shared reset line but separate > shutdown lines. Since they are identical, they also have the same I2C > address. I haven't figured out how to model this in the device tree. > > The point is, it's perfectly possible to have two or more sensors use > the same controller, provided only one be active at a time. Right, but I guess the common case would be to have a single sensor, where that wouldn't be needed. In odd cases, we can always specify it in the DTS, and if it becomes common enough, we can move it to the DTSI. Maxime -- Maxime Ripard, Bootlin Embedded Linux and Kernel engineering https://bootlin.com --kpheoitgx7h7groz Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEABYIAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCXKxXogAKCRDj7w1vZxhR xVk6AP9OXA7JSV+hWfF0oqzzfv8BQdd7sZthxjt3suYeI/uYzQEAjEsdzyvU6je9 i2UDzJlviDpFUwnjMofxIPuMy1sOdwk= =husF -----END PGP SIGNATURE----- --kpheoitgx7h7groz-- --===============4431272259366259368== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel --===============4431272259366259368==--