Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/display/allwinner,sun4i-a10-hdmi.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Allwinner A10 HDMI Controller Device Tree Bindings
0008 
0009 description: |
0010   The HDMI Encoder supports the HDMI video and audio outputs, and does
0011   CEC. It is one end of the pipeline.
0012 
0013 maintainers:
0014   - Chen-Yu Tsai <wens@csie.org>
0015   - Maxime Ripard <mripard@kernel.org>
0016 
0017 properties:
0018   compatible:
0019     oneOf:
0020       - const: allwinner,sun4i-a10-hdmi
0021       - const: allwinner,sun5i-a10s-hdmi
0022       - const: allwinner,sun6i-a31-hdmi
0023       - items:
0024           - const: allwinner,sun7i-a20-hdmi
0025           - const: allwinner,sun5i-a10s-hdmi
0026 
0027   reg:
0028     maxItems: 1
0029 
0030   interrupts:
0031     maxItems: 1
0032 
0033   clocks:
0034     oneOf:
0035       - items:
0036           - description: The HDMI interface clock
0037           - description: The HDMI module clock
0038           - description: The first video PLL
0039           - description: The second video PLL
0040 
0041       - items:
0042           - description: The HDMI interface clock
0043           - description: The HDMI module clock
0044           - description: The HDMI DDC clock
0045           - description: The first video PLL
0046           - description: The second video PLL
0047 
0048   clock-names:
0049     oneOf:
0050       - items:
0051           - const: ahb
0052           - const: mod
0053           - const: pll-0
0054           - const: pll-1
0055 
0056       - items:
0057           - const: ahb
0058           - const: mod
0059           - const: ddc
0060           - const: pll-0
0061           - const: pll-1
0062 
0063   resets:
0064     maxItems: 1
0065 
0066   dmas:
0067     items:
0068       - description: DDC Transmission DMA Channel
0069       - description: DDC Reception DMA Channel
0070       - description: Audio Transmission DMA Channel
0071 
0072   dma-names:
0073     items:
0074       - const: ddc-tx
0075       - const: ddc-rx
0076       - const: audio-tx
0077 
0078   ports:
0079     $ref: /schemas/graph.yaml#/properties/ports
0080 
0081     properties:
0082       port@0:
0083         $ref: /schemas/graph.yaml#/properties/port
0084         description: |
0085           Input endpoints of the controller.
0086 
0087       port@1:
0088         $ref: /schemas/graph.yaml#/properties/port
0089         description: |
0090           Output endpoints of the controller. Usually an HDMI
0091           connector.
0092 
0093     required:
0094       - port@0
0095       - port@1
0096 
0097 required:
0098   - compatible
0099   - reg
0100   - interrupts
0101   - clocks
0102   - clock-names
0103   - dmas
0104   - dma-names
0105 
0106 if:
0107   properties:
0108     compatible:
0109       contains:
0110         const: allwinner,sun6i-a31-hdmi
0111 
0112 then:
0113   properties:
0114     clocks:
0115       minItems: 5
0116 
0117     clock-names:
0118       minItems: 5
0119 
0120   required:
0121     - resets
0122 
0123 additionalProperties: false
0124 
0125 examples:
0126   - |
0127     #include <dt-bindings/clock/sun4i-a10-ccu.h>
0128     #include <dt-bindings/dma/sun4i-a10.h>
0129     #include <dt-bindings/reset/sun4i-a10-ccu.h>
0130 
0131     hdmi: hdmi@1c16000 {
0132         compatible = "allwinner,sun4i-a10-hdmi";
0133         reg = <0x01c16000 0x1000>;
0134         interrupts = <58>;
0135         clocks = <&ccu CLK_AHB_HDMI0>, <&ccu CLK_HDMI>,
0136                  <&ccu CLK_PLL_VIDEO0_2X>,
0137                  <&ccu CLK_PLL_VIDEO1_2X>;
0138         clock-names = "ahb", "mod", "pll-0", "pll-1";
0139         dmas = <&dma SUN4I_DMA_NORMAL 16>,
0140                <&dma SUN4I_DMA_NORMAL 16>,
0141                <&dma SUN4I_DMA_DEDICATED 24>;
0142         dma-names = "ddc-tx", "ddc-rx", "audio-tx";
0143 
0144         ports {
0145             #address-cells = <1>;
0146             #size-cells = <0>;
0147 
0148             hdmi_in: port@0 {
0149                 #address-cells = <1>;
0150                 #size-cells = <0>;
0151                 reg = <0>;
0152 
0153                 hdmi_in_tcon0: endpoint@0 {
0154                     reg = <0>;
0155                     remote-endpoint = <&tcon0_out_hdmi>;
0156                 };
0157 
0158                 hdmi_in_tcon1: endpoint@1 {
0159                     reg = <1>;
0160                     remote-endpoint = <&tcon1_out_hdmi>;
0161                 };
0162             };
0163 
0164             hdmi_out: port@1 {
0165                 reg = <1>;
0166             };
0167         };
0168     };
0169 
0170 ...