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