18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/display/allwinner,sun6i-a31-mipi-dsi.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Allwinner A31 MIPI-DSI Controller Device Tree Bindings
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Chen-Yu Tsai <wens@csie.org>
118c2ecf20Sopenharmony_ci  - Maxime Ripard <mripard@kernel.org>
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciproperties:
148c2ecf20Sopenharmony_ci  compatible:
158c2ecf20Sopenharmony_ci    enum:
168c2ecf20Sopenharmony_ci      - allwinner,sun6i-a31-mipi-dsi
178c2ecf20Sopenharmony_ci      - allwinner,sun50i-a64-mipi-dsi
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci  reg:
208c2ecf20Sopenharmony_ci    maxItems: 1
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci  interrupts:
238c2ecf20Sopenharmony_ci    maxItems: 1
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci  clocks:
268c2ecf20Sopenharmony_ci    minItems: 1
278c2ecf20Sopenharmony_ci    maxItems: 2
288c2ecf20Sopenharmony_ci    items:
298c2ecf20Sopenharmony_ci      - description: Bus Clock
308c2ecf20Sopenharmony_ci      - description: Module Clock
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci  clock-names:
338c2ecf20Sopenharmony_ci    items:
348c2ecf20Sopenharmony_ci      - const: bus
358c2ecf20Sopenharmony_ci      - const: mod
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci  resets:
388c2ecf20Sopenharmony_ci    maxItems: 1
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci  vcc-dsi-supply:
418c2ecf20Sopenharmony_ci    description: VCC-DSI power supply of the DSI encoder
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ci  phys:
448c2ecf20Sopenharmony_ci    maxItems: 1
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci  phy-names:
478c2ecf20Sopenharmony_ci    const: dphy
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci  port:
508c2ecf20Sopenharmony_ci    type: object
518c2ecf20Sopenharmony_ci    description:
528c2ecf20Sopenharmony_ci      A port node with endpoint definitions as defined in
538c2ecf20Sopenharmony_ci      Documentation/devicetree/bindings/media/video-interfaces.txt. That
548c2ecf20Sopenharmony_ci      port should be the input endpoint, usually coming from the
558c2ecf20Sopenharmony_ci      associated TCON.
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_cirequired:
588c2ecf20Sopenharmony_ci  - compatible
598c2ecf20Sopenharmony_ci  - reg
608c2ecf20Sopenharmony_ci  - interrupts
618c2ecf20Sopenharmony_ci  - clocks
628c2ecf20Sopenharmony_ci  - phys
638c2ecf20Sopenharmony_ci  - phy-names
648c2ecf20Sopenharmony_ci  - resets
658c2ecf20Sopenharmony_ci  - vcc-dsi-supply
668c2ecf20Sopenharmony_ci  - port
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ciallOf:
698c2ecf20Sopenharmony_ci  - $ref: dsi-controller.yaml#
708c2ecf20Sopenharmony_ci  - if:
718c2ecf20Sopenharmony_ci      properties:
728c2ecf20Sopenharmony_ci        compatible:
738c2ecf20Sopenharmony_ci          contains:
748c2ecf20Sopenharmony_ci            const: allwinner,sun6i-a31-mipi-dsi
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci    then:
778c2ecf20Sopenharmony_ci      properties:
788c2ecf20Sopenharmony_ci        clocks:
798c2ecf20Sopenharmony_ci          minItems: 2
808c2ecf20Sopenharmony_ci
818c2ecf20Sopenharmony_ci      required:
828c2ecf20Sopenharmony_ci        - clock-names
838c2ecf20Sopenharmony_ci
848c2ecf20Sopenharmony_ci  - if:
858c2ecf20Sopenharmony_ci      properties:
868c2ecf20Sopenharmony_ci        compatible:
878c2ecf20Sopenharmony_ci          contains:
888c2ecf20Sopenharmony_ci            const: allwinner,sun50i-a64-mipi-dsi
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ci    then:
918c2ecf20Sopenharmony_ci      properties:
928c2ecf20Sopenharmony_ci        clocks:
938c2ecf20Sopenharmony_ci          minItems: 1
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ciunevaluatedProperties: false
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ciexamples:
988c2ecf20Sopenharmony_ci  - |
998c2ecf20Sopenharmony_ci    dsi0: dsi@1ca0000 {
1008c2ecf20Sopenharmony_ci        compatible = "allwinner,sun6i-a31-mipi-dsi";
1018c2ecf20Sopenharmony_ci        reg = <0x01ca0000 0x1000>;
1028c2ecf20Sopenharmony_ci        interrupts = <0 89 4>;
1038c2ecf20Sopenharmony_ci        clocks = <&ccu 23>, <&ccu 96>;
1048c2ecf20Sopenharmony_ci        clock-names = "bus", "mod";
1058c2ecf20Sopenharmony_ci        resets = <&ccu 4>;
1068c2ecf20Sopenharmony_ci        phys = <&dphy0>;
1078c2ecf20Sopenharmony_ci        phy-names = "dphy";
1088c2ecf20Sopenharmony_ci        vcc-dsi-supply = <&reg_dcdc1>;
1098c2ecf20Sopenharmony_ci        #address-cells = <1>;
1108c2ecf20Sopenharmony_ci        #size-cells = <0>;
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ci        panel@0 {
1138c2ecf20Sopenharmony_ci                compatible = "bananapi,lhr050h41", "ilitek,ili9881c";
1148c2ecf20Sopenharmony_ci                reg = <0>;
1158c2ecf20Sopenharmony_ci                power-supply = <&reg_display>;
1168c2ecf20Sopenharmony_ci                reset-gpios = <&r_pio 0 5 1>; /* PL05 */
1178c2ecf20Sopenharmony_ci                backlight = <&pwm_bl>;
1188c2ecf20Sopenharmony_ci        };
1198c2ecf20Sopenharmony_ci
1208c2ecf20Sopenharmony_ci        port {
1218c2ecf20Sopenharmony_ci            dsi0_in_tcon0: endpoint {
1228c2ecf20Sopenharmony_ci                remote-endpoint = <&tcon0_out_dsi0>;
1238c2ecf20Sopenharmony_ci            };
1248c2ecf20Sopenharmony_ci        };
1258c2ecf20Sopenharmony_ci    };
1268c2ecf20Sopenharmony_ci
1278c2ecf20Sopenharmony_ci...
128