18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/bus/arm,integrator-ap-lm.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Integrator/AP Logic Module extension bus
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Linus Walleij <linusw@kernel.org>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_cidescription: The Integrator/AP is a prototyping platform and as such has a
138c2ecf20Sopenharmony_ci  site for stacking up to four logic modules (LM) designed specifically for
148c2ecf20Sopenharmony_ci  use with this platform. A special system controller register can be read to
158c2ecf20Sopenharmony_ci  determine if a logic module is connected at index 0, 1, 2 or 3. The logic
168c2ecf20Sopenharmony_ci  module connector is described in this binding. The logic modules per se
178c2ecf20Sopenharmony_ci  then have their own specific per-module bindings and they will be described
188c2ecf20Sopenharmony_ci  as subnodes under this logic module extension bus.
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciproperties:
218c2ecf20Sopenharmony_ci  "#address-cells":
228c2ecf20Sopenharmony_ci    const: 1
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci  "#size-cells":
258c2ecf20Sopenharmony_ci    const: 1
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci  compatible:
288c2ecf20Sopenharmony_ci    items:
298c2ecf20Sopenharmony_ci      - const: arm,integrator-ap-lm
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci  ranges: true
328c2ecf20Sopenharmony_ci  dma-ranges: true
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_cipatternProperties:
358c2ecf20Sopenharmony_ci  "^bus(@[0-9a-f]*)?$":
368c2ecf20Sopenharmony_ci    description: Nodes on the Logic Module bus represent logic modules
378c2ecf20Sopenharmony_ci      and are named with bus. The first module is at 0xc0000000, the second
388c2ecf20Sopenharmony_ci      at 0xd0000000 and so on until the top of the memory of the system at
398c2ecf20Sopenharmony_ci      0xffffffff. All information about the memory used by the module is
408c2ecf20Sopenharmony_ci      in ranges and dma-ranges.
418c2ecf20Sopenharmony_ci    type: object
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ci    required:
448c2ecf20Sopenharmony_ci      - compatible
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_cirequired:
478c2ecf20Sopenharmony_ci  - compatible
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ciexamples:
508c2ecf20Sopenharmony_ci  - |
518c2ecf20Sopenharmony_ci    bus@c0000000 {
528c2ecf20Sopenharmony_ci      compatible = "arm,integrator-ap-lm";
538c2ecf20Sopenharmony_ci      #address-cells = <1>;
548c2ecf20Sopenharmony_ci      #size-cells = <1>;
558c2ecf20Sopenharmony_ci      ranges = <0xc0000000 0xc0000000 0x40000000>;
568c2ecf20Sopenharmony_ci      dma-ranges;
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci      bus@c0000000 {
598c2ecf20Sopenharmony_ci        compatible = "simple-bus";
608c2ecf20Sopenharmony_ci        ranges = <0x00000000 0xc0000000 0x10000000>;
618c2ecf20Sopenharmony_ci        /* The Logic Modules sees the Core Module 0 RAM @80000000 */
628c2ecf20Sopenharmony_ci        dma-ranges = <0x00000000 0x80000000 0x10000000>;
638c2ecf20Sopenharmony_ci        #address-cells = <1>;
648c2ecf20Sopenharmony_ci        #size-cells = <1>;
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ci        serial@100000 {
678c2ecf20Sopenharmony_ci          compatible = "arm,pl011", "arm,primecell";
688c2ecf20Sopenharmony_ci          reg = <0x00100000 0x1000>;
698c2ecf20Sopenharmony_ci          interrupts-extended = <&impd1_vic 1>;
708c2ecf20Sopenharmony_ci        };
718c2ecf20Sopenharmony_ci
728c2ecf20Sopenharmony_ci        impd1_vic: interrupt-controller@3000000 {
738c2ecf20Sopenharmony_ci          compatible = "arm,pl192-vic";
748c2ecf20Sopenharmony_ci          interrupt-controller;
758c2ecf20Sopenharmony_ci          #interrupt-cells = <1>;
768c2ecf20Sopenharmony_ci          reg = <0x03000000 0x1000>;
778c2ecf20Sopenharmony_ci          valid-mask = <0x00000bff>;
788c2ecf20Sopenharmony_ci          interrupts-extended = <&pic 9>;
798c2ecf20Sopenharmony_ci        };
808c2ecf20Sopenharmony_ci      };
818c2ecf20Sopenharmony_ci    };
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ciadditionalProperties: false
84