aboutsummaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/display/virtual-encoder.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/devicetree/bindings/display/virtual-encoder.txt')
-rw-r--r--Documentation/devicetree/bindings/display/virtual-encoder.txt74
1 files changed, 74 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/display/virtual-encoder.txt b/Documentation/devicetree/bindings/display/virtual-encoder.txt
new file mode 100644
index 000000000000..3a9b8221c3ec
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/virtual-encoder.txt
@@ -0,0 +1,74 @@
+DRM Virtual Encoder
+
+The DRM Virtual Encoder is a component-based basic encoder that fetches
+the display timings information from the device tree and "discovers" a
+DRM output with the given data. It is helpful in a simulated environment
+where there is no actual hardware to be probed and the configuration of
+the display happens outside the kernel world.
+
+Required properties:
+ - compatible: should be "drm,virtual-encoder"
+
+Required sub-nodes:
+ - display-timings: node describing the virtual output timings information,
+ as specified in panel/display-timing.txt file.
+ - port: the input port connection as modelled using the OF graph bindings
+ specified in Documentation/devicetree/bindings/graph.txt
+
+
+Example:
+
+/ {
+ ...
+
+ vencoder {
+ compatible = "drm,virtual-encoder";
+ display-timings {
+ native-mode = <&timing1>;
+ timing0: timing@0 {
+ /* 640x480 framebuffer */
+ clock-frequency = <23750>;
+ hactive = <640>;
+ vactive = <480>;
+ hfront-porch = <48>;
+ hback-porch = <16>;
+ hsync-len = <96>;
+ vfront-porch = <33>;
+ vback-porch = <9>;
+ vsync-len = <3>;
+ };
+ timing1: timing@1 {
+ /* 1280x720 framebuffer */
+ clock-frequency = <74440000>;
+ hactive = <1280>;
+ vactive = <720>;
+ hfront-porch = <56>;
+ hback-porch = <192>;
+ hsync-len = <136>;
+ vfront-porch = <1>;
+ vback-porch = <22>;
+ vsync-len = <3>;
+ };
+ };
+
+ port {
+ vencoder_in: endpoint {
+ remote-endpoint = <&driver_out>;
+ };
+ };
+ };
+
+ drm_driver: driver@f00bad {
+ ...
+
+ port {
+ driver_out: endpoint {
+ remote-endpoint = <&vencoder_in>;
+ };
+ };
+
+ ...
+ };
+
+ ...
+};