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
7title: Allwinner A31 MIPI-DSI Controller Device Tree Bindings
8
9maintainers:
10  - Chen-Yu Tsai <wens@csie.org>
11  - Maxime Ripard <mripard@kernel.org>
12
13properties:
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    $ref: /schemas/graph.yaml#/properties/port
51    description:
52      The port should be the input endpoint, usually coming from the
53      associated TCON.
54
55required:
56  - compatible
57  - reg
58  - interrupts
59  - clocks
60  - phys
61  - phy-names
62  - resets
63  - vcc-dsi-supply
64  - port
65
66allOf:
67  - $ref: dsi-controller.yaml#
68  - if:
69      properties:
70        compatible:
71          contains:
72            const: allwinner,sun6i-a31-mipi-dsi
73
74    then:
75      properties:
76        clocks:
77          minItems: 2
78
79      required:
80        - clock-names
81
82  - if:
83      properties:
84        compatible:
85          contains:
86            const: allwinner,sun50i-a64-mipi-dsi
87
88    then:
89      properties:
90        clocks:
91          minItems: 1
92
93unevaluatedProperties: false
94
95examples:
96  - |
97    dsi0: dsi@1ca0000 {
98        compatible = "allwinner,sun6i-a31-mipi-dsi";
99        reg = <0x01ca0000 0x1000>;
100        interrupts = <0 89 4>;
101        clocks = <&ccu 23>, <&ccu 96>;
102        clock-names = "bus", "mod";
103        resets = <&ccu 4>;
104        phys = <&dphy0>;
105        phy-names = "dphy";
106        vcc-dsi-supply = <&reg_dcdc1>;
107        #address-cells = <1>;
108        #size-cells = <0>;
109
110        panel@0 {
111                compatible = "bananapi,lhr050h41", "ilitek,ili9881c";
112                reg = <0>;
113                power-supply = <&reg_display>;
114                reset-gpios = <&r_pio 0 5 1>; /* PL05 */
115                backlight = <&pwm_bl>;
116        };
117
118        port {
119            dsi0_in_tcon0: endpoint {
120                remote-endpoint = <&tcon0_out_dsi0>;
121            };
122        };
123    };
124
125...
126