162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/remoteproc/amlogic,meson-mx-ao-arc.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Amlogic Meson AO ARC Remote Processor
862306a36Sopenharmony_ci
962306a36Sopenharmony_cidescription:
1062306a36Sopenharmony_ci  Amlogic Meson6, Meson8, Meson8b and Meson8m2 SoCs embed an ARC core
1162306a36Sopenharmony_ci  controller for always-on operations, typically used for managing
1262306a36Sopenharmony_ci  system suspend. Meson6 and older use a ARC core based on the ARCv1
1362306a36Sopenharmony_ci  ISA, while Meson8, Meson8b and Meson8m2 use an ARC EM4 (ARCv2 ISA)
1462306a36Sopenharmony_ci  core.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_cimaintainers:
1762306a36Sopenharmony_ci  - Martin Blumenstingl <martin.blumenstingl@googlemail.com>
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciproperties:
2062306a36Sopenharmony_ci  compatible:
2162306a36Sopenharmony_ci    items:
2262306a36Sopenharmony_ci      - enum:
2362306a36Sopenharmony_ci          - amlogic,meson8-ao-arc
2462306a36Sopenharmony_ci          - amlogic,meson8b-ao-arc
2562306a36Sopenharmony_ci      - const: amlogic,meson-mx-ao-arc
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci  firmware-name:
2862306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/string
2962306a36Sopenharmony_ci    description:
3062306a36Sopenharmony_ci      The name of the firmware which should be loaded for this remote
3162306a36Sopenharmony_ci      processor.
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci  reg:
3462306a36Sopenharmony_ci    description:
3562306a36Sopenharmony_ci      Address ranges of the remap and CPU control addresses for the
3662306a36Sopenharmony_ci      remote processor.
3762306a36Sopenharmony_ci    minItems: 2
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci  reg-names:
4062306a36Sopenharmony_ci    items:
4162306a36Sopenharmony_ci      - const: remap
4262306a36Sopenharmony_ci      - const: cpu
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci  resets:
4562306a36Sopenharmony_ci    minItems: 1
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci  clocks:
4862306a36Sopenharmony_ci    minItems: 1
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci  sram:
5162306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/phandle
5262306a36Sopenharmony_ci    description:
5362306a36Sopenharmony_ci      phandles to a reserved SRAM region which is used as the memory of
5462306a36Sopenharmony_ci      the ARC core. The region should be defined as child nodes of the
5562306a36Sopenharmony_ci      AHB SRAM node as per the generic bindings in
5662306a36Sopenharmony_ci      Documentation/devicetree/bindings/sram/sram.yaml
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci  amlogic,secbus2:
5962306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/phandle
6062306a36Sopenharmony_ci    description:
6162306a36Sopenharmony_ci      A phandle to the SECBUS2 region which contains some configuration
6262306a36Sopenharmony_ci      bits of this remote processor
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_cirequired:
6562306a36Sopenharmony_ci  - compatible
6662306a36Sopenharmony_ci  - reg
6762306a36Sopenharmony_ci  - reg-names
6862306a36Sopenharmony_ci  - resets
6962306a36Sopenharmony_ci  - clocks
7062306a36Sopenharmony_ci  - sram
7162306a36Sopenharmony_ci  - amlogic,secbus2
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ciadditionalProperties: false
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ciexamples:
7662306a36Sopenharmony_ci  - |
7762306a36Sopenharmony_ci    remoteproc@1c {
7862306a36Sopenharmony_ci      compatible = "amlogic,meson8-ao-arc", "amlogic,meson-mx-ao-arc";
7962306a36Sopenharmony_ci      reg = <0x1c 0x8>, <0x38 0x8>;
8062306a36Sopenharmony_ci      reg-names = "remap", "cpu";
8162306a36Sopenharmony_ci      resets = <&media_cpu_reset>;
8262306a36Sopenharmony_ci      clocks = <&media_cpu_clock>;
8362306a36Sopenharmony_ci      sram = <&ahb_sram_ao_arc>;
8462306a36Sopenharmony_ci      amlogic,secbus2 = <&secbus2>;
8562306a36Sopenharmony_ci    };
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci...
88