xref: /linux/Documentation/devicetree/bindings/display/allwinner,sun6i-a31-mipi-dsi.yaml (revision 24d5979549d26227f3209d05a715a91d68649e80)
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:
50c25b84c0SMaxime Ripard    type: object
51c25b84c0SMaxime Ripard    description:
52c25b84c0SMaxime Ripard      A port node with endpoint definitions as defined in
53c25b84c0SMaxime Ripard      Documentation/devicetree/bindings/media/video-interfaces.txt. That
54c25b84c0SMaxime Ripard      port should be the input endpoint, usually coming from the
55c25b84c0SMaxime Ripard      associated TCON.
56c25b84c0SMaxime Ripard
57c25b84c0SMaxime Ripardrequired:
58c25b84c0SMaxime Ripard  - compatible
59c25b84c0SMaxime Ripard  - reg
60c25b84c0SMaxime Ripard  - interrupts
61c25b84c0SMaxime Ripard  - clocks
62c25b84c0SMaxime Ripard  - phys
63c25b84c0SMaxime Ripard  - phy-names
64c25b84c0SMaxime Ripard  - resets
658a317f22SJagan Teki  - vcc-dsi-supply
66c25b84c0SMaxime Ripard  - port
67c25b84c0SMaxime Ripard
68fe5040f2SJagan TekiallOf:
6924d59795SRob Herring  - $ref: dsi-controller.yaml#
70fe5040f2SJagan Teki  - if:
71fe5040f2SJagan Teki      properties:
72fe5040f2SJagan Teki        compatible:
73fe5040f2SJagan Teki          contains:
74fe5040f2SJagan Teki            const: allwinner,sun6i-a31-mipi-dsi
75fe5040f2SJagan Teki
76fe5040f2SJagan Teki    then:
77fe5040f2SJagan Teki      properties:
78fe5040f2SJagan Teki        clocks:
79fe5040f2SJagan Teki          minItems: 2
80fe5040f2SJagan Teki
81fe5040f2SJagan Teki      required:
82fe5040f2SJagan Teki        - clock-names
83fe5040f2SJagan Teki
84fe5040f2SJagan Teki  - if:
85fe5040f2SJagan Teki      properties:
86fe5040f2SJagan Teki        compatible:
87fe5040f2SJagan Teki          contains:
88fe5040f2SJagan Teki            const: allwinner,sun50i-a64-mipi-dsi
89fe5040f2SJagan Teki
90fe5040f2SJagan Teki    then:
91fe5040f2SJagan Teki      properties:
92fe5040f2SJagan Teki        clocks:
93fe5040f2SJagan Teki          minItems: 1
94fe5040f2SJagan Teki
9524d59795SRob HerringunevaluatedProperties: false
96c25b84c0SMaxime Ripard
97c25b84c0SMaxime Ripardexamples:
98c25b84c0SMaxime Ripard  - |
99c25b84c0SMaxime Ripard    dsi0: dsi@1ca0000 {
100c25b84c0SMaxime Ripard        compatible = "allwinner,sun6i-a31-mipi-dsi";
101c25b84c0SMaxime Ripard        reg = <0x01ca0000 0x1000>;
102c25b84c0SMaxime Ripard        interrupts = <0 89 4>;
103c25b84c0SMaxime Ripard        clocks = <&ccu 23>, <&ccu 96>;
104c25b84c0SMaxime Ripard        clock-names = "bus", "mod";
105c25b84c0SMaxime Ripard        resets = <&ccu 4>;
106c25b84c0SMaxime Ripard        phys = <&dphy0>;
107c25b84c0SMaxime Ripard        phy-names = "dphy";
1088a317f22SJagan Teki        vcc-dsi-supply = <&reg_dcdc1>;
109c25b84c0SMaxime Ripard        #address-cells = <1>;
110c25b84c0SMaxime Ripard        #size-cells = <0>;
111c25b84c0SMaxime Ripard
112c25b84c0SMaxime Ripard        panel@0 {
113c25b84c0SMaxime Ripard                compatible = "bananapi,lhr050h41", "ilitek,ili9881c";
114c25b84c0SMaxime Ripard                reg = <0>;
115ba98fc38SSam Ravnborg                power-supply = <&reg_display>;
116c25b84c0SMaxime Ripard                reset-gpios = <&r_pio 0 5 1>; /* PL05 */
117c25b84c0SMaxime Ripard                backlight = <&pwm_bl>;
118c25b84c0SMaxime Ripard        };
119c25b84c0SMaxime Ripard
120c25b84c0SMaxime Ripard        port {
121c25b84c0SMaxime Ripard            dsi0_in_tcon0: endpoint {
122c25b84c0SMaxime Ripard                remote-endpoint = <&tcon0_out_dsi0>;
123c25b84c0SMaxime Ripard            };
124c25b84c0SMaxime Ripard        };
125c25b84c0SMaxime Ripard    };
126c25b84c0SMaxime Ripard
127c25b84c0SMaxime Ripard...
128