7aa330dabc446e8823bd81ffeef7f3dd5fb1cb21
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / display / allwinner,sun6i-a31-mipi-dsi.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/display/allwinner,sun6i-a31-mipi-dsi.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Allwinner A31 MIPI-DSI Controller Device Tree Bindings
8
9 maintainers:
10   - Chen-Yu Tsai <wens@csie.org>
11   - Maxime Ripard <mripard@kernel.org>
12
13 properties:
14   compatible:
15     enum:
16       - allwinner,sun6i-a31-mipi-dsi
17       - allwinner,sun50i-a64-mipi-dsi
18
19   reg:
20     maxItems: 1
21
22   interrupts:
23     maxItems: 1
24
25   clocks:
26     minItems: 1
27     maxItems: 2
28     items:
29       - description: Bus Clock
30       - description: Module Clock
31
32   clock-names:
33     items:
34       - const: bus
35       - const: mod
36
37   resets:
38     maxItems: 1
39
40   vcc-dsi-supply:
41     description: VCC-DSI power supply of the DSI encoder
42
43   phys:
44     maxItems: 1
45
46   phy-names:
47     const: dphy
48
49   port:
50     type: object
51     description:
52       A port node with endpoint definitions as defined in
53       Documentation/devicetree/bindings/media/video-interfaces.txt. That
54       port should be the input endpoint, usually coming from the
55       associated TCON.
56
57 required:
58   - compatible
59   - reg
60   - interrupts
61   - clocks
62   - phys
63   - phy-names
64   - resets
65   - vcc-dsi-supply
66   - port
67
68 allOf:
69   - $ref: dsi-controller.yaml#
70   - if:
71       properties:
72         compatible:
73           contains:
74             const: allwinner,sun6i-a31-mipi-dsi
75
76     then:
77       properties:
78         clocks:
79           minItems: 2
80
81       required:
82         - clock-names
83
84   - if:
85       properties:
86         compatible:
87           contains:
88             const: allwinner,sun50i-a64-mipi-dsi
89
90     then:
91       properties:
92         clocks:
93           minItems: 1
94
95 unevaluatedProperties: false
96
97 examples:
98   - |
99     dsi0: dsi@1ca0000 {
100         compatible = "allwinner,sun6i-a31-mipi-dsi";
101         reg = <0x01ca0000 0x1000>;
102         interrupts = <0 89 4>;
103         clocks = <&ccu 23>, <&ccu 96>;
104         clock-names = "bus", "mod";
105         resets = <&ccu 4>;
106         phys = <&dphy0>;
107         phy-names = "dphy";
108         vcc-dsi-supply = <&reg_dcdc1>;
109         #address-cells = <1>;
110         #size-cells = <0>;
111
112         panel@0 {
113                 compatible = "bananapi,lhr050h41", "ilitek,ili9881c";
114                 reg = <0>;
115                 power-supply = <&reg_display>;
116                 reset-gpios = <&r_pio 0 5 1>; /* PL05 */
117                 backlight = <&pwm_bl>;
118         };
119
120         port {
121             dsi0_in_tcon0: endpoint {
122                 remote-endpoint = <&tcon0_out_dsi0>;
123             };
124         };
125     };
126
127 ...