Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp934868ybb; Wed, 8 Apr 2020 12:52:42 -0700 (PDT) X-Google-Smtp-Source: APiQypKUaWnr+pGqVUb5F1kZm1TpKrIoc8pwPBV+mywiGBqLmWvVtxnXe8FhLz9Msl5ixhAiOVku X-Received: by 2002:a9d:2207:: with SMTP id o7mr6258353ota.254.1586375562117; Wed, 08 Apr 2020 12:52:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1586375562; cv=none; d=google.com; s=arc-20160816; b=uDa9CFOlyb81sdjN7Gz05AETD+aIyjNfQGBCVRwUPCkiW74a4u9B8Ca/voZkF5eAVz KoCHy8Pv4kA+xswwtnyrvbZ4S3DE+lVBE8hVi+d2E7GNy7M+7P48sEdkBl5EIL8s5TM2 RMbEBlpU0wtw3VcMWE8lTgJKxXxe2GXnz1srbOBk2SYjifcLUyZAqr67DYW67g3UCt9p +IeHYTw2L88X8ySfqwqbseDYWl151n2mCO8l8z0olmeTcMazOu+swztH/i7zOp/JLUOe mNIg3XUoomaVCU1jJ+G1m0OXDf1DR52H1Qr5XF5Ubt5fXbA8u9rCnkyojWFOK9OXnk8j M5Tw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-transfer-encoding:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=nHiWtFvGqfAVub9fTjHsqjJNR4nfOMd2GADNe3RQPjw=; b=pgZ31J4ctRSZDsZetALoU/Sj+vUg7mQTG1Nn29KMCC+FExQHz+mVE7twl6laHeGyO+ tmzE4/JC1Bi9iJak75ugSQFDBR8gOhSM4W3KyeEXJ24KccLSH/yTCZQKLvhXyIfO2oTF wDeXzDaclX5wR4jfZ43qajKo5tU1GNAsq7rgdhBs1+V9TGkZTdncOn/nvXT6/VrxG0XA m1DQcnz1UTMtgUr7avwAMOBOBMBr501cHXnGRLj2xTESLsfOEqlh6nBiTTCKTYcFTTH3 NQ173tpldYXEuNrTyS0q9nolBGsdPSpkQMX9eEy9n8ohqvPFju0JLbBeYoT5I15eaN// uLyw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-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 p20si2966953oof.69.2020.04.08.12.52.29; Wed, 08 Apr 2020 12:52:42 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-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 linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728380AbgDHRdG (ORCPT + 99 others); Wed, 8 Apr 2020 13:33:06 -0400 Received: from asavdk4.altibox.net ([109.247.116.15]:33188 "EHLO asavdk4.altibox.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727254AbgDHRdG (ORCPT ); Wed, 8 Apr 2020 13:33:06 -0400 Received: from ravnborg.org (unknown [158.248.194.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by asavdk4.altibox.net (Postfix) with ESMTPS id 8171E804E5; Wed, 8 Apr 2020 19:32:59 +0200 (CEST) Date: Wed, 8 Apr 2020 19:32:58 +0200 From: Sam Ravnborg To: Guido =?iso-8859-1?Q?G=FCnther?= Cc: David Airlie , Daniel Vetter , Rob Herring , Mark Rutland , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Andrzej Hajda , Neil Armstrong , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Lee Jones , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Robert Chiras , Arnd Bergmann Subject: Re: [PATCH v10 1/2] dt-bindings: display/bridge: Add binding for NWL mipi dsi host controller Message-ID: <20200408173258.GA24828@ravnborg.org> References: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) X-CMAE-Score: 0 X-CMAE-Analysis: v=2.3 cv=XpTUx2N9 c=1 sm=1 tr=0 a=UWs3HLbX/2nnQ3s7vZ42gw==:117 a=UWs3HLbX/2nnQ3s7vZ42gw==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=8nJEP1OIZ-IA:10 a=ze386MxoAAAA:8 a=8AirrxEcAAAA:8 a=VwQbUJbxAAAA:8 a=7gkXJVJtAAAA:8 a=gEfo2CItAAAA:8 a=Y9UcUKKVKEwMmb4K0lMA:9 a=cci32D0TwK99nO6w:21 a=mc74Iri104anq4aC:21 a=wPNLvfGTeEIA:10 a=iBZjaW-pnkserzjvUTHh:22 a=ST-jHhOKWsTCqRlWije3:22 a=AjGcO6oz07-iQ99wixmX:22 a=E9Po1WZjFZOl8hwRPBS3:22 a=sptkURWiP4Gy88Gu7hUp:22 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Guido. We discussed this binding briefly on IRC: 19:28 port 0 is defined as 19:28 + Input port node to receive pixel data from the 19:28 + display controller. Exactly one endpoint must be 19:28 + specified. 19:28 then there's two endpoints, On Fri, Mar 20, 2020 at 07:49:09PM +0100, Guido G?nther wrote: > The Northwest Logic MIPI DSI IP core can be found in NXPs i.MX8 SoCs. > > Signed-off-by: Guido G?nther > Tested-by: Robert Chiras > Reviewed-by: Rob Herring > Acked-by: Sam Ravnborg > --- > .../bindings/display/bridge/nwl-dsi.yaml | 216 ++++++++++++++++++ > 1 file changed, 216 insertions(+) > create mode 100644 Documentation/devicetree/bindings/display/bridge/nwl-dsi.yaml > > diff --git a/Documentation/devicetree/bindings/display/bridge/nwl-dsi.yaml b/Documentation/devicetree/bindings/display/bridge/nwl-dsi.yaml > new file mode 100644 > index 000000000000..ec1e7e12719d > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/bridge/nwl-dsi.yaml > @@ -0,0 +1,216 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/bridge/nwl-dsi.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Northwest Logic MIPI-DSI controller on i.MX SoCs > + > +maintainers: > + - Guido G?nther > + - Robert Chiras > + > +description: | > + NWL MIPI-DSI host controller found on i.MX8 platforms. This is a dsi bridge for > + the SOCs NWL MIPI-DSI host controller. > + > +properties: > + compatible: > + const: fsl,imx8mq-nwl-dsi > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + '#address-cells': > + const: 1 > + > + '#size-cells': > + const: 0 > + > + clocks: > + items: > + - description: DSI core clock > + - description: RX_ESC clock (used in escape mode) > + - description: TX_ESC clock (used in escape mode) > + - description: PHY_REF clock > + - description: LCDIF clock > + > + clock-names: > + items: > + - const: core > + - const: rx_esc > + - const: tx_esc > + - const: phy_ref > + - const: lcdif > + > + mux-controls: > + description: > + mux controller node to use for operating the input mux > + > + phys: > + maxItems: 1 > + description: > + A phandle to the phy module representing the DPHY > + > + phy-names: > + items: > + - const: dphy > + > + power-domains: > + maxItems: 1 > + > + resets: > + items: > + - description: dsi byte reset line > + - description: dsi dpi reset line > + - description: dsi esc reset line > + - description: dsi pclk reset line > + > + reset-names: > + items: > + - const: byte > + - const: dpi > + - const: esc > + - const: pclk > + > + ports: > + type: object > + description: > + A node containing DSI input & output port nodes with endpoint > + definitions as documented in > + Documentation/devicetree/bindings/graph.txt. > + properties: > + port@0: > + type: object > + description: > + Input port node to receive pixel data from the > + display controller. Exactly one endpoint must be > + specified. > + properties: > + '#address-cells': > + const: 1 > + > + '#size-cells': > + const: 0 > + > + endpoint@0: > + description: sub-node describing the input from LCDIF > + type: object > + > + endpoint@1: > + description: sub-node describing the input from DCSS > + type: object > + > + reg: > + const: 0 > + > + required: > + - '#address-cells' > + - '#size-cells' > + - reg > + additionalProperties: false > + > + port@1: > + type: object > + description: > + DSI output port node to the panel or the next bridge > + in the chain > + > + '#address-cells': > + const: 1 > + > + '#size-cells': > + const: 0 > + > + required: > + - '#address-cells' > + - '#size-cells' > + - port@0 > + - port@1 > + > + additionalProperties: false For the casual reader the above confuses. Assuming the binding is correct, can we have the comment updated. Sam > + > +patternProperties: > + "^panel@[0-9]+$": > + type: object > + > +required: > + - '#address-cells' > + - '#size-cells' > + - clock-names > + - clocks > + - compatible > + - interrupts > + - mux-controls > + - phy-names > + - phys > + - ports > + - reg > + - reset-names > + - resets > + > +additionalProperties: false > + > +examples: > + - | > + > + #include > + #include > + #include > + > + mipi_dsi: mipi_dsi@30a00000 { > + #address-cells = <1>; > + #size-cells = <0>; > + compatible = "fsl,imx8mq-nwl-dsi"; > + reg = <0x30A00000 0x300>; > + clocks = <&clk IMX8MQ_CLK_DSI_CORE>, > + <&clk IMX8MQ_CLK_DSI_AHB>, > + <&clk IMX8MQ_CLK_DSI_IPG_DIV>, > + <&clk IMX8MQ_CLK_DSI_PHY_REF>, > + <&clk IMX8MQ_CLK_LCDIF_PIXEL>; > + clock-names = "core", "rx_esc", "tx_esc", "phy_ref", "lcdif"; > + interrupts = ; > + mux-controls = <&mux 0>; > + power-domains = <&pgc_mipi>; > + resets = <&src IMX8MQ_RESET_MIPI_DSI_RESET_BYTE_N>, > + <&src IMX8MQ_RESET_MIPI_DSI_DPI_RESET_N>, > + <&src IMX8MQ_RESET_MIPI_DSI_ESC_RESET_N>, > + <&src IMX8MQ_RESET_MIPI_DSI_PCLK_RESET_N>; > + reset-names = "byte", "dpi", "esc", "pclk"; > + phys = <&dphy>; > + phy-names = "dphy"; > + > + panel@0 { > + compatible = "rocktech,jh057n00900"; > + reg = <0>; > + port@0 { > + panel_in: endpoint { > + remote-endpoint = <&mipi_dsi_out>; > + }; > + }; > + }; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + #size-cells = <0>; > + #address-cells = <1>; > + reg = <0>; > + mipi_dsi_in: endpoint@0 { > + reg = <0>; > + remote-endpoint = <&lcdif_mipi_dsi>; > + }; > + }; > + port@1 { > + reg = <1>; > + mipi_dsi_out: endpoint { > + remote-endpoint = <&panel_in>; > + }; > + }; > + }; > + }; > -- > 2.23.0