From patchwork Fri Jan 8 17:13:06 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jean-Francois Moine X-Patchwork-Id: 7987811 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 149E49F32E for ; Fri, 8 Jan 2016 17:15:11 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 1B9BF201CD for ; Fri, 8 Jan 2016 17:15:10 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0C920201C8 for ; Fri, 8 Jan 2016 17:15:09 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1aHabZ-00059u-Gv; Fri, 08 Jan 2016 17:13:37 +0000 Received: from smtp5-g21.free.fr ([2a01:e0c:1:1599::14]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1aHabV-00054o-P8 for linux-arm-kernel@lists.infradead.org; Fri, 08 Jan 2016 17:13:35 +0000 Received: from void-opi2 (unknown [82.245.201.222]) by smtp5-g21.free.fr (Postfix) with SMTP id 12AF0D48157; Fri, 8 Jan 2016 18:12:04 +0100 (CET) Date: Fri, 8 Jan 2016 18:13:06 +0100 From: Jean-Francois Moine To: Maxime Ripard Subject: Re: [PATCH RFC 0/2] Add a display driver to the Allwinner H3 Message-Id: <20160108181306.4a5a7370f0e3f3daa7c9e285@free.fr> In-Reply-To: <20160106212046.GD9631@lukather> References: <20160106212046.GD9631@lukather> X-Mailer: Sylpheed 3.4.3 (GTK+ 2.24.29; armv7l-unknown-linux-gnueabihf) Mime-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160108_091334_079429_74968582 X-CRM114-Status: GOOD ( 19.74 ) X-Spam-Score: -2.6 (--) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Dave Airlie , Emilio =?ISO-8859-1?Q?L=F3pez?= , Chen-Yu Tsai , linux-arm-kernel@lists.infradead.org, dri-devel@lists.freedesktop.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP On Wed, 6 Jan 2016 22:20:46 +0100 Maxime Ripard wrote: > > As there is no documentation about the DE2 nor about the HDMI which > > are found in the H3, this driver has been built from Allwiiner's > > sources. > > That's unfortunate :/ > > Have you checked in the A64 BSP if there was some useful information? Same as the H3: no more information about the display system. > > So, there may be license problems, especially for the file > > de2_hdmi_h3.c which contains a lot of magic values. > > I guess it's the biggest issue with your code right now. What licenses > issues are we talking about here? The documentation about the H3, as the other Allwinner documentations, starts with: This documentation is the original work and copyrighted property of Allwinner Technology ("Allwinner"). Reproduction in whole or in part must obtain the written approval of Allwinner and give clear acknowledgement to the copyright owner. Then, the DE2 sources contain only: All Winner Tech, All Right Reserved. 2014-2015 Copyright (c) Eventually, there is no copyright/author/history in the HDMI sources. > Remember that having your Signed-off-by tag on a commit means that you > certify that you have the right to submit the patch under the license > you indicate in the files added and / or modified. > > If you don't have such right, for example because you don't have the > right and / or authorization from the initial author to re-license > that code, you cannot put your SoB. OK, sorry. So, please, ignore the whole patch series. > > The associated DT and documentation will be submitted when the H3 DTs > > will be in the kernel. > > Having the DT binding documentation would really help in the review. Here it is, as a sunxi specific documentation, but it could be generic. --- /dev/null 1970-01-01 01:00:10.240000002 +0100 +++ Documentation/devicetree/bindings/display/sunxi.txt 2016-01-08 17:48:01.775903901 +0100 @@ -0,0 +1,107 @@ +Allwinner sunxi display subsystem +================================= + +The sunxi display subsystems contain a display controller (DE), +one or two LCD controllers (TCON) and their external interfaces. + +Display controller +================== + +Required properties: + +- compatible: value should be one of the following + "allwinner,sun8i-h3-display-engine" + +- clocks: must include clock specifiers corresponding to entries in the + clock-names property. + +- clock-names: must contain + gate: for DE activation + clock: DE clock + +- resets: phandle to the reset of the device + +- ports: phandle's to the LCD ports + +LCD controller +============== + +Required properties: + +- compatible: value should be one of the following + "allwinner,sun8i-h3-lcd" + +- clocks: must include clock specifiers corresponding to entries in the + clock-names property. + +- clock-names: must contain + gate: for LCD activation + clock: pixel clock + +- resets: phandle to the reset of the device + +- port: port node with endpoint definitions as defined in + Documentation/devicetree/bindings/media/video-interfaces.txt + +HDMI support +============ + +Required properties: + +- compatible: value should be one of the following + "allwinner,sun8i-h3-hdmi" + +- clocks: must include clock specifiers corresponding to entries in the + clock-names property. + +- clock-names: must contain + gate: for HDMI activation + clock: pixel clock + ddc-clock: for the HDMI protocol + +- resets: one or two phandle's to the reset of the device + +- port: port node with endpoint definitions as defined in + Documentation/devicetree/bindings/media/video-interfaces.txt + +Example: + + de: de-controller@01000000 { + compatible = "allwinner,sun8i-h3-display-engine"; + ... + clocks = <&bus_gates 44>, <&de_clk>; + clock-names = "gate", "clock"; + resets = <&bus_rst 44>; + ports = <&lcd0_p>; + }; + + lcd0: lcd-controller@01c0c000 { + compatible = "allwinner,sun8i-h3-lcd"; + ... + clocks = <&bus_gates 35>, <&tcon0_clk>; + clock-names = "gate", "clock"; + resets = <&bus_rst 35>; + #address-cells = <1>; + #size-cells = <0>; + lcd0_p: port { + lcd0_ep: endpoint { + remote-endpoint = <&hdmi_ep>; + }; + }; + }; + + hdmi: hdmi@01ee0000 { + compatible = "allwinner,sun8i-h3-hdmi"; + ... + clocks = <&bus_gates 43>, <&hdmi_clk>, + <&hdmi_slow_clk 31>; + clock-names = "gate", "clock", "ddc-clock"; + resets = <&bus_rst 42>, <&bus_rst 43>; + #address-cells = <1>; + #size-cells = <0>; + port { + hdmi_ep: endpoint { + remote-endpoint = <&lcd0_ep>; + }; + }; + };