hc
2023-02-14 0cc9b7c44253c93447ddf73e206fbdbb3d9f16b1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
device-tree bindings for rockchip soc display controller (vop)
 
VOP (Visual Output Processor) is the Display Controller for the Rockchip
series of SoCs which transfers the image data from a video memory
buffer to an external LCD interface.
 
Required properties:
- compatible: value should be one of the following
       "rockchip,rk3036-vop";
       "rockchip,rk3066-vop";
       "rockchip,rk3126-vop";
       "rockchip,px30-vop-big";
       "rockchip,px30-vop-lit";
       "rockchip,rk3308-vop";
       "rockchip,rk1808-vop-lit";
       "rockchip,rk1808-vop-raw";
       "rockchip,rv1126-vop";
       "rockchip,rk3288-vop-lit";
       "rockchip,rk3288-vop-big";
       "rockchip,rk3368-vop";
       "rockchip,rk3366-vop";
       "rockchip,rk3399-vop-big";
       "rockchip,rk3399-vop-lit";
       "rockchip,rk3228-vop";
       "rockchip,rk3328-vop";
 
- reg: Address and length of the register set for the device.
- reg-names: The names of register regions. contain following regions:
  - "regs" : (Required) Base address and size of the controllers.
  - "gamma_lut" : (Optional) gamma function lut table registers,
                   take care of this register's length, driver would use
                   register's length to decide gamma table size.
 
- interrupts: should contain a list of all VOP IP block interrupts in the
        order: VSYNC, LCD_SYSTEM. The interrupt specifier
        format depends on the interrupt controller used.
 
- clocks: must include clock specifiers corresponding to entries in the
       clock-names property.
 
- clock-names: Must contain
       aclk_vop: for ddr buffer transfer.
       hclk_vop: for ahb bus to R/W the phy regs.
       dclk_vop: pixel clock.
       dclk_source: optional, dclk sources from display plls.
 
- resets: Must contain an entry for each entry in reset-names.
  See ../reset/reset.txt for details.
- reset-names: Must include the following entries:
  - axi
  - ahb
  - dclk
 
- iommus: required a iommu node
 
- port: A port node with endpoint definitions as defined in
  Documentation/devicetree/bindings/media/video-interfaces.txt.
- rockchip,dual-channel-swap: boolean, optional config for vop dual channel swap
 
Example:
SoC specific DT entry:
   vopb: vopb@ff930000 {
       compatible = "rockchip,rk3288-vop";
       reg = <0xff930000 0x19c>, <0xff931000 0x1000>;
       reg-names = "regs", "gamma_lut";
       interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
       clocks = <&cru ACLK_VOP0>, <&cru DCLK_VOP0>, <&cru HCLK_VOP0>;
       clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
       resets = <&cru SRST_LCDC1_AXI>, <&cru SRST_LCDC1_AHB>, <&cru SRST_LCDC1_DCLK>;
       reset-names = "axi", "ahb", "dclk";
       iommus = <&vopb_mmu>;
       vopb_out: port {
           #address-cells = <1>;
           #size-cells = <0>;
           vopb_out_edp: endpoint@0 {
               reg = <0>;
               remote-endpoint=<&edp_in_vopb>;
           };
           vopb_out_hdmi: endpoint@1 {
               reg = <1>;
               remote-endpoint=<&hdmi_in_vopb>;
           };
       };
   };