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>
115c7404bbSMaxime Ripard  - Maxime Ripard <mripard@kernel.org>
12c25b84c0SMaxime Ripard
13c25b84c0SMaxime Ripardproperties:
14c25b84c0SMaxime Ripard  compatible:
15fe5040f2SJagan Teki    enum:
16fe5040f2SJagan Teki      - allwinner,sun6i-a31-mipi-dsi
17fe5040f2SJagan Teki      - allwinner,sun50i-a64-mipi-dsi
18c25b84c0SMaxime Ripard
19c25b84c0SMaxime Ripard  reg:
20c25b84c0SMaxime Ripard    maxItems: 1
21c25b84c0SMaxime Ripard
22c25b84c0SMaxime Ripard  interrupts:
23c25b84c0SMaxime Ripard    maxItems: 1
24c25b84c0SMaxime Ripard
25c25b84c0SMaxime Ripard  clocks:
26fe5040f2SJagan Teki    minItems: 1
27fe5040f2SJagan Teki    maxItems: 2
28c25b84c0SMaxime Ripard    items:
29c25b84c0SMaxime Ripard      - description: Bus Clock
30c25b84c0SMaxime Ripard      - description: Module Clock
31c25b84c0SMaxime Ripard
32c25b84c0SMaxime Ripard  clock-names:
33c25b84c0SMaxime Ripard    items:
34c25b84c0SMaxime Ripard      - const: bus
35c25b84c0SMaxime Ripard      - const: mod
36c25b84c0SMaxime Ripard
37c25b84c0SMaxime Ripard  resets:
38c25b84c0SMaxime Ripard    maxItems: 1
39c25b84c0SMaxime Ripard
408a317f22SJagan Teki  vcc-dsi-supply:
418a317f22SJagan Teki    description: VCC-DSI power supply of the DSI encoder
428a317f22SJagan Teki
43c25b84c0SMaxime Ripard  phys:
44c25b84c0SMaxime Ripard    maxItems: 1
45c25b84c0SMaxime Ripard
46c25b84c0SMaxime Ripard  phy-names:
47c25b84c0SMaxime Ripard    const: dphy
48c25b84c0SMaxime Ripard
49c25b84c0SMaxime Ripard  port:
50*b6755423SRob Herring    $ref: /schemas/graph.yaml#/properties/port
51c25b84c0SMaxime Ripard    description:
52*b6755423SRob Herring      The port should be the input endpoint, usually coming from the
53c25b84c0SMaxime Ripard      associated TCON.
54c25b84c0SMaxime Ripard
55c25b84c0SMaxime Ripardrequired:
56c25b84c0SMaxime Ripard  - compatible
57c25b84c0SMaxime Ripard  - reg
58c25b84c0SMaxime Ripard  - interrupts
59c25b84c0SMaxime Ripard  - clocks
60c25b84c0SMaxime Ripard  - phys
61c25b84c0SMaxime Ripard  - phy-names
62c25b84c0SMaxime Ripard  - resets
638a317f22SJagan Teki  - vcc-dsi-supply
64c25b84c0SMaxime Ripard  - port
65c25b84c0SMaxime Ripard
66fe5040f2SJagan TekiallOf:
6724d59795SRob Herring  - $ref: dsi-controller.yaml#
68fe5040f2SJagan Teki  - if:
69fe5040f2SJagan Teki      properties:
70fe5040f2SJagan Teki        compatible:
71fe5040f2SJagan Teki          contains:
72fe5040f2SJagan Teki            const: allwinner,sun6i-a31-mipi-dsi
73fe5040f2SJagan Teki
74fe5040f2SJagan Teki    then:
75fe5040f2SJagan Teki      properties:
76fe5040f2SJagan Teki        clocks:
77fe5040f2SJagan Teki          minItems: 2
78fe5040f2SJagan Teki
79fe5040f2SJagan Teki      required:
80fe5040f2SJagan Teki        - clock-names
81fe5040f2SJagan Teki
82fe5040f2SJagan Teki  - if:
83fe5040f2SJagan Teki      properties:
84fe5040f2SJagan Teki        compatible:
85fe5040f2SJagan Teki          contains:
86fe5040f2SJagan Teki            const: allwinner,sun50i-a64-mipi-dsi
87fe5040f2SJagan Teki
88fe5040f2SJagan Teki    then:
89fe5040f2SJagan Teki      properties:
90fe5040f2SJagan Teki        clocks:
91fe5040f2SJagan Teki          minItems: 1
92fe5040f2SJagan Teki
9324d59795SRob HerringunevaluatedProperties: false
94c25b84c0SMaxime Ripard
95c25b84c0SMaxime Ripardexamples:
96c25b84c0SMaxime Ripard  - |
97c25b84c0SMaxime Ripard    dsi0: dsi@1ca0000 {
98c25b84c0SMaxime Ripard        compatible = "allwinner,sun6i-a31-mipi-dsi";
99c25b84c0SMaxime Ripard        reg = <0x01ca0000 0x1000>;
100c25b84c0SMaxime Ripard        interrupts = <0 89 4>;
101c25b84c0SMaxime Ripard        clocks = <&ccu 23>, <&ccu 96>;
102c25b84c0SMaxime Ripard        clock-names = "bus", "mod";
103c25b84c0SMaxime Ripard        resets = <&ccu 4>;
104c25b84c0SMaxime Ripard        phys = <&dphy0>;
105c25b84c0SMaxime Ripard        phy-names = "dphy";
1068a317f22SJagan Teki        vcc-dsi-supply = <&reg_dcdc1>;
107c25b84c0SMaxime Ripard        #address-cells = <1>;
108c25b84c0SMaxime Ripard        #size-cells = <0>;
109c25b84c0SMaxime Ripard
110c25b84c0SMaxime Ripard        panel@0 {
111c25b84c0SMaxime Ripard                compatible = "bananapi,lhr050h41", "ilitek,ili9881c";
112c25b84c0SMaxime Ripard                reg = <0>;
113ba98fc38SSam Ravnborg                power-supply = <&reg_display>;
114c25b84c0SMaxime Ripard                reset-gpios = <&r_pio 0 5 1>; /* PL05 */
115c25b84c0SMaxime Ripard                backlight = <&pwm_bl>;
116c25b84c0SMaxime Ripard        };
117c25b84c0SMaxime Ripard
118c25b84c0SMaxime Ripard        port {
119c25b84c0SMaxime Ripard            dsi0_in_tcon0: endpoint {
120c25b84c0SMaxime Ripard                remote-endpoint = <&tcon0_out_dsi0>;
121c25b84c0SMaxime Ripard            };
122c25b84c0SMaxime Ripard        };
123c25b84c0SMaxime Ripard    };
124c25b84c0SMaxime Ripard
125c25b84c0SMaxime Ripard...
126