From patchwork Tue Dec 5 10:33:56 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Archit Taneja X-Patchwork-Id: 10092675 X-Patchwork-Delegate: agross@codeaurora.org Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 023BD60348 for ; Tue, 5 Dec 2017 10:34:31 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id F32B9289ED for ; Tue, 5 Dec 2017 10:34:30 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E7837291BC; Tue, 5 Dec 2017 10:34:30 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7C697289ED for ; Tue, 5 Dec 2017 10:34:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753267AbdLEKe3 (ORCPT ); Tue, 5 Dec 2017 05:34:29 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:37664 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752911AbdLEKe2 (ORCPT ); Tue, 5 Dec 2017 05:34:28 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 9F5F56089E; Tue, 5 Dec 2017 10:34:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1512470067; bh=gcFAHqZPw0YrpbGLtjmUmiTIdklAKYiyf2sx3zvaytA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=b8EQMJxc6WIUByaAIhKw2f1J1FH75ci7VSbCxhMwDz9sF/ARPWK9K6mApdbBvH45s wmoe+pAyHnl3TBFYLNgB+eOwG0WlC74+jAUuY+5W7qHh07v8NUVBsAJaWRdI6Zl0lj IB7Q5GOJvb2C9kbr1EOdzaWXKBRY6akjc0Ex5evQ= Received: from localhost (blr-bdr-fw-01_globalnat_allzones-outside.qualcomm.com [103.229.18.19]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: architt@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 4DFFC6087A; Tue, 5 Dec 2017 10:34:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1512470066; bh=gcFAHqZPw0YrpbGLtjmUmiTIdklAKYiyf2sx3zvaytA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aLEEB6wBz+50DCQSu36S6OV8rerunztPFjLxPj9VkfAU/HemijiKfMjd++E+J+sCT C4mCUMHE5CpWWN8xBFVrdqUCEmzvrArMn9Wqm7MkhE0K9JvalUix2CdlYYR5fQsxOV zvWqkpeVg/fyC0FB3HcV4dnFAGcKr6X5ksjU5ovA= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 4DFFC6087A Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=architt@codeaurora.org From: Archit Taneja To: robh+dt@kernel.org Cc: tomi.valkeinen@ti.com, eric@anholt.net, philippe.cornu@st.com, laurent.pinchart@ideasonboard.com, thierry.reding@gmail.com, nickey.yang@rock-chips.com, dri-devel@lists.freedesktop.org, p.zabel@pengutronix.de, devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, seanpaul@chromium.org, briannorris@chromium.org, maxime.ripard@free-electrons.com, boris.brezillon@free-electrons.com, a.hajda@samsung.com, Archit Taneja Subject: [RFC 2/2] dt-bindings: mipi-dsi: Add dual-channel DSI related info Date: Tue, 5 Dec 2017 16:03:56 +0530 Message-Id: <20171205103356.9917-3-architt@codeaurora.org> X-Mailer: git-send-email 2.15.0 In-Reply-To: <20171205103356.9917-1-architt@codeaurora.org> References: <20171205103356.9917-1-architt@codeaurora.org> Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Add binding info for peripherals that support dual-channel DSI. Add corresponding optional bindings for DSI host controllers that may be configured in this mode. Signed-off-by: Archit Taneja --- .../devicetree/bindings/display/mipi-dsi-bus.txt | 77 ++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/Documentation/devicetree/bindings/display/mipi-dsi-bus.txt b/Documentation/devicetree/bindings/display/mipi-dsi-bus.txt index 77a7cec15f5b..f556aaafdf22 100644 --- a/Documentation/devicetree/bindings/display/mipi-dsi-bus.txt +++ b/Documentation/devicetree/bindings/display/mipi-dsi-bus.txt @@ -29,6 +29,12 @@ Required properties: - #size-cells: Should be 0. There are cases where it makes sense to use a different value here. See below. +Optional properties: +- clock-master: A DSI host controller may be used in conjunction with another DSI + host to drive the same peripheral. Hardware supporting such a configuration + generally requires the data on both the busses to be driven by the same clock. + The DSI host instance controlling this clock should contain this property. + DSI peripheral ============== @@ -61,6 +67,17 @@ primary control bus, but are also connected to a DSI bus (mostly for the data path). Connections between such peripherals and a DSI host can be represented using the graph bindings [1], [2]. +Peripherals that support dual channel DSI +----------------------------------------- + +Peripherals with higher bandwidth requirements can be connected to 2 DSI +busses. Each DSI bus/channel drives some portion of the pixel data (generally +left/right half of each line of the display, or even/odd lines of the display). +The graph bindings should be used to represent the multiple DSI busses that are +connected to this peripheral. Each DSI host's output endpoint can be linked to +an input endpoint of the DSI peripheral. + + [1] Documentation/devicetree/bindings/graph.txt [2] Documentation/devicetree/bindings/media/video-interfaces.txt @@ -70,6 +87,8 @@ Examples with different virtual channel configurations. - (4) is an example of a peripheral on a I2C control bus connected with to a DSI host using of-graph bindings. +- (5) is an example of 2 DSI hosts driving a dual-channel DSI peripheral, + which uses I2C as its primary control bus. 1) dsi-host { @@ -157,3 +176,61 @@ Examples }; }; }; + +5) + i2c-host { + dsi-bridge@35 { + compatible = "..."; + reg = <0x35>; + + ports { + ... + + port@0 { + dsi0_in: endpoint { + remote-endpoint = <&dsi0_out>; + }; + }; + + port@1 { + dsi1_in: endpoint { + remote-endpoint = <&dsi1_out>; + }; + }; + }; + }; + }; + + dsi0-host { + ... + + /* + * this DSI instance drives the clock for both the host + * controllers + */ + clock-master; + + ports { + ... + + port@0 { + dsi0_out: endpoint { + remote-endpoint = <&dsi0_in>; + }; + }; + }; + }; + + dsi1-host { + ... + + ports { + ... + + port@0 { + dsi1_out: endpoint { + remote-endpoint = <&dsi1_in>; + }; + }; + }; + };