dt-bindings: add document for rk3399-vop
[firefly-linux-kernel-4.4.55.git] / Documentation / devicetree / bindings / display / rockchip / rockchip-vop.txt
1 device-tree bindings for rockchip soc display controller (vop)
2
3 VOP (Visual Output Processor) is the Display Controller for the Rockchip
4 series of SoCs which transfers the image data from a video memory
5 buffer to an external LCD interface.
6
7 Required properties:
8 - compatible: value should be one of the following
9                 "rockchip,rk3288-vop";
10                 "rockchip,rk3399-vop-big";
11                 "rockchip,rk3399-vop-lit";
12
13 - interrupts: should contain a list of all VOP IP block interrupts in the
14                  order: VSYNC, LCD_SYSTEM. The interrupt specifier
15                  format depends on the interrupt controller used.
16
17 - clocks: must include clock specifiers corresponding to entries in the
18                 clock-names property.
19
20 - clock-names: Must contain
21                 aclk_vop: for ddr buffer transfer.
22                 hclk_vop: for ahb bus to R/W the phy regs.
23                 dclk_vop: pixel clock.
24
25 - resets: Must contain an entry for each entry in reset-names.
26   See ../reset/reset.txt for details.
27 - reset-names: Must include the following entries:
28   - axi
29   - ahb
30   - dclk
31
32 - iommus: required a iommu node
33
34 - port: A port node with endpoint definitions as defined in
35   Documentation/devicetree/bindings/media/video-interfaces.txt.
36
37 Example:
38 SoC specific DT entry:
39         vopb: vopb@ff930000 {
40                 compatible = "rockchip,rk3288-vop";
41                 reg = <0xff930000 0x19c>;
42                 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
43                 clocks = <&cru ACLK_VOP0>, <&cru DCLK_VOP0>, <&cru HCLK_VOP0>;
44                 clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
45                 resets = <&cru SRST_LCDC1_AXI>, <&cru SRST_LCDC1_AHB>, <&cru SRST_LCDC1_DCLK>;
46                 reset-names = "axi", "ahb", "dclk";
47                 iommus = <&vopb_mmu>;
48                 vopb_out: port {
49                         #address-cells = <1>;
50                         #size-cells = <0>;
51                         vopb_out_edp: endpoint@0 {
52                                 reg = <0>;
53                                 remote-endpoint=<&edp_in_vopb>;
54                         };
55                         vopb_out_hdmi: endpoint@1 {
56                                 reg = <1>;
57                                 remote-endpoint=<&hdmi_in_vopb>;
58                         };
59                 };
60         };