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=-8.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 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 6803CC10DCE for ; Wed, 18 Mar 2020 19:26:58 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 484402072C for ; Wed, 18 Mar 2020 19:26:58 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 484402072C Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ravnborg.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A2E696E94F; Wed, 18 Mar 2020 19:26:57 +0000 (UTC) Received: from asavdk4.altibox.net (asavdk4.altibox.net [109.247.116.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id 76B4F6E94F for ; Wed, 18 Mar 2020 19:26:56 +0000 (UTC) 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 726C880607; Wed, 18 Mar 2020 20:26:53 +0100 (CET) Date: Wed, 18 Mar 2020 20:26:51 +0100 From: Sam Ravnborg To: Laurent Pinchart Subject: Re: [PATCH v11 1/5] dt-bindings: display: xlnx: Add ZynqMP DP subsystem bindings Message-ID: <20200318192651.GA28612@ravnborg.org> References: <20200318153728.25843-1-laurent.pinchart@ideasonboard.com> <20200318153728.25843-2-laurent.pinchart@ideasonboard.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20200318153728.25843-2-laurent.pinchart@ideasonboard.com> 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=kj9zAlcOel0A:10 a=Am4ss40yAAAA:8 a=P1BnusSwAAAA:8 a=VwQbUJbxAAAA:8 a=7gkXJVJtAAAA:8 a=gEfo2CItAAAA:8 a=e5mUnYsNAAAA:8 a=kTn6tiXFuQMK-JzNtnEA:9 a=CjuIK1q_8ugA:10 a=lf-hbUz_c89dky27wAWH:22 a=D0XLA9XvdZm18NrgonBM:22 a=AjGcO6oz07-iQ99wixmX:22 a=E9Po1WZjFZOl8hwRPBS3:22 a=sptkURWiP4Gy88Gu7hUp:22 a=Vxmtnl_E_bksehYqCbjh:22 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, Hyun Kwon , Michal Simek , dri-devel@lists.freedesktop.org, Satish Kumar Nagireddy Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" On Wed, Mar 18, 2020 at 05:37:24PM +0200, Laurent Pinchart wrote: > From: Hyun Kwon > > The bindings describe the ZynqMP DP subsystem. They don't support the > interface with the programmable logic (FPGA) or audio yet. > > Signed-off-by: Hyun Kwon > Signed-off-by: Laurent Pinchart > Reviewed-by: Rob Herring Bikeshedding - examples with indent on 4 spaces to make them easier to read. Would it be possible to make this binding: (GPL-2.0-only OR BSD-2-Clause) This is preferred for new bindings. In this case asking Hyun Kwon should be enough? With or without the suggestions above: Acked-by: Sam Ravnborg Sam > --- > Changes since v10: > > - Update example to new PHY DT bindings without subnodes > - Add resets property > > Changes since v9: > > - Fix constraints on clock-names > - Document dp_apb_clk as the APB clock, not the AXI clock > > Changes since v8: > > - Convert to yaml > - Rename aclk to dp_apb_clk > --- > .../display/xlnx/xlnx,zynqmp-dpsub.yaml | 174 ++++++++++++++++++ > 1 file changed, 174 insertions(+) > create mode 100644 Documentation/devicetree/bindings/display/xlnx/xlnx,zynqmp-dpsub.yaml > > diff --git a/Documentation/devicetree/bindings/display/xlnx/xlnx,zynqmp-dpsub.yaml b/Documentation/devicetree/bindings/display/xlnx/xlnx,zynqmp-dpsub.yaml > new file mode 100644 > index 000000000000..05e6a14de75c > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/xlnx/xlnx,zynqmp-dpsub.yaml > @@ -0,0 +1,174 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/xlnx/xlnx,zynqmp-dpsub.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Xilinx ZynqMP DisplayPort Subsystem > + > +description: | > + The DisplayPort subsystem of Xilinx ZynqMP (Zynq UltraScale+ MPSoC) > + implements the display and audio pipelines based on the DisplayPort v1.2 > + standard. The subsystem includes multiple functional blocks as below: > + > + +------------------------------------------------------------+ > + +--------+ | +----------------+ +-----------+ | > + | DPDMA | --->| | --> | Video | Video +-------------+ | > + | 4x vid | | | | | Rendering | -+--> | | | +------+ > + | 2x aud | | | Audio/Video | --> | Pipeline | | | DisplayPort |---> | PHY0 | > + +--------+ | | Buffer Manager | +-----------+ | | Source | | +------+ > + | | and STC | +-----------+ | | Controller | | +------+ > + Live Video --->| | --> | Audio | Audio | |---> | PHY1 | > + | | | | Mixer | --+-> | | | +------+ > + Live Audio --->| | --> | | || +-------------+ | > + | +----------------+ +-----------+ || | > + +---------------------------------------||-------------------+ > + vv > + Blended Video and > + Mixed Audio to PL > + > + The Buffer Manager interacts with external interface such as DMA engines or > + live audio/video streams from the programmable logic. The Video Rendering > + Pipeline blends the video and graphics layers and performs colorspace > + conversion. The Audio Mixer mixes the incoming audio streams. The DisplayPort > + Source Controller handles the DisplayPort protocol and connects to external > + PHYs. > + > + The subsystem supports 2 video and 2 audio streams, and various pixel formats > + and depths up to 4K@30 resolution. > + > + Please refer to "Zynq UltraScale+ Device Technical Reference Manual" > + (https://www.xilinx.com/support/documentation/user_guides/ug1085-zynq-ultrascale-trm.pdf) > + for more details. > + > +maintainers: > + - Laurent Pinchart > + > +properties: > + compatible: > + const: xlnx,zynqmp-dpsub-1.7 > + > + reg: > + maxItems: 4 > + reg-names: > + items: > + - const: dp > + - const: blend > + - const: av_buf > + - const: aud > + > + interrupts: > + maxItems: 1 > + > + clocks: > + description: > + The APB clock and at least one video clock are mandatory, the audio clock > + is optional. > + minItems: 2 > + maxItems: 4 > + items: > + - description: dp_apb_clk is the APB clock > + - description: dp_aud_clk is the Audio clock > + - description: > + dp_vtc_pixel_clk_in is the non-live video clock (from Processing > + System) > + - description: > + dp_live_video_in_clk is the live video clock (from Programmable > + Logic) > + clock-names: > + oneOf: > + - minItems: 2 > + maxItems: 3 > + items: > + - const: dp_apb_clk > + - enum: [ dp_vtc_pixel_clk_in, dp_live_video_in_clk ] > + - enum: [ dp_vtc_pixel_clk_in, dp_live_video_in_clk ] > + - minItems: 3 > + maxItems: 4 > + items: > + - const: dp_apb_clk > + - const: dp_aud_clk > + - enum: [ dp_vtc_pixel_clk_in, dp_live_video_in_clk ] > + - enum: [ dp_vtc_pixel_clk_in, dp_live_video_in_clk ] > + > + power-domains: > + maxItems: 1 > + > + resets: > + maxItems: 1 > + > + dmas: > + maxItems: 4 > + items: > + - description: Video layer, plane 0 (RGB or luma) > + - description: Video layer, plane 1 (U/V or U) > + - description: Video layer, plane 2 (V) > + - description: Graphics layer > + dma-names: > + items: > + - const: vid0 > + - const: vid1 > + - const: vid2 > + - const: gfx0 > + > + phys: > + description: PHYs for the DP data lanes > + minItems: 1 > + maxItems: 2 > + phy-names: > + minItems: 1 > + maxItems: 2 > + items: > + - const: dp-phy0 > + - const: dp-phy1 > + > +required: > + - compatible > + - reg > + - reg-names > + - interrupts > + - clocks > + - clock-names > + - power-domains > + - resets > + - dmas > + - dma-names > + - phys > + - phy-names > + > +additionalProperties: false > + > +examples: > + - | > + #include > + #include > + > + display@fd4a0000 { > + compatible = "xlnx,zynqmp-dpsub-1.7"; > + reg = <0x0 0xfd4a0000 0x0 0x1000>, > + <0x0 0xfd4aa000 0x0 0x1000>, > + <0x0 0xfd4ab000 0x0 0x1000>, > + <0x0 0xfd4ac000 0x0 0x1000>; > + reg-names = "dp", "blend", "av_buf", "aud"; > + interrupts = <0 119 4>; > + interrupt-parent = <&gic>; > + > + clock-names = "dp_apb_clk", "dp_aud_clk", "dp_live_video_in_clk"; > + clocks = <&dp_aclk>, <&clkc 17>, <&si570_1>; > + > + power-domains = <&pd_dp>; > + resets = <&reset ZYNQMP_RESET_DP>; > + > + dma-names = "vid0", "vid1", "vid2", "gfx0"; > + dmas = <&xlnx_dpdma 0>, > + <&xlnx_dpdma 1>, > + <&xlnx_dpdma 2>, > + <&xlnx_dpdma 3>; > + > + phys = <&psgtr 1 PHY_TYPE_DP 0 3 27000000>, > + <&psgtr 0 PHY_TYPE_DP 1 3 27000000>; > + > + phy-names = "dp-phy0", "dp-phy1"; > + }; > + > +... > -- > Regards, > > Laurent Pinchart > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel