Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp254862imm; Wed, 30 May 2018 23:03:39 -0700 (PDT) X-Google-Smtp-Source: ADUXVKJG00Gpzok/SQC+TdGFkbXB/NaWKXoDPuM0fvNNLisdqltpQbIq1bmSXSKPcvwODZ7aDngp X-Received: by 2002:a17:902:d891:: with SMTP id b17-v6mr5818048plz.0.1527746619652; Wed, 30 May 2018 23:03:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527746619; cv=none; d=google.com; s=arc-20160816; b=w8ilDDwPExPPFLXj7v1GusJjSBX/FP/Mt6uU3ZGjUOP02jDJOMlPpDn8lzLuuJH/gY /DkFRpZ0Okzj+NXrfKiRda5P4sW8R3Yu+pDsKutkTg5ZdImNzkgky6WjnQiOH8d2vs04 NU5RNCOiNeBefuqJDwW54i6QUKFyGrUncwwSqk8apa45jxtMyitJCS+2dr9U6RIH9rcc St/mLUmhzVYGpnybB+MK4Sz46HF9Oa5VjQrSzxmR18sYb6QIibWWaR+PKSu6kuzugqRU VhP0cdX4iIo7bexE7sXxd4stlmvRvFHqtU1ZDQehFhjs3Pcm/+Yzsl27AovD5dBrqOai /Qeg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=zHuDYNg0aX71is0WkC6zvD7sTKh23mvgK1evG+05ZZM=; b=Xk4/wuvW1k9HCr8pw6uAILICZdRSiiFEKOovMbdh5lRec/of9QFX/CNcs4UhqKybQy LVObOraqgWB+3x1+C8hKXEZklkIPhFdD1Q3RvYKyqj/E/Pp2mtOejfJIMWdckhGajjt9 7gTRv12trGC4ojURVCmeupG3nwmucQX51qqdn5FwzhDrqofHLgmT9a8zZ7YMQ8SnYcmY QfAUgAz8A/p4jwnZpA2NGy5BEHU402jucF8hEZExqGYOVnfA62RMsqYD45qrF45fNaRx PZOncNNAd5n0BHb4PyzBMh+raBSdk68dMuYB/dphbkmtnOOpK62ki8PpijaDNb3T1bFd pyRg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a7-v6si29028970pgd.338.2018.05.30.23.03.25; Wed, 30 May 2018 23:03:39 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754014AbeEaGCL (ORCPT + 99 others); Thu, 31 May 2018 02:02:11 -0400 Received: from mga18.intel.com ([134.134.136.126]:31759 "EHLO mga18.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751037AbeEaGCI (ORCPT ); Thu, 31 May 2018 02:02:08 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 May 2018 23:02:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,462,1520924400"; d="scan'208";a="60036416" Received: from helong-vb.png.intel.com ([10.226.242.245]) by fmsmga001.fm.intel.com with ESMTP; 30 May 2018 23:02:04 -0700 From: "Hean-Loong, Ong" To: Rob Herring , Dinh Nguyen , Daniel Vetter , Laurent Pinchart Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, dri-devel@lists.freedesktop.org, hean.loong.ong@intel.com, yves.vandervennet@intel.com, chin.liang.see@intel.com, Ong@vger.kernel.org Subject: [PATCHv8 1/3] ARM:dt-bindings:display Intel FPGA Video and Image Processing Suite Date: Thu, 31 May 2018 14:01:52 +0800 Message-Id: <1527746514-3861-2-git-send-email-hean.loong.ong@intel.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1527746514-3861-1-git-send-email-hean.loong.ong@intel.com> References: <1527746514-3861-1-git-send-email-hean.loong.ong@intel.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Ong, Hean Loong Device tree binding for Intel FPGA Video and Image Processing Suite. The binding involved would be generated from the Altera (Intel) Qsys system. The bindings would set the max width, max height, buts per pixel and memory port width. The device tree binding only supports the Intel Arria10 devkit and its variants. Vendor name retained as altr. V8: *Add port to Display port decoder V7: *Fix OF graph for better description *Add description for encoder V6: *Description have not describe DT device in general V5: *remove bindings for bits per symbol as it has only one value which is 8 V4: *fix properties that does not describe the values V3: *OF graph not in accordance to graph.txt V2: *Remove Linux driver description V1: *Missing vendor prefix Signed-off-by: Ong, Hean Loong --- .../devicetree/bindings/display/altr,vip-fb2.txt | 99 ++++++++++++++++++++ 1 files changed, 99 insertions(+), 0 deletions(-) create mode 100644 Documentation/devicetree/bindings/display/altr,vip-fb2.txt diff --git a/Documentation/devicetree/bindings/display/altr,vip-fb2.txt b/Documentation/devicetree/bindings/display/altr,vip-fb2.txt new file mode 100644 index 0000000..4092804 --- /dev/null +++ b/Documentation/devicetree/bindings/display/altr,vip-fb2.txt @@ -0,0 +1,99 @@ +Intel Video and Image Processing(VIP) Frame Buffer II bindings + +Supported hardware: Intel FPGA SoC Arria10 and above with display port IP + +The Video Frame Buffer II in Video Image Processing (VIP) suite is an IP core +that interfaces between system memory and Avalon-ST video ports. The IP core +can be configured to support the memory reader (from memory to Avalon-ST) +and/or memory writer (from Avalon-ST to memory) interfaces. + +More information the FPGA video IP component can be acquired from +https://www.altera.com/content/dam/altera-www/global/en_US/pdfs\ +/literature/ug/ug_vip.pdf + +DT-Bindings: +============= +Required properties: +---------------------------- +- compatible: "altr,vip-frame-buffer-2.0" +- reg: Physical base address and length of the framebuffer controller's + registers. +- altr,max-width: The maximum width of the framebuffer in pixels. +- altr,max-height: The maximum height of the framebuffer in pixels. +- altr,mem-port-width = the bus width of the avalon master port + on the frame reader + +Optional sub-nodes: +- ports: The connection to the encoder + +Optional properties +---------------------------- +- compatible: "altr, display-port" +- reg: Physical base address and length of the display port controller's + registers +- clocks: required clock handles for specified pairs in clock name +- clock-names: required clock names. Contains: + - aux_clk: auxiliary clock, + - clk: 100 MHz output clock + - xcvr_mgmt_clk: transceiver management clock + +Optional sub-nodes: +- ports: The connection to the controller + +Connections between the Frame Buffer II and other video IP cores in the system +are modelled using the OF graph DT bindings. The Frame Buffer II node has up +to two OF graph ports. When the memory writer interface is enabled, port 0 +maps to the Avalon-ST Input (din) port. When the memory reader interface is +enabled, port 1 maps to the Avalon-ST Output (dout) port. + +The encoder is built into the FPGA HW design and therefore would not +be accessible from the DDR. + + Port 0 Port1 +--------------------------------------------------------- +ARRIA10 AVALON_ST (DIN) AVALON_ST (DOUT) + +Required Properties Example: +---------------------------- + +framebuffer@100000280 { + compatible = "altr,vip-frame-buffer-2.0"; + reg = <0x00000001 0x00000280 0x00000040>; + altr,max-width = <1280>; + altr,max-height = <720>; + altr,mem-port-width = <128>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@1 { + reg = <1>; + fb_output: endpoint { + remote-endpoint = <&dp_encoder_input>; + }; + }; + }; +}; + +Optional Properties Example: +This is not required unless there are needs to customize +Display Port controller settings. + +displayport@100002000 { + compatible = "altr, display-port"; + reg = <0x00000001 0x00002000 0x00000800>; + clocks = <&dp_0_clk_16 &dp_0_clk_100 &dp_0_clk_100>; + clock-names = "aux_clk", "clk", "xcvr_mgmt_clk"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <1>; + dp_input: endpoint { + remote-endpoint = <&dp_controller_input>; + }; + }; +}; -- 1.7.1