# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/bus/arm,integrator-ap-lm.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Integrator/AP Logic Module extension bus

maintainers:
  - Linus Walleij <linusw@kernel.org>

description: The Integrator/AP is a prototyping platform and as such has a
  site for stacking up to four logic modules (LM) designed specifically for
  use with this platform. A special system controller register can be read to
  determine if a logic module is connected at index 0, 1, 2 or 3. The logic
  module connector is described in this binding. The logic modules per se
  then have their own specific per-module bindings and they will be described
  as subnodes under this logic module extension bus.

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

  "#size-cells":
    const: 1

  compatible:
    items:
      - const: arm,integrator-ap-lm

  ranges: true
  dma-ranges: true

patternProperties:
  "^bus(@[0-9a-f]*)?$":
    description: Nodes on the Logic Module bus represent logic modules
      and are named with bus. The first module is at 0xc0000000, the second
      at 0xd0000000 and so on until the top of the memory of the system at
      0xffffffff. All information about the memory used by the module is
      in ranges and dma-ranges.
    type: object

    required:
      - compatible

required:
  - compatible

examples:
  - |
    bus@c0000000 {
      compatible = "arm,integrator-ap-lm";
      #address-cells = <1>;
      #size-cells = <1>;
      ranges = <0xc0000000 0xc0000000 0x40000000>;
      dma-ranges;

      bus@c0000000 {
        compatible = "simple-bus";
        ranges = <0x00000000 0xc0000000 0x10000000>;
        /* The Logic Modules sees the Core Module 0 RAM @80000000 */
        dma-ranges = <0x00000000 0x80000000 0x10000000>;
        #address-cells = <1>;
        #size-cells = <1>;

        serial@100000 {
          compatible = "arm,pl011", "arm,primecell";
          reg = <0x00100000 0x1000>;
          interrupts-extended = <&impd1_vic 1>;
        };

        impd1_vic: interrupt-controller@3000000 {
          compatible = "arm,pl192-vic";
          interrupt-controller;
          #interrupt-cells = <1>;
          reg = <0x03000000 0x1000>;
          valid-mask = <0x00000bff>;
          interrupts-extended = <&pic 9>;
        };
      };
    };

additionalProperties: false
