Hi Rob,
-----Original Message----- From: Rob Herring [mailto:robh@kernel.org] Sent: Thursday, January 11, 2018 6:43 AM To: Hyun Kwon hyunk@xilinx.com Cc: dri-devel@lists.freedesktop.org; devicetree@vger.kernel.org; Michal Simek michal.simek@xilinx.com Subject: Re: [PATCH 01/10] dt-bindings: display: xlnx: Add Xilinx kms bindings
On Wed, Jan 10, 2018 at 8:04 PM, Hyun Kwon hyunk@xilinx.com wrote:
Hi Rob,
Thanks for the feedback.
-----Original Message----- From: Rob Herring [mailto:robh@kernel.org] Sent: Monday, January 08, 2018 8:00 PM To: Hyun Kwon hyunk@xilinx.com Cc: dri-devel@lists.freedesktop.org; devicetree@vger.kernel.org; Michal Simek michal.simek@xilinx.com Subject: Re: [PATCH 01/10] dt-bindings: display: xlnx: Add Xilinx kms bindings
On Thu, Jan 04, 2018 at 06:05:50PM -0800, Hyun Kwon wrote:
The dt binding for Xilinx DRM KMS driver.
Bindings are for h/w, not drivers.
I'll rephrase this.
Signed-off-by: Hyun Kwon hyun.kwon@xilinx.com
.../devicetree/bindings/display/xlnx/xlnx,kms.txt | 20
++++++++++++++++++++
1 file changed, 20 insertions(+) create mode 100644
Documentation/devicetree/bindings/display/xlnx/xlnx,kms.txt
diff --git
a/Documentation/devicetree/bindings/display/xlnx/xlnx,kms.txt
b/Documentation/devicetree/bindings/display/xlnx/xlnx,kms.txt
new file mode 100644 index 0000000..8dcd552 --- /dev/null +++ b/Documentation/devicetree/bindings/display/xlnx/xlnx,kms.txt @@ -0,0 +1,20 @@ +Xilinx KMS Pipeline +-------------------
+Xilinx display pipelines can be designed with hardened video IPs and
soft
video
+IPs in programmable logic. This KMS module provides the common
functionality
+of individual subdevice drivers, and glue logics between them.
+Required properties:
+- compatible: Must be "xlnx,kms".
I'll also rephrase the description and rename this to xlnx,display.
+- ports: phandles for CRTC ports, using the DT bindings defined in
- Documentation/devicetree/bindings/graph.txt.
This use of ports is not part of the graph binding.
I'll add more details in the description.
+Example:
- xlnx_drm: xlnx_drm {
compatible = "xlnx,kms";
drm and kms are Linuxisms.
I agree. I'll remove linux subsystem specific terms.
Why do you need this node?
This node is used to represent a display pipeline as a single entity, which
can consist of multiple components / IPs. I'll elaborate more per your suggestion.
You generally don't need that. Just have the DRM driver match with the first block in the display pipeline. Then use the OF graph to connect to the other components in the pipeline. It would help to have a block diagram showing the data pipelines and h/w blocks.
Some examples are as following. In simple case, a pipeline is linear with multiple blocks:
ZynqMP DisplayPort pipeline:
ZynqMP DMA -> ZynqMP Display controller -> ZynqMP DP encoder
FPGA display pipeline where each block comes as a separate device:
FPGA DMA -> FPGA mixer -> FPGA HDMI encoder
It gets more interesting as those can be mixed:
ZynqMP DMA -> ZynqMP Display controller -> ZynqMP DP encoder | FPAG DMA -> or
ZynqMP DMA -> ZynqMP Display controller -> ZynqMP DP encoder | -> FPGA HDMI encoder Or even,
ZynqMP DMA -> ZynqMP Display controller -> ZynqMP DP encoder | | FPAG DMA -> FPGA mixer -> -> FPGA HDMI encoder
This node is representation of such variations as a single pipeline device.
Thanks, -hyun
Rob