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
7dd3cb467SAndrew Lunntitle: Allwinner A31 MIPI-DSI Controller
8c25b84c0SMaxime Ripard
9c25b84c0SMaxime Ripardmaintainers:
10c25b84c0SMaxime Ripard  - Chen-Yu Tsai <wens@csie.org>
115c7404bbSMaxime Ripard  - Maxime Ripard <mripard@kernel.org>
12c25b84c0SMaxime Ripard
13c25b84c0SMaxime Ripardproperties:
14c25b84c0SMaxime Ripard  compatible:
15*c1c7b394SSamuel Holland    oneOf:
16*c1c7b394SSamuel Holland      - enum:
17fe5040f2SJagan Teki          - allwinner,sun6i-a31-mipi-dsi
18fe5040f2SJagan Teki          - allwinner,sun50i-a64-mipi-dsi
19*c1c7b394SSamuel Holland          - allwinner,sun50i-a100-mipi-dsi
20*c1c7b394SSamuel Holland      - items:
21*c1c7b394SSamuel Holland          - const: allwinner,sun20i-d1-mipi-dsi
22*c1c7b394SSamuel Holland          - const: allwinner,sun50i-a100-mipi-dsi
23c25b84c0SMaxime Ripard
24c25b84c0SMaxime Ripard  reg:
25c25b84c0SMaxime Ripard    maxItems: 1
26c25b84c0SMaxime Ripard
27c25b84c0SMaxime Ripard  interrupts:
28c25b84c0SMaxime Ripard    maxItems: 1
29c25b84c0SMaxime Ripard
30c25b84c0SMaxime Ripard  clocks:
31fe5040f2SJagan Teki    minItems: 1
32c25b84c0SMaxime Ripard    items:
33c25b84c0SMaxime Ripard      - description: Bus Clock
34c25b84c0SMaxime Ripard      - description: Module Clock
35c25b84c0SMaxime Ripard
36c25b84c0SMaxime Ripard  clock-names:
37c25b84c0SMaxime Ripard    items:
38c25b84c0SMaxime Ripard      - const: bus
39c25b84c0SMaxime Ripard      - const: mod
40c25b84c0SMaxime Ripard
41c25b84c0SMaxime Ripard  resets:
42c25b84c0SMaxime Ripard    maxItems: 1
43c25b84c0SMaxime Ripard
448a317f22SJagan Teki  vcc-dsi-supply:
458a317f22SJagan Teki    description: VCC-DSI power supply of the DSI encoder
468a317f22SJagan Teki
47c25b84c0SMaxime Ripard  phys:
48c25b84c0SMaxime Ripard    maxItems: 1
49c25b84c0SMaxime Ripard
50c25b84c0SMaxime Ripard  phy-names:
51c25b84c0SMaxime Ripard    const: dphy
52c25b84c0SMaxime Ripard
53c25b84c0SMaxime Ripard  port:
54b6755423SRob Herring    $ref: /schemas/graph.yaml#/properties/port
55c25b84c0SMaxime Ripard    description:
56b6755423SRob Herring      The port should be the input endpoint, usually coming from the
57c25b84c0SMaxime Ripard      associated TCON.
58c25b84c0SMaxime Ripard
59c25b84c0SMaxime Ripardrequired:
60c25b84c0SMaxime Ripard  - compatible
61c25b84c0SMaxime Ripard  - reg
62c25b84c0SMaxime Ripard  - interrupts
63c25b84c0SMaxime Ripard  - clocks
64c25b84c0SMaxime Ripard  - phys
65c25b84c0SMaxime Ripard  - phy-names
66c25b84c0SMaxime Ripard  - resets
67c25b84c0SMaxime Ripard  - port
68c25b84c0SMaxime Ripard
69fe5040f2SJagan TekiallOf:
7024d59795SRob Herring  - $ref: dsi-controller.yaml#
71fe5040f2SJagan Teki  - if:
72fe5040f2SJagan Teki      properties:
73fe5040f2SJagan Teki        compatible:
74fe5040f2SJagan Teki          contains:
75*c1c7b394SSamuel Holland            enum:
76*c1c7b394SSamuel Holland              - allwinner,sun6i-a31-mipi-dsi
77*c1c7b394SSamuel Holland              - allwinner,sun50i-a100-mipi-dsi
78fe5040f2SJagan Teki
79fe5040f2SJagan Teki    then:
80fe5040f2SJagan Teki      properties:
81fe5040f2SJagan Teki        clocks:
82fe5040f2SJagan Teki          minItems: 2
83fe5040f2SJagan Teki
84fe5040f2SJagan Teki      required:
85fe5040f2SJagan Teki        - clock-names
86fe5040f2SJagan Teki
87f7931b03SSamuel Holland    else:
88fe5040f2SJagan Teki      properties:
89fe5040f2SJagan Teki        clocks:
90f7931b03SSamuel Holland          maxItems: 1
91fe5040f2SJagan Teki
92*c1c7b394SSamuel Holland  - if:
93*c1c7b394SSamuel Holland      properties:
94*c1c7b394SSamuel Holland        compatible:
95*c1c7b394SSamuel Holland          contains:
96*c1c7b394SSamuel Holland            enum:
97*c1c7b394SSamuel Holland              - allwinner,sun6i-a31-mipi-dsi
98*c1c7b394SSamuel Holland              - allwinner,sun50i-a64-mipi-dsi
99*c1c7b394SSamuel Holland
100*c1c7b394SSamuel Holland    then:
101*c1c7b394SSamuel Holland      required:
102*c1c7b394SSamuel Holland        - vcc-dsi-supply
103*c1c7b394SSamuel Holland
10424d59795SRob HerringunevaluatedProperties: false
105c25b84c0SMaxime Ripard
106c25b84c0SMaxime Ripardexamples:
107c25b84c0SMaxime Ripard  - |
108c25b84c0SMaxime Ripard    dsi0: dsi@1ca0000 {
109c25b84c0SMaxime Ripard        compatible = "allwinner,sun6i-a31-mipi-dsi";
110c25b84c0SMaxime Ripard        reg = <0x01ca0000 0x1000>;
111c25b84c0SMaxime Ripard        interrupts = <0 89 4>;
112c25b84c0SMaxime Ripard        clocks = <&ccu 23>, <&ccu 96>;
113c25b84c0SMaxime Ripard        clock-names = "bus", "mod";
114c25b84c0SMaxime Ripard        resets = <&ccu 4>;
115c25b84c0SMaxime Ripard        phys = <&dphy0>;
116c25b84c0SMaxime Ripard        phy-names = "dphy";
1178a317f22SJagan Teki        vcc-dsi-supply = <&reg_dcdc1>;
118c25b84c0SMaxime Ripard        #address-cells = <1>;
119c25b84c0SMaxime Ripard        #size-cells = <0>;
120c25b84c0SMaxime Ripard
121c25b84c0SMaxime Ripard        panel@0 {
122c25b84c0SMaxime Ripard                compatible = "bananapi,lhr050h41", "ilitek,ili9881c";
123c25b84c0SMaxime Ripard                reg = <0>;
124ba98fc38SSam Ravnborg                power-supply = <&reg_display>;
125c25b84c0SMaxime Ripard                reset-gpios = <&r_pio 0 5 1>; /* PL05 */
126c25b84c0SMaxime Ripard                backlight = <&pwm_bl>;
127c25b84c0SMaxime Ripard        };
128c25b84c0SMaxime Ripard
129c25b84c0SMaxime Ripard        port {
130c25b84c0SMaxime Ripard            dsi0_in_tcon0: endpoint {
131c25b84c0SMaxime Ripard                remote-endpoint = <&tcon0_out_dsi0>;
132c25b84c0SMaxime Ripard            };
133c25b84c0SMaxime Ripard        };
134c25b84c0SMaxime Ripard    };
135c25b84c0SMaxime Ripard
136c25b84c0SMaxime Ripard...
137