~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/display/amlogic,meson-vpu.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2 # Copyright 2019 BayLibre, SAS
  3 %YAML 1.2
  4 ---
  5 $id: http://devicetree.org/schemas/display/amlogic,meson-vpu.yaml#
  6 $schema: http://devicetree.org/meta-schemas/core.yaml#
  7 
  8 title: Amlogic Meson Display Controller
  9 
 10 maintainers:
 11   - Neil Armstrong <neil.armstrong@linaro.org>
 12 
 13 description: |
 14   The Amlogic Meson Display controller is composed of several components
 15   that are going to be documented below
 16 
 17   DMC|---------------VPU (Video Processing Unit)----------------|------HHI------|
 18      | vd1   _______     _____________    _________________     |               |
 19   D  |-------|      |----|            |   |                |    |   HDMI PLL    |
 20   D  | vd2   | VIU  |    | Video Post |   | Video Encoders |<---|-----VCLK      |
 21   R  |-------|      |----| Processing |   |                |    |               |
 22      | osd2  |      |    |            |---| Enci ----------|----|-----VDAC------|
 23   R  |-------| CSC  |----| Scalers    |   | Encp ----------|----|----HDMI-TX----|
 24   A  | osd1  |      |    | Blenders   |   | Encl ----------|----|---------------|
 25   M  |-------|______|----|____________|   |________________|    |               |
 26   ___|__________________________________________________________|_______________|
 27 
 28 
 29   VIU: Video Input Unit
 30   ---------------------
 31 
 32   The Video Input Unit is in charge of the pixel scanout from the DDR memory.
 33   It fetches the frames addresses, stride and parameters from the "Canvas" memory.
 34   This part is also in charge of the CSC (Colorspace Conversion).
 35   It can handle 2 OSD Planes and 2 Video Planes.
 36 
 37   VPP: Video Post Processing
 38   --------------------------
 39 
 40   The Video Post Processing is in charge of the scaling and blending of the
 41   various planes into a single pixel stream.
 42   There is a special "pre-blending" used by the video planes with a dedicated
 43   scaler and a "post-blending" to merge with the OSD Planes.
 44   The OSD planes also have a dedicated scaler for one of the OSD.
 45 
 46   VENC: Video Encoders
 47   --------------------
 48 
 49   The VENC is composed of the multiple pixel encoders
 50    - ENCI : Interlace Video encoder for CVBS and Interlace HDMI
 51    - ENCP : Progressive Video Encoder for HDMI
 52    - ENCL : LCD LVDS Encoder
 53   The VENC Unit gets a Pixel Clocks (VCLK) from a dedicated HDMI PLL and clock
 54   tree and provides the scanout clock to the VPP and VIU.
 55   The ENCI is connected to a single VDAC for Composite Output.
 56   The ENCI and ENCP are connected to an on-chip HDMI Transceiver.
 57 
 58 properties:
 59   compatible:
 60     oneOf:
 61       - items:
 62           - enum:
 63               - amlogic,meson-gxbb-vpu # GXBB (S905)
 64               - amlogic,meson-gxl-vpu # GXL (S905X, S905D)
 65               - amlogic,meson-gxm-vpu # GXM (S912)
 66           - const: amlogic,meson-gx-vpu
 67       - enum:
 68           - amlogic,meson-g12a-vpu # G12A (S905X2, S905Y2, S905D2)
 69 
 70   reg:
 71     maxItems: 2
 72 
 73   reg-names:
 74     items:
 75       - const: vpu
 76       - const: hhi
 77 
 78   interrupts:
 79     maxItems: 1
 80 
 81   amlogic,canvas:
 82     description: should point to a canvas provider node
 83     $ref: /schemas/types.yaml#/definitions/phandle
 84 
 85   power-domains:
 86     maxItems: 1
 87     description: phandle to the associated power domain
 88 
 89   port@0:
 90     $ref: /schemas/graph.yaml#/properties/port
 91     description:
 92       A port node pointing to the CVBS VDAC port node.
 93 
 94   port@1:
 95     $ref: /schemas/graph.yaml#/properties/port
 96     description:
 97       A port node pointing to the HDMI-TX port node.
 98 
 99   port@2:
100     $ref: /schemas/graph.yaml#/properties/port
101     description:
102       A port node pointing to the DPI port node (e.g. DSI or LVDS transceiver).
103 
104   "#address-cells":
105     const: 1
106 
107   "#size-cells":
108     const: 0
109 
110 required:
111   - compatible
112   - reg
113   - interrupts
114   - port@0
115   - port@1
116   - "#address-cells"
117   - "#size-cells"
118   - amlogic,canvas
119 
120 additionalProperties: false
121 
122 examples:
123   - |
124     vpu: vpu@d0100000 {
125         compatible = "amlogic,meson-gxbb-vpu", "amlogic,meson-gx-vpu";
126         reg = <0xd0100000 0x100000>, <0xc883c000 0x1000>;
127         reg-names = "vpu", "hhi";
128         interrupts = <3>;
129         #address-cells = <1>;
130         #size-cells = <0>;
131         amlogic,canvas = <&canvas>;
132 
133         /* CVBS VDAC output port */
134         port@0 {
135             reg = <0>;
136 
137             cvbs_vdac_out: endpoint {
138                 remote-endpoint = <&tv_connector_in>;
139             };
140         };
141 
142         /* HDMI TX output port */
143         port@1 {
144             reg = <1>;
145 
146             hdmi_tx_out: endpoint {
147                 remote-endpoint = <&hdmi_tx_in>;
148             };
149         };
150     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php