From patchwork Fri Jan 19 08:13:56 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxime Ripard X-Patchwork-Id: 125110 Delivered-To: patch@linaro.org Received: by 10.46.66.141 with SMTP id h13csp184238ljf; Fri, 19 Jan 2018 00:14:17 -0800 (PST) X-Google-Smtp-Source: ACJfBouK+R3BWTRHcULRyHyxmykHot0nACryDumGp4Q8a0SzngFoqD3xKugbin5Rpe2wLawKuAa0 X-Received: by 10.99.6.72 with SMTP id 69mr30145464pgg.50.1516349657378; Fri, 19 Jan 2018 00:14:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516349657; cv=none; d=google.com; s=arc-20160816; b=smLC0acMFZHgpHNezEs9myyy5YhZAmYhmd1nLvBUW9kClNC5xtZiZq7bMplKCUHLiG BIIG1r4XzY5kJvVlsAt8LBoxkmFkOVegooXXChKW/VF2qmf2zJ7bmQF8tWJxIAaPpBaw v2l7tCZZyLmzOjnh3qUMbLS963kVSd6/whibMLLJbMkofAg020cllNa3B+cBeVk8WXGv HIjBJdgdbfKGxUfnTVZM5zXLfLz+JCPW4/OhuounmvATYaLCP7xqZvHEis9dINNNAD6G Q0pPvNnGxhocdVweESTarLZCZl5lpA/4vr8cvm6LRzd9ky4QeKB2c8o2fLG518kO5Gtt EKDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=Hn2ZR8qQyO/3FtH340kDoI7aN/RaZtzgRDrqax/Io3c=; b=qVtGQBd3y/IqBwmidblBblMyn2SvMGqEZw3GjXz9sOigZ1EfurbKveXK0dgdK+sQyN FIyGHumEDtneWkaX2+Nh31yBLpGqSg51CqbE0BQAFhKlBewBXl13UtpN7PGVdENFcL1r d7ToiWR0t52Ni7Ss1bbRrCfb36LaX8iS8DFa/y+yYa6A9kK0Ss1gbjmvISsyarLbXyAD ggxCy9lPaJCQWdqseG6ctFLrntwQAz6M1EyS37jPPva05Ib8PlPf0a/q5JautGakNjNv 54zGtsLio2WIGYhh1o9Vcusy60mT0MUqXScEkAYtF8P1/SgsfBrs39Sr4UPHu8jE1rwH B87A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v11si7682824pgb.825.2018.01.19.00.14.16; Fri, 19 Jan 2018 00:14:17 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753618AbeASIOO (ORCPT + 6 others); Fri, 19 Jan 2018 03:14:14 -0500 Received: from mail.free-electrons.com ([62.4.15.54]:33495 "EHLO mail.free-electrons.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751548AbeASION (ORCPT ); Fri, 19 Jan 2018 03:14:13 -0500 Received: by mail.free-electrons.com (Postfix, from userid 110) id 3D8B92098C; Fri, 19 Jan 2018 09:14:12 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mail.free-electrons.com X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,SHORTCIRCUIT, URIBL_BLOCKED shortcircuit=ham autolearn=disabled version=3.4.0 Received: from localhost (LStLambert-657-1-97-87.w90-63.abo.wanadoo.fr [90.63.216.87]) by mail.free-electrons.com (Postfix) with ESMTPSA id EE1CD2046F; Fri, 19 Jan 2018 09:13:58 +0100 (CET) From: Maxime Ripard To: Mauro Carvalho Chehab , Mark Rutland , Rob Herring Cc: Laurent Pinchart , linux-media@vger.kernel.org, devicetree@vger.kernel.org, Richard Sproul , Alan Douglas , Steve Creaney , Thomas Petazzoni , Boris Brezillon , =?utf-8?q?Niklas_S=C3=B6derlund?= , Hans Verkuil , Sakari Ailus , Benoit Parrot , nm@ti.com, Simon Hatliff , Maxime Ripard Subject: [PATCH v5 1/2] dt-bindings: media: Add Cadence MIPI-CSI2 RX Device Tree bindings Date: Fri, 19 Jan 2018 09:13:56 +0100 Message-Id: <20180119081357.20799-2-maxime.ripard@free-electrons.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180119081357.20799-1-maxime.ripard@free-electrons.com> References: <20180119081357.20799-1-maxime.ripard@free-electrons.com> Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org The Cadence MIPI-CSI2 RX controller is a CSI2RX bridge that supports up to 4 CSI-2 lanes, and can route the frames to up to 4 streams, depending on the hardware implementation. It can operate with an external D-PHY, an internal one or no D-PHY at all in some configurations. Acked-by: Rob Herring Acked-by: Benoit Parrot Acked-by: Sakari Ailus Reviewed-by: Laurent Pinchart Signed-off-by: Maxime Ripard --- .../devicetree/bindings/media/cdns,csi2rx.txt | 100 +++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/cdns,csi2rx.txt -- 2.14.3 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/Documentation/devicetree/bindings/media/cdns,csi2rx.txt b/Documentation/devicetree/bindings/media/cdns,csi2rx.txt new file mode 100644 index 000000000000..56d51902b2eb --- /dev/null +++ b/Documentation/devicetree/bindings/media/cdns,csi2rx.txt @@ -0,0 +1,100 @@ +Cadence MIPI-CSI2 RX controller +=============================== + +The Cadence MIPI-CSI2 RX controller is a CSI-2 bridge supporting up to 4 CSI +lanes in input, and 4 different pixel streams in output. + +Required properties: + - compatible: must be set to "cdns,csi2rx" and an SoC-specific compatible + - reg: base address and size of the memory mapped region + - clocks: phandles to the clocks driving the controller + - clock-names: must contain: + * sys_clk: main clock + * p_clk: register bank clock + * pixel_if[0-3]_clk: pixel stream output clock, one for each stream + implemented in hardware, between 0 and 3 + +Optional properties: + - phys: phandle to the external D-PHY, phy-names must be provided + - phy-names: must contain dphy, if the implementation uses an + external D-PHY + +Required subnodes: + - ports: A ports node with one port child node per device input and output + port, in accordance with the video interface bindings defined in + Documentation/devicetree/bindings/media/video-interfaces.txt. The + port nodes numbered as follows. + + Port Description + ----------------------------- + 0 CSI-2 input + 1 Stream 0 output + 2 Stream 1 output + 3 Stream 2 output + 4 Stream 3 output + + The stream output port nodes are optional if they are not + connected to anything at the hardware level or implemented + in the design.Since there is only one endpoint per port, + the endpoints are not numbered. + + +Example: + +csi2rx: csi-bridge@0d060000 { + compatible = "cdns,csi2rx"; + reg = <0x0d060000 0x1000>; + clocks = <&byteclock>, <&byteclock> + <&coreclock>, <&coreclock>, + <&coreclock>, <&coreclock>; + clock-names = "sys_clk", "p_clk", + "pixel_if0_clk", "pixel_if1_clk", + "pixel_if2_clk", "pixel_if3_clk"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + csi2rx_in_sensor: endpoint { + remote-endpoint = <&sensor_out_csi2rx>; + clock-lanes = <0>; + data-lanes = <1 2>; + }; + }; + + port@1 { + reg = <1>; + + csi2rx_out_grabber0: endpoint { + remote-endpoint = <&grabber0_in_csi2rx>; + }; + }; + + port@2 { + reg = <2>; + + csi2rx_out_grabber1: endpoint { + remote-endpoint = <&grabber1_in_csi2rx>; + }; + }; + + port@3 { + reg = <3>; + + csi2rx_out_grabber2: endpoint { + remote-endpoint = <&grabber2_in_csi2rx>; + }; + }; + + port@4 { + reg = <4>; + + csi2rx_out_grabber3: endpoint { + remote-endpoint = <&grabber3_in_csi2rx>; + }; + }; + }; +};