Hi Laurent, I removed the examples for the HDMI in the draft below. The connections between the VIP and Display Port IP or any display connector are determined by HW logic. There are currently no SW defined encoders or connectors that is connected to the AVALON-ST other than the Intel VIP Frame Buffer II. Therefore there are no examples for the Display Port encoder and connector. On Mon, 2017-08-21 at 08:09 +0300, Laurent Pinchart wrote: > Hi Hean Loong, > > On Monday, 21 August 2017 04:40:09 EEST Ong, Hean Loong wrote: > > > > On Fri, 2017-08-18 at 16:11 +0300, Laurent Pinchart wrote: > > > > > > On Friday 18 Aug 2017 08:34:44 Ong, Hean Loong wrote: > > > > > > > > > > > > Hi Laurent, > > > > Thanks for the comments, I drafted a copy of the DT bindings > > > > based > > > > on your recommendations and inputs. I inserted the changes > > > > below the > > > > previous comments. > > > [snip] > > > > > > > > > > > > > > > Intel Video and Image Processing(VIP) Frame Buffer II bindings > > > > > > > > Supported hardware: Intel FPGA SoC Arria10 and above with > > > > display > > > > portIP > > > > > > > > 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. > > > > > > > > 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. > > > > > > > > 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 > > > > > > > > New bindings: > > > > ============= > > > How are the bindings "new" ? You can omit that title. > > Noted. > > > > > > > > > > > > > > > > > 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 > > > You need to mention the ports here as they are mandatory. I would > > > move the second paragraph from the introduction to here. You > > > should also > > > refer to the file defining the OF graph DT bindings. You can find > > > examples > > > in other DT bindings. > > Noted > > > > > > > > > > > > > > > > > Example: > > > > ---------------------------- > > > > +-----+ +-----------+ +------------+ +--------- > > > > --+ > > > > | D | | Frame | | DP/HDMI TX | | > > > > DP/HDMI | > > > > | D |----->| Buffer II |----->| Controller |----->| > > > > Connector | > > > > | R | | | | | | > > > > | > > > > +-----+ +-----------+ +------------+ +--------- > > > > --+ > > > > > > > > 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>; > > > > }; > > > > }; > > > > }; > > > > }; > > > > > > > > If there is a need to scale the Frame Buffer II IP cores in > > > > the pipeline, each node would have its own node, connected > > > > through ports and endpoints. > > > > > > > > hdmi-encoder@......... { > > > > compatible = "altr,hdmi-tx-16.0"; > > > This was just an example, please use the real compatible string > > > of > > > the HDMI controller (and please submit DT bindings for the HDMI > > > controller > > > :-)). Please also fill the reg property with values from a real > > > example. > > I was trying to get overall picture to be correct before I proceed > > further. We currently do not have support for HDMI therefore I > > would > > omit this until a HDMI IP is available. The only values are > > available > > for the Display Port. > No problem. In that case the best option is to replace the HDMI > encoder with a > DisplayPort encoder in the example. > > > > > > > > > > > > > > reg = <.....>; > > > > /* Other IP-specific properties here */ > > > > > > > > ports { > > > > #address-cells = <1>; > > > > #size-cells = <0>; > > > > > > > > port@0 { > > > > reg = <0>; > > > > hdmi_tx_input: endpoint { > > > > remote-endpoint = <&fb_output>; > > > > }; > > > > }; > > > > > > > > port@1 { > > > > reg = <1>; > > > > hdmi_tx_output: endpoint { > > > > remote-endpoint = > > > > <&hdmi_conn_input>; > > > > }; > > > > }; > > > > }; > > > > }; > > > > > > > > hdmi-connector@0 { > > > > compatible = "hdmi-connector"; > > > > type = "a"; > > > > > > > > port { > > > > hdmi_conn_input: endpoint { > > > > remote-endpoint = <&hdmi_tx_output>; > > > > }; > > > > }; > > > > }; > 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 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. If there is a need to scale the Frame Buffer II IP cores in the pipeline, each node would have its own node, connected through ports and endpoints. Currently only a Display Port IP input endpoint is supported. Port 0 Port1 --------------------------------------------------------- ARRIA10 AVALON_ST (DIN) AVALON_ST (DOUT) Example: ---------------------------- +-----+ +-----------+ +------------+ +-----------+ | D | | Frame | | DP/HDMI TX | | DP/HDMI | | D |----->| Buffer II |----->| Controller |----->| Connector | | R | | | | | | | +-----+ +-----------+ +------------+ +-----------+ 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>; }; }; }; }; _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel