xref: /linux/Documentation/devicetree/bindings/remoteproc/amlogic,meson-mx-ao-arc.yaml (revision eeaf9700b9c6976c0360b10caf55f7e4374f7c3b)
1*eeaf9700SMartin Blumenstingl# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*eeaf9700SMartin Blumenstingl%YAML 1.2
3*eeaf9700SMartin Blumenstingl---
4*eeaf9700SMartin Blumenstingl$id: "http://devicetree.org/schemas/remoteproc/amlogic,meson-mx-ao-arc.yaml#"
5*eeaf9700SMartin Blumenstingl$schema: "http://devicetree.org/meta-schemas/core.yaml#"
6*eeaf9700SMartin Blumenstingl
7*eeaf9700SMartin Blumenstingltitle: Amlogic Meson AO ARC Remote Processor bindings
8*eeaf9700SMartin Blumenstingl
9*eeaf9700SMartin Blumenstingldescription:
10*eeaf9700SMartin Blumenstingl  Amlogic Meson6, Meson8, Meson8b and Meson8m2 SoCs embed an ARC core
11*eeaf9700SMartin Blumenstingl  controller for always-on operations, typically used for managing
12*eeaf9700SMartin Blumenstingl  system suspend. Meson6 and older use a ARC core based on the ARCv1
13*eeaf9700SMartin Blumenstingl  ISA, while Meson8, Meson8b and Meson8m2 use an ARC EM4 (ARCv2 ISA)
14*eeaf9700SMartin Blumenstingl  core.
15*eeaf9700SMartin Blumenstingl
16*eeaf9700SMartin Blumenstinglmaintainers:
17*eeaf9700SMartin Blumenstingl  - Martin Blumenstingl <martin.blumenstingl@googlemail.com>
18*eeaf9700SMartin Blumenstingl
19*eeaf9700SMartin Blumenstinglproperties:
20*eeaf9700SMartin Blumenstingl  compatible:
21*eeaf9700SMartin Blumenstingl    items:
22*eeaf9700SMartin Blumenstingl      - enum:
23*eeaf9700SMartin Blumenstingl          - amlogic,meson8-ao-arc
24*eeaf9700SMartin Blumenstingl          - amlogic,meson8b-ao-arc
25*eeaf9700SMartin Blumenstingl      - const: amlogic,meson-mx-ao-arc
26*eeaf9700SMartin Blumenstingl
27*eeaf9700SMartin Blumenstingl  firmware-name:
28*eeaf9700SMartin Blumenstingl    $ref: /schemas/types.yaml#/definitions/string
29*eeaf9700SMartin Blumenstingl    description:
30*eeaf9700SMartin Blumenstingl      The name of the firmware which should be loaded for this remote
31*eeaf9700SMartin Blumenstingl      processor.
32*eeaf9700SMartin Blumenstingl
33*eeaf9700SMartin Blumenstingl  reg:
34*eeaf9700SMartin Blumenstingl    description:
35*eeaf9700SMartin Blumenstingl      Address ranges of the remap and CPU control addresses for the
36*eeaf9700SMartin Blumenstingl      remote processor.
37*eeaf9700SMartin Blumenstingl    minItems: 2
38*eeaf9700SMartin Blumenstingl
39*eeaf9700SMartin Blumenstingl  reg-names:
40*eeaf9700SMartin Blumenstingl    items:
41*eeaf9700SMartin Blumenstingl      - const: remap
42*eeaf9700SMartin Blumenstingl      - const: cpu
43*eeaf9700SMartin Blumenstingl
44*eeaf9700SMartin Blumenstingl  resets:
45*eeaf9700SMartin Blumenstingl    minItems: 1
46*eeaf9700SMartin Blumenstingl
47*eeaf9700SMartin Blumenstingl  clocks:
48*eeaf9700SMartin Blumenstingl    minItems: 1
49*eeaf9700SMartin Blumenstingl
50*eeaf9700SMartin Blumenstingl  sram:
51*eeaf9700SMartin Blumenstingl    $ref: /schemas/types.yaml#/definitions/phandle
52*eeaf9700SMartin Blumenstingl    description:
53*eeaf9700SMartin Blumenstingl      phandles to a reserved SRAM region which is used as the memory of
54*eeaf9700SMartin Blumenstingl      the ARC core. The region should be defined as child nodes of the
55*eeaf9700SMartin Blumenstingl      AHB SRAM node as per the generic bindings in
56*eeaf9700SMartin Blumenstingl      Documentation/devicetree/bindings/sram/sram.yaml
57*eeaf9700SMartin Blumenstingl
58*eeaf9700SMartin Blumenstingl  amlogic,secbus2:
59*eeaf9700SMartin Blumenstingl    $ref: /schemas/types.yaml#/definitions/phandle
60*eeaf9700SMartin Blumenstingl    description:
61*eeaf9700SMartin Blumenstingl      A phandle to the SECBUS2 region which contains some configuration
62*eeaf9700SMartin Blumenstingl      bits of this remote processor
63*eeaf9700SMartin Blumenstingl
64*eeaf9700SMartin Blumenstinglrequired:
65*eeaf9700SMartin Blumenstingl  - compatible
66*eeaf9700SMartin Blumenstingl  - reg
67*eeaf9700SMartin Blumenstingl  - reg-names
68*eeaf9700SMartin Blumenstingl  - resets
69*eeaf9700SMartin Blumenstingl  - clocks
70*eeaf9700SMartin Blumenstingl  - sram
71*eeaf9700SMartin Blumenstingl  - amlogic,secbus2
72*eeaf9700SMartin Blumenstingl
73*eeaf9700SMartin BlumenstingladditionalProperties: false
74*eeaf9700SMartin Blumenstingl
75*eeaf9700SMartin Blumenstinglexamples:
76*eeaf9700SMartin Blumenstingl  - |
77*eeaf9700SMartin Blumenstingl    remoteproc@1c {
78*eeaf9700SMartin Blumenstingl      compatible= "amlogic,meson8-ao-arc", "amlogic,meson-mx-ao-arc";
79*eeaf9700SMartin Blumenstingl      reg = <0x1c 0x8>, <0x38 0x8>;
80*eeaf9700SMartin Blumenstingl      reg-names = "remap", "cpu";
81*eeaf9700SMartin Blumenstingl      resets = <&media_cpu_reset>;
82*eeaf9700SMartin Blumenstingl      clocks = <&media_cpu_clock>;
83*eeaf9700SMartin Blumenstingl      sram = <&ahb_sram_ao_arc>;
84*eeaf9700SMartin Blumenstingl      amlogic,secbus2 = <&secbus2>;
85*eeaf9700SMartin Blumenstingl    };
86*eeaf9700SMartin Blumenstingl
87*eeaf9700SMartin Blumenstingl...
88