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.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable 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 E07D2C433E1 for ; Wed, 19 Aug 2020 21:03:46 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 9F3C8207DE for ; Wed, 19 Aug 2020 21:03:46 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="kw25jNiJ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9F3C8207DE Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ravnborg.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+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=merlin.20170209; h=Sender:Content-Transfer-Encoding: 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-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=iz+lpHdm7JHDh/kDu3zWhNTIGQq6W23VixwzrThKhT8=; b=kw25jNiJ7a9L/gMzGX4/UlywI X65qAFJGCLs8b71Z/m8PMYotJGkicYTL5fL2TtPGlGI6HQ6qARlXNjS3WIpyKwx5Aq5vhEIBpgCs0 +/8t/hdna1uCj8jPmsiGIK8ZvKy40DvfbXTFHzfqpgRK9t2/46k/XRNgOGSyEjy4R9fltZVYpJdIl yoUtxkkOzFT14LFGef2ocJuWujH7JmpK6IwZ92hkUyvab2rqMj/fGLZ4DMIdu60N5sy47gaQ4dywA tr4F1OzspgvWWTW0BhvkfBYTpIu8V2lhxju5gpO5A791WGvDqYiI5ECsk8wApDchwmdwYbG/7JZvi 2pRgh+A0g==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1k8VDl-0004E9-4h; Wed, 19 Aug 2020 21:02:09 +0000 Received: from asavdk4.altibox.net ([109.247.116.15]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1k8VDh-0004Cu-MF for linux-arm-kernel@lists.infradead.org; Wed, 19 Aug 2020 21:02:06 +0000 Received: from ravnborg.org (unknown [188.228.123.71]) (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 E9457804AF; Wed, 19 Aug 2020 23:02:01 +0200 (CEST) Date: Wed, 19 Aug 2020 23:02:00 +0200 From: Sam Ravnborg To: Mauro Carvalho Chehab Subject: Re: [PATCH 49/49] dt: display: Add binds for the DPE and DSI controller for Kirin 960/970 Message-ID: <20200819210200.GA111674@ravnborg.org> References: <6471642f74779fecfc9d5e990d90f9475d8b32d4.1597833138.git.mchehab+huawei@kernel.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <6471642f74779fecfc9d5e990d90f9475d8b32d4.1597833138.git.mchehab+huawei@kernel.org> X-CMAE-Score: 0 X-CMAE-Analysis: v=2.3 cv=aP3eV41m c=1 sm=1 tr=0 a=S6zTFyMACwkrwXSdXUNehg==:117 a=S6zTFyMACwkrwXSdXUNehg==:17 a=kj9zAlcOel0A:10 a=VwQbUJbxAAAA:8 a=gEfo2CItAAAA:8 a=e5mUnYsNAAAA:8 a=XeRH_zU2q6342Vot-4MA:9 a=ADdo6PvC8_0S2ZMR:21 a=xHdfXTxBxwXe2MVT:21 a=CjuIK1q_8ugA:10 a=AjGcO6oz07-iQ99wixmX:22 a=sptkURWiP4Gy88Gu7hUp:22 a=Vxmtnl_E_bksehYqCbjh:22 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200819_170205_982215_AE8AA968 X-CRM114-Status: GOOD ( 29.80 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, Alexei Starovoitov , Jesper Dangaard Brouer , Daniel Borkmann , Manivannan Sadhasivam , David Airlie , Greg Kroah-Hartman , John Fastabend , linux-kernel@vger.kernel.org, dri-devel , linuxarm@huawei.com, Rob Herring , Wei Xu , netdev@vger.kernel.org, mauro.chehab@huawei.com, Jakub Kicinski , bpf@vger.kernel.org, "David S. Miller" , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi Mauro. Some feedback in the following. Good to see DT schma files and not .txt files - but needs a bit more work. Sam On Wed, Aug 19, 2020 at 01:46:17PM +0200, Mauro Carvalho Chehab wrote: > Add a description of the bindings used by Kirin 960/970 Display > Serial Interface (DSI) controller and by its Display Engine (DPE). > > Signed-off-by: Mauro Carvalho Chehab > --- > .../display/hisilicon,hi3660-dpe.yaml | 99 +++++++++++++++++ > .../display/hisilicon,hi3660-dsi.yaml | 102 ++++++++++++++++++ > .../boot/dts/hisilicon/hikey970-drm.dtsi | 4 +- > 3 files changed, 203 insertions(+), 2 deletions(-) > create mode 100644 Documentation/devicetree/bindings/display/hisilicon,hi3660-dpe.yaml > create mode 100644 Documentation/devicetree/bindings/display/hisilicon,hi3660-dsi.yaml > > diff --git a/Documentation/devicetree/bindings/display/hisilicon,hi3660-dpe.yaml b/Documentation/devicetree/bindings/display/hisilicon,hi3660-dpe.yaml > new file mode 100644 > index 000000000000..074997354417 > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/hisilicon,hi3660-dpe.yaml > @@ -0,0 +1,99 @@ > +# SPDX-License-Identifier: GPL-2.0 New bindings should be dual licensed if poossible. > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/hisilicon,hi3660-dpe.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: HiSilicon SPMI controller > + > +maintainers: > + - Mauro Carvalho Chehab > + > +description: | > + The HiSilicon Display Engine (DPE) s the display controller which grab s/s/is/ > + image data from memory, do composition, do post image processing, > + generate RGB timing stream and transfer to DSI. > + > +properties: > + $nodename: > + pattern: "dpe@[0-9a-f]+" compatible will match, no need for the nodename. > + > + compatible: > + enum: > + - hisilicon,kirin960-dpe > + - hisilicon,kirin970-dpe > + > + reg: > + minItems: 1 > + > + interrupts: > + maxItems: 1 > + > + clocks: > + minItems: 1 > + description: Clocks used by the ISP and by the display All clocks must be described. > + > + clock-names: > + description: Names for the clock lines Specify clock names here. > + > + dma-coherent: true > + > + port: > + type: object > + description: A port node pointing to the display output endpoint. > + > + > + iommu-info: > + type: object > + description: IOMMU address and size to be used by GPU > + > + properties: > + start-addr: > + const: start address for IOMMU > + size: > + const: size of the mapped region additionalProperties: false? - So a DT do not use undocumented properties. required:? - So a DT always includes the mandatory properties > + > +examples: > + - | > + dpe: dpe@e8600000 { > + compatible = "hisilicon,kirin970-dpe"; > + memory-region = <&drm_dma_reserved>; memory-region not included in the binding. > + reg = <0 0xE8600000 0 0xC0000>, > + <0 0xFFF35000 0 0x1000>, > + <0 0xFFF0A000 0 0x1000>, > + <0 0xE8A09000 0 0x1000>, > + <0 0xE86C0000 0 0x10000>, > + <0 0xFFF31000 0 0x1000>, > + <0 0xE87FF000 0 0x1000>; > + > + interrupts = <0 245 4>; > + > + clocks = <&media1_crg HI3670_ACLK_GATE_DSS>, > + <&media1_crg HI3670_PCLK_GATE_DSS>, > + <&media1_crg HI3670_CLK_GATE_EDC0>, > + <&media1_crg HI3670_CLK_GATE_LDI0>, > + <&media1_crg HI3670_CLK_GATE_DSS_AXI_MM>, > + <&media1_crg HI3670_PCLK_GATE_MMBUF>, > + <&crg_ctrl HI3670_PCLK_GATE_PCTRL>; The validation will fail as HI3670_PCLK_GATE_PCTRL is unknown. Include the relevant header. Use make dt_binding_check to validate the binding files. > + > + clock-names = "aclk_dss", > + "pclk_dss", > + "clk_edc0", > + "clk_ldi0", > + "clk_dss_axi_mm", > + "pclk_mmbuf", > + "pclk_pctrl"; > + > + dma-coherent; > + > + port { > + dpe_out: endpoint { > + remote-endpoint = <&dsi_in>; > + }; > + }; > + > + iommu_info { > + start-addr = <0x8000>; > + size = <0xbfff8000>; > + }; > + }; End file with: ... > diff --git a/Documentation/devicetree/bindings/display/hisilicon,hi3660-dsi.yaml b/Documentation/devicetree/bindings/display/hisilicon,hi3660-dsi.yaml > new file mode 100644 > index 000000000000..2265267fc53d > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/hisilicon,hi3660-dsi.yaml > @@ -0,0 +1,102 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/hisilicon,hi3660-dsi.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: HiSilicon SPMI controller > + > +maintainers: > + - Mauro Carvalho Chehab > + > +description: | > + The HiSilicon Display Serial Interface (DSI) Host Controller for > + Kirin 960 and 970 resides in the middle of display controller and > + an external HDMI converter or panel. > + > +properties: > + $nodename: > + pattern: "dsi@[0-9a-f]+" Same comment as before. > + > + compatible: > + enum: > + - hisilicon,kirin960-dsi > + - hisilicon,kirin970-dsi > + > + reg: > + minItems: 1 > + maxItems: 4 > + > + clocks: > + minItems: 1 > + maxItems: 8 > + description: Clocks used by the ISP and by the display. > + > + clock-names: > + description: Names for the clock lines. Add the names. > + > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 > + > + mux-gpio: > + description: GPIO used by the mux. Must be named mux-gpios - added 's' even with a single gpio. > + > + ports: > + type: object > + description: Display input and output ports. > + > +examples: > + - | > + dsi: dsi@e8601000 { > + compatible = "hisilicon,kirin970-dsi"; > + reg = <0 0xE8601000 0 0x7F000>, > + <0 0xFFF35000 0 0x1000>, > + <0 0xE8A09000 0 0x1000>; > + > + clocks = <&crg_ctrl HI3670_CLK_GATE_TXDPHY0_REF>, > + <&crg_ctrl HI3670_CLK_GATE_TXDPHY1_REF>, > + <&crg_ctrl HI3670_CLK_GATE_TXDPHY0_CFG>, > + <&crg_ctrl HI3670_CLK_GATE_TXDPHY1_CFG>, > + <&crg_ctrl HI3670_PCLK_GATE_DSI0>, > + <&crg_ctrl HI3670_PCLK_GATE_DSI1>; > + clock-names = "clk_txdphy0_ref", > + "clk_txdphy1_ref", > + "clk_txdphy0_cfg", > + "clk_txdphy1_cfg", > + "pclk_dsi0", > + "pclk_dsi1"; > + > + #address-cells = <1>; > + #size-cells = <0>; > + mux-gpio = <&gpio25 7 0>; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + dsi_in: endpoint { > + remote-endpoint = <&dpe_out>; > + }; > + }; > + > + port@1 { > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <1>; > + > + dsi_out0: endpoint@0 { > + reg = <0>; > + remote-endpoint = <&adv7533_in>; > + }; > + > + dsi_out1: endpoint@1 { > + reg = <1>; > + remote-endpoint = <&panel0_in>; > + }; > + }; > + }; > diff --git a/arch/arm64/boot/dts/hisilicon/hikey970-drm.dtsi b/arch/arm64/boot/dts/hisilicon/hikey970-drm.dtsi > index 503c7c9425c8..5758d7d181e5 100644 > --- a/arch/arm64/boot/dts/hisilicon/hikey970-drm.dtsi > +++ b/arch/arm64/boot/dts/hisilicon/hikey970-drm.dtsi > @@ -1,6 +1,6 @@ > // SPDX-License-Identifier: GPL-2.0 > / { > - dpe: dpe@E8600000 { > + dpe: dpe@e8600000 { > compatible = "hisilicon,kirin970-dpe"; > memory-region = <&drm_dma_reserved>; > // DSS, PERI_CRG, SCTRL, PCTRL, NOC_DSS_Service_Target, PMCTRL, MEDIA_CRG > @@ -44,7 +44,7 @@ iommu_info { > }; > }; > > - dsi: dsi@E8601000 { > + dsi: dsi@e8601000 { > compatible = "hisilicon,kirin970-dsi"; > reg = <0 0xE8601000 0 0x7F000>, > <0 0xFFF35000 0 0x1000>, > -- > 2.26.2 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel