18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/bus/allwinner,sun50i-a64-de2.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Allwinner A64 Display Engine Bus 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  $nodename:
158c2ecf20Sopenharmony_ci    pattern: "^bus(@[0-9a-f]+)?$"
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci  "#address-cells":
188c2ecf20Sopenharmony_ci    const: 1
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci  "#size-cells":
218c2ecf20Sopenharmony_ci    const: 1
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci  compatible:
248c2ecf20Sopenharmony_ci    oneOf:
258c2ecf20Sopenharmony_ci      - const: allwinner,sun50i-a64-de2
268c2ecf20Sopenharmony_ci      - items:
278c2ecf20Sopenharmony_ci          - const: allwinner,sun50i-h6-de3
288c2ecf20Sopenharmony_ci          - const: allwinner,sun50i-a64-de2
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci  reg:
318c2ecf20Sopenharmony_ci    maxItems: 1
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci  allwinner,sram:
348c2ecf20Sopenharmony_ci    description:
358c2ecf20Sopenharmony_ci      The SRAM that needs to be claimed to access the display engine
368c2ecf20Sopenharmony_ci      bus.
378c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#definitions/phandle-array
388c2ecf20Sopenharmony_ci    maxItems: 1
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci  ranges: true
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_cipatternProperties:
438c2ecf20Sopenharmony_ci  # All other properties should be child nodes with unit-address and 'reg'
448c2ecf20Sopenharmony_ci  "^[a-zA-Z][a-zA-Z0-9,+\\-._]{0,63}@[0-9a-fA-F]+$":
458c2ecf20Sopenharmony_ci    type: object
468c2ecf20Sopenharmony_ci    properties:
478c2ecf20Sopenharmony_ci      reg:
488c2ecf20Sopenharmony_ci        maxItems: 1
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci    required:
518c2ecf20Sopenharmony_ci      - reg
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_cirequired:
548c2ecf20Sopenharmony_ci  - compatible
558c2ecf20Sopenharmony_ci  - reg
568c2ecf20Sopenharmony_ci  - "#address-cells"
578c2ecf20Sopenharmony_ci  - "#size-cells"
588c2ecf20Sopenharmony_ci  - ranges
598c2ecf20Sopenharmony_ci  - allwinner,sram
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ciadditionalProperties: false
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ciexamples:
648c2ecf20Sopenharmony_ci  - |
658c2ecf20Sopenharmony_ci    bus@1000000 {
668c2ecf20Sopenharmony_ci        compatible = "allwinner,sun50i-a64-de2";
678c2ecf20Sopenharmony_ci        reg = <0x1000000 0x400000>;
688c2ecf20Sopenharmony_ci        allwinner,sram = <&de2_sram 1>;
698c2ecf20Sopenharmony_ci        #address-cells = <1>;
708c2ecf20Sopenharmony_ci        #size-cells = <1>;
718c2ecf20Sopenharmony_ci        ranges = <0 0x1000000 0x400000>;
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ci        display_clocks: clock@0 {
748c2ecf20Sopenharmony_ci            compatible = "allwinner,sun50i-a64-de2-clk";
758c2ecf20Sopenharmony_ci            reg = <0x0 0x100000>;
768c2ecf20Sopenharmony_ci            clocks = <&ccu 52>, <&ccu 99>;
778c2ecf20Sopenharmony_ci            clock-names = "bus", "mod";
788c2ecf20Sopenharmony_ci            resets = <&ccu 30>;
798c2ecf20Sopenharmony_ci            #clock-cells = <1>;
808c2ecf20Sopenharmony_ci            #reset-cells = <1>;
818c2ecf20Sopenharmony_ci        };
828c2ecf20Sopenharmony_ci    };
838c2ecf20Sopenharmony_ci
848c2ecf20Sopenharmony_ci...
85