# SPDX-License-Identifier: GPL-2.0+
%YAML 1.2
---
$id: http://devicetree.org/schemas/sram/allwinner,sun4i-a10-system-control.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Allwinner A10 System Control Device Tree Bindings

maintainers:
  - Chen-Yu Tsai <wens@csie.org>
  - Maxime Ripard <mripard@kernel.org>

description:
  The SRAM controller found on most Allwinner devices is represented
  by a regular node for the SRAM controller itself, with sub-nodes
  representing the SRAM handled by the SRAM controller.

properties:
  "#address-cells":
    const: 1

  "#size-cells":
    const: 1

  compatible:
    oneOf:
      - const: allwinner,sun4i-a10-sram-controller
        deprecated: true
      - const: allwinner,sun4i-a10-system-control
      - const: allwinner,sun5i-a13-system-control
      - items:
          - const: allwinner,sun7i-a20-system-control
          - const: allwinner,sun4i-a10-system-control
      - const: allwinner,sun8i-a23-system-control
      - const: allwinner,sun8i-h3-system-control
      - items:
          - const: allwinner,sun8i-v3s-system-control
          - const: allwinner,sun8i-h3-system-control
      - items:
          - const: allwinner,sun8i-r40-system-control
          - const: allwinner,sun4i-a10-system-control
      - const: allwinner,sun50i-a64-sram-controller
        deprecated: true
      - const: allwinner,sun50i-a64-system-control
      - const: allwinner,sun50i-h5-system-control
      - items:
          - const: allwinner,sun50i-h6-system-control
          - const: allwinner,sun50i-a64-system-control
      - items:
          - const: allwinner,suniv-f1c100s-system-control
          - const: allwinner,sun4i-a10-system-control

  reg:
    maxItems: 1

  ranges: true

patternProperties:
  "^sram@[a-z0-9]+":
    type: object

    properties:
      compatible:
        const: mmio-sram

    patternProperties:
      "^sram-section?@[a-f0-9]+$":
        type: object

        properties:
          compatible:
            oneOf:
              - const: allwinner,sun4i-a10-sram-a3-a4
              - const: allwinner,sun4i-a10-sram-c1
              - const: allwinner,sun4i-a10-sram-d
              - const: allwinner,sun50i-a64-sram-c
              - items:
                  - const: allwinner,sun5i-a13-sram-a3-a4
                  - const: allwinner,sun4i-a10-sram-a3-a4
              - items:
                  - const: allwinner,sun7i-a20-sram-a3-a4
                  - const: allwinner,sun4i-a10-sram-a3-a4
              - items:
                  - const: allwinner,sun5i-a13-sram-c1
                  - const: allwinner,sun4i-a10-sram-c1
              - items:
                  - const: allwinner,sun7i-a20-sram-c1
                  - const: allwinner,sun4i-a10-sram-c1
              - items:
                  - const: allwinner,sun8i-a23-sram-c1
                  - const: allwinner,sun4i-a10-sram-c1
              - items:
                  - const: allwinner,sun8i-h3-sram-c1
                  - const: allwinner,sun4i-a10-sram-c1
              - items:
                  - const: allwinner,sun8i-r40-sram-c1
                  - const: allwinner,sun4i-a10-sram-c1
              - items:
                  - const: allwinner,sun50i-a64-sram-c1
                  - const: allwinner,sun4i-a10-sram-c1
              - items:
                  - const: allwinner,sun50i-h5-sram-c1
                  - const: allwinner,sun4i-a10-sram-c1
              - items:
                  - const: allwinner,sun50i-h6-sram-c1
                  - const: allwinner,sun4i-a10-sram-c1
              - items:
                  - const: allwinner,sun5i-a13-sram-d
                  - const: allwinner,sun4i-a10-sram-d
              - items:
                  - const: allwinner,sun7i-a20-sram-d
                  - const: allwinner,sun4i-a10-sram-d
              - items:
                  - const: allwinner,suniv-f1c100s-sram-d
                  - const: allwinner,sun4i-a10-sram-d
              - items:
                  - const: allwinner,sun50i-h6-sram-c
                  - const: allwinner,sun50i-a64-sram-c

required:
  - "#address-cells"
  - "#size-cells"
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    system-control@1c00000 {
      compatible = "allwinner,sun4i-a10-system-control";
      reg = <0x01c00000 0x30>;
      #address-cells = <1>;
      #size-cells = <1>;
      ranges;

      sram_a: sram@0 {
        compatible = "mmio-sram";
        reg = <0x00000000 0xc000>;
        #address-cells = <1>;
        #size-cells = <1>;
        ranges = <0 0x00000000 0xc000>;

        emac_sram: sram-section@8000 {
          compatible = "allwinner,sun4i-a10-sram-a3-a4";
          reg = <0x8000 0x4000>;
        };
      };
    };
