From patchwork Mon Nov 28 18:02:39 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: 9451733 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 3F23A60756 for ; Tue, 29 Nov 2016 11:37:00 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 25B4427F8F for ; Tue, 29 Nov 2016 11:37:00 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 1A59327FE4; Tue, 29 Nov 2016 11:37:00 +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=-3.1 required=2.0 tests=BAYES_00, DATE_IN_PAST_12_24, FREEMAIL_FROM,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id BBB5F2815E for ; Tue, 29 Nov 2016 11:36:59 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 106B36E21D; Tue, 29 Nov 2016 11:36:57 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from smtp1-g21.free.fr (smtp1-g21.free.fr [IPv6:2a01:e0c:1:1599::10]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0F47D6E218 for ; Tue, 29 Nov 2016 11:36:55 +0000 (UTC) Received: from localhost (unknown [37.164.15.172]) by smtp1-g21.free.fr (Postfix) with ESMTP id 737C5B00518; Tue, 29 Nov 2016 12:36:53 +0100 (CET) X-Mailbox-Line: From 92fc53084274d5ab04fe28f2dc0b16cf5d94481e Mon Sep 17 00:00:00 2001 Message-Id: <92fc53084274d5ab04fe28f2dc0b16cf5d94481e.1480414715.git.moinejf@free.fr> In-Reply-To: References: From: Jean-Francois Moine Date: Mon, 28 Nov 2016 19:02:39 +0100 Subject: [PATCH v7 2/8] drm/sun8i: Add DT bindings documentation of Allwinner DE2 To: Dave Airlie , Maxime Ripard , Rob Herring Cc: devicetree@vger.kernel.org, linux-sunxi@googlegroups.com, linux-arm-kernel@lists.infradead.org, dri-devel@lists.freedesktop.org X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP Signed-off-by: Jean-Francois Moine --- .../bindings/display/sunxi/sun8i-de2.txt | 121 +++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/sunxi/sun8i-de2.txt diff --git a/Documentation/devicetree/bindings/display/sunxi/sun8i-de2.txt b/Documentation/devicetree/bindings/display/sunxi/sun8i-de2.txt new file mode 100644 index 0000000..edf38b8 --- /dev/null +++ b/Documentation/devicetree/bindings/display/sunxi/sun8i-de2.txt @@ -0,0 +1,121 @@ +Allwinner sun8i Display Engine 2 subsystem +========================================== + +The Allwinner DE2 subsystem contains a display controller (DE2), +one or two LCD controllers (Timing CONtrollers) and their external +interfaces (encoders/connectors). + + +-----------+ + | DE2 | + | | + | +-------+ | + plane --->| | | +------+ + | | mixer |---->| TCON |---> encoder ---> display + plane --->| | | +------+ connector device + | +-------+ | + | | + | +-------+ | + plane --->| | | +------+ + | | mixer |---->| TCON |---> encoder ---> display + plane --->| | | +------+ connector device + | +-------+ | + +-----------+ + +The DE2 contains a processor which mixes the input planes and creates +the images which are sent to the TCONs. +From the software point of vue, there are 2 independent real-time +mixers, each one being statically associated to one TCON. + +The TCONs adjust the image format to the one of the display device. + +Display controller (DE2) +======================== + +Required properties: + +- compatible: value should be one of the following + "allwinner,sun8i-a83t-display-engine" + "allwinner,sun8i-h3-display-engine" + +- reg: base address and size of the I/O memory + +- clocks: must include clock specifiers corresponding to entries in the + clock-names property. + +- clock-names: must contain + "bus": bus gate + "clock": clock + +- resets: phandle to the reset of the device + +- ports: must contain a list of 2 phandles, indexed by mixer number, + and pointing to display interface ports of TCONs + +LCD controller (TCON) +===================== + +Required properties: + +- compatible: should be + "allwinner,sun8i-a83t-tcon" + +- reg: base address and size of the I/O memory + +- clocks: must include clock specifiers corresponding to entries in the + clock-names property. + +- clock-names: must contain + "bus": bus gate + "clock": pixel clock + +- resets: phandle to the reset of the device + +- interrupts: interrupt number for the TCON + +- 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"; + reg = <0x01000000 0x400000>; + clocks = <&ccu CLK_BUS_DE>, <&ccu CLK_DE>; + clock-names = "bus", "clock"; + resets = <&ccu RST_BUS_DE>; + ports = <&tcon0_p>, <&tcon1_p>; + }; + + tcon0: lcd-controller@01c0c000 { + compatible = "allwinner,sun8i-a83t-tcon"; + reg = <0x01c0c000 0x400>; + clocks = <&ccu CLK_BUS_TCON0>, <&ccu CLK_TCON0>; + clock-names = "bus", "clock"; + resets = <&ccu RST_BUS_TCON0>; + interrupts = ; + #address-cells = <1>; + #size-cells = <0>; + tcon0_p: port { + tcon0_hdmi: endpoint { + remote-endpoint = <&hdmi_tcon0>; + }; + }; + }; + + /* not used */ + tcon1: lcd-controller@01c0d000 { + compatible = "allwinner,sun8i-h3-tcon"; + reg = <0x01c0d000 0x400>; + clocks = <&ccu CLK_BUS_TCON1>, + <&ccu CLK_TCON0>; /* no clock */ + clock-names = "bus", "clock"; + interrupts = ; + status = "disabled"; + #address-cells = <1>; + #size-cells = <0>; + tcon1_p: port { + endpoint { + /* empty */ + }; + }; + };