[Patch v2 3/6] dt-bindings: display/ti: Add plane binding to dispc node
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Wed Apr 4 14:36:08 UTC 2018
Hi Benoit,
Thank you for the patch.
On Monday, 26 March 2018 19:21:25 EEST Benoit Parrot wrote:
> Currently all available display pipelines (i.e. plane) and output port
> resources are exposed to user-space. In some cases it is needed to be
> able to restrict which resources are actually visible from user-space.
> Also in cases where a display wider than 2048 pixels is to be supported
> more than one video pipeline is needed. In this case the 2nd hardware
> pipeline needed is not visible to user space applications.
>
> These video pipeline definitions must be statically defined so that
> the number of visible pipelines does not change from the user-space
> perspective.
>
> In order to allow this we are adding an optional 'plane' sub-node to
> the generic DISPC node.
I'm sorry but this is really configuration data, it doesn't describe the
hardware. I don't think these properties belong to DT.
> Signed-off-by: Benoit Parrot <bparrot at ti.com>
> ---
> .../devicetree/bindings/display/ti/ti,omap-dss.txt | 65 +++++++++++++++++++
> 1 file changed, 65 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/display/ti/ti,omap-dss.txt
> b/Documentation/devicetree/bindings/display/ti/ti,omap-dss.txt index
> 249e588d7865..2dd411cb5a83 100644
> --- a/Documentation/devicetree/bindings/display/ti/ti,omap-dss.txt
> +++ b/Documentation/devicetree/bindings/display/ti/ti,omap-dss.txt
> @@ -28,6 +28,36 @@ Optional properties:
> - max-memory-bandwidth: Input memory (from main memory to dispc) bandwidth
> limit in bytes per second
>
> +Optional Subnode:
> +- plane: Child node(s) which defines which video planes are available to
> + the system. If at least one plane child node is defined then
> + only planes defined by these nodes will be available to the system.
> + Plane nodes must be sequential starting with reg = <0> as DT parsing
> + will stop on the first missing numbered node.
> + This means if plane #1 is defined but plane #0 is not then it will
> + be as if none of the plane nodes were defined.
> +
> + Each plane node contains the following properties:
> + Required properties:
> + - reg: Used to identify the plane
> + - video-pipelines: One or two HW pipeline number(s).
> + When 2 numbers are present this indicates a virtual wide
> + plane composed of two physical planes intended to be used
> + when the display is larger then the capacity of a
> + single plane i.e. wider than 2048 pixels.
> + The first number in the pair will dictate the capabilities
> + of the plane. This means that for proper
> + operation the virtual plane should be composed of HW
> + planes of the same capabilities.
> + If GFX pipeline is used in a virtual plane it should be
> + specified first, otherwise unexpected behavior would
> + be encountered.
> + Optional property:
> + - video-outputs: One or more HW output number(s).
> + Describe the list of video output on which this plane
> + is available. If this node is not present then the
> + plane will be available on all available video output.
> +
> Video Ports
> -----------
>
> @@ -216,3 +246,38 @@ OMAP HDMI --(HDMI)--> TPD12S015 --(HDMI)--> HDMI
> Connector };
> };
> };
> +
> +A short example on how to define a virtual plane configuration
> +to enable wide display support.
> +Here we define:
> +- plane#0 to be the HW pipeline #0 (i.e. GFX pipeline)
> + only available on video output #0
> +- plane#1 to be a virtual wide plane composed of HW pipeline #1 and #2
> + (i.e. VID1 & VID2) available on video output #0 & #1
> +- plane#2 to be the HW pipeline #3 (i.e. VID3 pipeline)
> + only available on video output #0
> +
> +&dss {
> + dispc at 58001000 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + plane at 0 {
> + reg = <0>;
> + video-pipelines = <0>;
> + video-outputs = <0>;
> + };
> +
> + plane at 1 {
> + reg = <1>;
> + video-pipelines = <1 2>;
> + video-outputs = <0 1>;
> + };
> +
> + plane at 2 {
> + reg = <2>;
> + video-pipelines = <3>;
> + video-outputs = <0>;
> + };
> + };
> +};
--
Regards,
Laurent Pinchart
More information about the dri-devel
mailing list