Documentation / devicetree / bindings / sram / allwinner,sun4i-a10-system-control.yaml


Based on kernel version 6.8. Page generated on 2024-03-11 21:26 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
# 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

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:
      - enum:
          - allwinner,sun4i-a10-sram-controller
          - allwinner,sun50i-a64-sram-controller
        deprecated: true
      - enum:
          - allwinner,sun4i-a10-system-control
          - allwinner,sun5i-a13-system-control
          - allwinner,sun8i-a23-system-control
          - allwinner,sun8i-h3-system-control
          - allwinner,sun20i-d1-system-control
          - allwinner,sun50i-a64-system-control
          - allwinner,sun50i-h5-system-control
          - allwinner,sun50i-h616-system-control
      - items:
          - enum:
              - allwinner,suniv-f1c100s-system-control
              - allwinner,sun7i-a20-system-control
              - allwinner,sun8i-r40-system-control
          - const: allwinner,sun4i-a10-system-control
      - items:
          - const: allwinner,sun8i-v3s-system-control
          - const: allwinner,sun8i-h3-system-control
      - items:
          - const: allwinner,sun50i-h6-system-control
          - const: allwinner,sun50i-a64-system-control

  reg:
    maxItems: 1

  ranges: true

patternProperties:
  "^sram@[a-z0-9]+":
    $ref: /schemas/sram/sram.yaml#
    unevaluatedProperties: false

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

        properties:
          reg: true

          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:
                  - enum:
                      - allwinner,sun5i-a13-sram-a3-a4
                      - allwinner,sun7i-a20-sram-a3-a4
                  - const: allwinner,sun4i-a10-sram-a3-a4
              - items:
                  - enum:
                      - allwinner,sun5i-a13-sram-c1
                      - allwinner,sun7i-a20-sram-c1
                      - allwinner,sun8i-a23-sram-c1
                      - allwinner,sun8i-h3-sram-c1
                      - allwinner,sun8i-r40-sram-c1
                      - allwinner,sun50i-a64-sram-c1
                      - allwinner,sun50i-h5-sram-c1
                      - allwinner,sun50i-h6-sram-c1
                  - const: allwinner,sun4i-a10-sram-c1
              - items:
                  - enum:
                      - allwinner,suniv-f1c100s-sram-d
                      - allwinner,sun5i-a13-sram-d
                      - allwinner,sun7i-a20-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>;
        };
      };
    };