# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pci/loongson.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Loongson PCI Host Controller

maintainers:
  - Jiaxun Yang <jiaxun.yang@flygoat.com>

description: |+
  PCI host controller found on Loongson PCHs and SoCs.

allOf:
  - $ref: /schemas/pci/pci-bus.yaml#

properties:
  compatible:
    oneOf:
      - const: loongson,ls2k-pci
      - const: loongson,ls7a-pci
      - const: loongson,rs780e-pci

  reg:
    minItems: 1
    maxItems: 2
    items:
      - description: CFG0 standard config space register
      - description: CFG1 extended config space register

  ranges:
    minItems: 1
    maxItems: 3


required:
  - compatible
  - reg
  - ranges

unevaluatedProperties: false

examples:
  - |

    bus {
        #address-cells = <2>;
        #size-cells = <2>;
        pcie@1a000000 {
            compatible = "loongson,rs780e-pci";
            device_type = "pci";
            #address-cells = <3>;
            #size-cells = <2>;

            // CPU_PHYSICAL(2)  SIZE(2)
            reg = <0x0 0x1a000000  0x0 0x2000000>;

            // BUS_ADDRESS(3)  CPU_PHYSICAL(2)  SIZE(2)
            ranges = <0x01000000 0x0 0x00004000  0x0 0x00004000  0x0 0x00004000>,
                     <0x02000000 0x0 0x40000000  0x0 0x40000000  0x0 0x40000000>;
        };
    };
...
