From patchwork Thu Mar 2 15:40:06 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Neil Armstrong X-Patchwork-Id: 9600565 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 A894760453 for ; Thu, 2 Mar 2017 15:46:11 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 964C3285B1 for ; Thu, 2 Mar 2017 15:46:11 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 8AAB8285B8; Thu, 2 Mar 2017 15:46:11 +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=-1.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 0E21D285B1 for ; Thu, 2 Mar 2017 15:46:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References: In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=SqQiEGVnfweDafcEECHMG9Qkoy/Be9PFoB1dvQYDt7Q=; b=ko4gfATcqPJKTJKM1Goi+5oEIs 52xpF51kXl1fK+zD7JCR4Tx1yRIw9xwarIL3szUfxLn80bOdVjWaZKYKgJ0AiZOktjZIJl3cuAvTw yMRMibDfh39bLf8b1NgGldsYRKzM6oc/FHD9hTQvYcPiHqEPUoh3anxgBrqJCI8h9RNf59gn4WF5R UzoUH98ST8AX5/1/0NtHle7xxSCJ4HKXDtSSm1yjo6vBpnWBtD6wpoFK3yRwRGzBRVb0dKscNAzHv GqsolsjEacvVF1/WFM2PbZy3t/OC9sO7XddSlosT8a4dLzs6Urigh6vYBevw8W8gVrJH6+aayn9YG SlOI8UZA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1cjSvi-000748-23; Thu, 02 Mar 2017 15:46:10 +0000 Received: from casper.infradead.org ([2001:770:15f::2]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1cjSqX-0002Io-Pg for linux-arm-kernel@bombadil.infradead.org; Thu, 02 Mar 2017 15:40:50 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=References:In-Reply-To:Message-Id:Date: Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=B8VCvkDSr/eAroH1lOIgQXPCuV1gHUdqbNHgIJOvWso=; b=tyF2NAclxaBt/D8kMEfWE82rx 0xaDJDXn8Lz7dqwQtbJralYGqkoeykk8iNwdwrTV+kYnBcDJBbbii1aipLSpc7p0h+gNREADuRe8v n4OBQWfeTwTq08lVJSlXU0rHPxO+SUZdcKYoV1dWfwA1WiqRYEzVbxPy1GF64T1/oKeDGV81X0FrW YpCclDccA8MnoXcdUAdQgndnVATofBqBrKCYJIwgVtBq8P32+i4at4o6RMTTMwL2d2y4VonUrd0BX IBVrtZy+M7uMSPR3VqI2FPN/NeH1Kzj4HbUHDmQw7XBH4Z8OHRRVfgDxU2WMpK34uPHkf70hdaIuG SiGmRQE8g==; Received: from mail-wm0-x235.google.com ([2a00:1450:400c:c09::235]) by casper.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1cjSqU-00054v-Ho for linux-arm-kernel@lists.infradead.org; Thu, 02 Mar 2017 15:40:48 +0000 Received: by mail-wm0-x235.google.com with SMTP id v186so138620101wmd.0 for ; Thu, 02 Mar 2017 07:40:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=B8VCvkDSr/eAroH1lOIgQXPCuV1gHUdqbNHgIJOvWso=; b=iXfQ5oXXr4kqQphsV8AAEFCE2zUGusW0AIxoMuHrgeMxOy+m1vK5c4S/raCwbcjqYl Dw2/asVqmXQpj2kjVfWXvPNRp9VEKuiCwDjcFtuQzOXeSS97UIF7xe2bhYfyDnA6vDve VjL3ThyuecXOhxqGTyOVOPJqgiehPsPBJUdvw0yD1513Eu2mLZGfAvf7RESwurrcFrY5 iH/eEoFvgt1oiRgpNmekaiTTMMlPJvU1hMBdwZ8x87X54U6ifPdxqsG1eUugXNUsoKSD +xyOO9HwWHzeyV+Myp5U2W1nNcnf1CDaxA/YSq91nqtxs0jlAGworWblz/afbkbucH96 Ap7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=B8VCvkDSr/eAroH1lOIgQXPCuV1gHUdqbNHgIJOvWso=; b=YMJ1QBWRYA4vPrhZChfSgEvXgAnqcA0wmxEVzeDHyxUZLUPF/XGh5S+SRMXwJi8UVf xJvb4HwcQaq8d6IskPHziknsazoUBoop5a4h2ZZietsxPpAwjxSMi1ba4YSyiIMzCwDd QdVhmKZTOPhwKFe4wcsJIdBjy+QpG77MTMecd7Rz6XcLH+Vpmx51ycULGd2TPRuHo9Nt x7L0YF8Twn+pbRHykuHO0imTlQVYH2B2GbRlSCxO8O5ukZAr1mUZqyKCv+G1z0UZapws mFmeQSmTwsw47LrDkqjJyzdRtEvBZqhjtrOtdIaO3DDUN+DUrSF7y1cDHL9bjVAENzFi PsiA== X-Gm-Message-State: AMke39k4dDHxGRDG/xzQp7VN6+c+rMnD94TqlLviD/5ByG+wSJbl+rOL/u0x+4BuL+KYRHQd X-Received: by 10.28.111.78 with SMTP id k75mr9059990wmc.71.1488469225223; Thu, 02 Mar 2017 07:40:25 -0800 (PST) Received: from localhost.localdomain ([90.63.244.31]) by smtp.gmail.com with ESMTPSA id m201sm11717389wmd.19.2017.03.02.07.40.24 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 02 Mar 2017 07:40:24 -0800 (PST) From: Neil Armstrong To: airlied@linux.ie Subject: [PATCH 10/11] dt-bindings: Add bindings for the Amlogic Meson dw-hdmi extension Date: Thu, 2 Mar 2017 16:40:06 +0100 Message-Id: <1488469207-523-11-git-send-email-narmstrong@baylibre.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1488469207-523-1-git-send-email-narmstrong@baylibre.com> References: <1488469207-523-1-git-send-email-narmstrong@baylibre.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170302_154046_617025_7AC3106F X-CRM114-Status: GOOD ( 16.97 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, Neil Armstrong , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP This binding describes the Amlogic Meson specific extension to the Synopsys Designware HDMI Controller. Signed-off-by: Neil Armstrong Acked-by: Rob Herring --- .../bindings/display/amlogic,meson-dw-hdmi.txt | 111 +++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/amlogic,meson-dw-hdmi.txt diff --git a/Documentation/devicetree/bindings/display/amlogic,meson-dw-hdmi.txt b/Documentation/devicetree/bindings/display/amlogic,meson-dw-hdmi.txt new file mode 100644 index 0000000..7f040ed --- /dev/null +++ b/Documentation/devicetree/bindings/display/amlogic,meson-dw-hdmi.txt @@ -0,0 +1,111 @@ +Amlogic specific extensions to the Synopsys Designware HDMI Controller +====================================================================== + +The Amlogic Meson Synopsys Designware Integration is composed of : +- A Synopsys DesignWare HDMI Controller IP +- A TOP control block controlling the Clocks and PHY +- A custom HDMI PHY in order to convert video to TMDS signal + ___________________________________ +| HDMI TOP |<= HPD +|___________________________________| +| | | +| Synopsys HDMI | HDMI PHY |=> TMDS +| Controller |________________| +|___________________________________|<=> DDC + +The HDMI TOP block only supports HPD sensing. +The Synopsys HDMI Controller interrupt is routed through the +TOP Block interrupt. +Communication to the TOP Block and the Synopsys HDMI Controller is done +via a pair of dedicated addr+read/write registers. +The HDMI PHY is configured by registers in the HHI register block. + +Pixel data arrives in 4:4:4 format from the VENC block and the VPU HDMI mux +selects either the ENCI encoder for the 576i or 480i formats or the ENCP +encoder for all the other formats including interlaced HD formats. + +The VENC uses a DVI encoder on top of the ENCI or ENCP encoders to generate +DVI timings for the HDMI controller. + +Amlogic Meson GXBB, GXL and GXM SoCs families embeds the Synopsys DesignWare +HDMI TX IP version 2.01a with HDCP and I2C & S/PDIF +audio source interfaces. + +Required properties: +- compatible: value should be different for each SoC family as : + - GXBB (S905) : "amlogic,meson-gxbb-dw-hdmi" + - GXL (S905X, S905D) : "amlogic,meson-gxl-dw-hdmi" + - GXM (S912) : "amlogic,meson-gxm-dw-hdmi" + followed by the common "amlogic,meson-gx-dw-hdmi" +- reg: Physical base address and length of the controller's registers. +- interrupts: The HDMI interrupt number +- clocks, clock-names : must have the phandles to the HDMI iahb and isfr clocks, + and the Amlogic Meson venci clocks as described in + Documentation/devicetree/bindings/clock/clock-bindings.txt, + the clocks are soc specific, the clock-names should be "iahb", "isfr", "venci" +- resets, resets-names: must have the phandles to the HDMI apb, glue and phy + resets as described in : + Documentation/devicetree/bindings/reset/reset.txt, + the reset-names should be "hdmitx_apb", "hdmitx", "hdmitx_phy" + +Required nodes: + +The connections to the HDMI ports are modeled using the OF graph +bindings specified in Documentation/devicetree/bindings/graph.txt. + +The following table lists for each supported model the port number +corresponding to each HDMI output and input. + + Port 0 Port 1 +----------------------------------------- + S905 (GXBB) VENC Input TMDS Output + S905X (GXL) VENC Input TMDS Output + S905D (GXL) VENC Input TMDS Output + S912 (GXM) VENC Input TMDS Output + +Example: + +hdmi-connector { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_connector_in: endpoint { + remote-endpoint = <&hdmi_tx_tmds_out>; + }; + }; +}; + +hdmi_tx: hdmi-tx@c883a000 { + compatible = "amlogic,meson-gxbb-dw-hdmi", "amlogic,meson-gx-dw-hdmi"; + reg = <0x0 0xc883a000 0x0 0x1c>; + interrupts = ; + resets = <&reset RESET_HDMITX_CAPB3>, + <&reset RESET_HDMI_SYSTEM_RESET>, + <&reset RESET_HDMI_TX>; + reset-names = "hdmitx_apb", "hdmitx", "hdmitx_phy"; + clocks = <&clkc CLKID_HDMI_PCLK>, + <&clkc CLKID_CLK81>, + <&clkc CLKID_GCLK_VENCI_INT0>; + clock-names = "isfr", "iahb", "venci"; + #address-cells = <1>; + #size-cells = <0>; + + /* VPU VENC Input */ + hdmi_tx_venc_port: port@0 { + reg = <0>; + + hdmi_tx_in: endpoint { + remote-endpoint = <&hdmi_tx_out>; + }; + }; + + /* TMDS Output */ + hdmi_tx_tmds_port: port@1 { + reg = <1>; + + hdmi_tx_tmds_out: endpoint { + remote-endpoint = <&hdmi_connector_in>; + }; + }; +};