Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  qcom,pcie-ep.yaml   Sprache: unbekannt

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

title: Qualcomm PCIe Endpoint Controller

maintainers:
  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>

properties:
  compatible:
    oneOf:
      - enum:
          - qcom,sa8775p-pcie-ep
          - qcom,sar2130p-pcie-ep
          - qcom,sdx55-pcie-ep
          - qcom,sm8450-pcie-ep
      - items:
          - const: qcom,sdx65-pcie-ep
          - const: qcom,sdx55-pcie-ep

  reg:
    minItems: 6
    items:
      - description: Qualcomm-specific PARF configuration registers
      - description: DesignWare PCIe registers
      - description: External local bus interface registers
      - description: Address Translation Unit (ATU) registers
      - description: Memory region used to map remote RC address space
      - description: BAR memory region
      - description: DMA register space

  reg-names:
    minItems: 6
    items:
      - const: parf
      - const: dbi
      - const: elbi
      - const: atu
      - const: addr_space
      - const: mmio
      - const: dma

  clocks:
    minItems: 5
    maxItems: 9

  clock-names:
    minItems: 5
    maxItems: 9

  qcom,perst-regs:
    description: Reference to a syscon representing TCSR followed by the two
                 offsets within syscon for Perst enable and Perst separation
                 enable registers
    $ref: /schemas/types.yaml#/definitions/phandle-array
    items:
      - items:
          - description: Syscon to TCSR system registers
          - description: Perst enable offset
          - description: Perst separation enable offset

  interrupts:
    minItems: 2
    items:
      - description: PCIe Global interrupt
      - description: PCIe Doorbell interrupt
      - description: DMA interrupt

  interrupt-names:
    minItems: 2
    items:
      - const: global
      - const: doorbell
      - const: dma

  iommus:
    maxItems: 1

  reset-gpios:
    description: GPIO used as PERST# input signal
    maxItems: 1

  wake-gpios:
    description: GPIO used as WAKE# output signal
    maxItems: 1

  interconnects:
    maxItems: 2

  interconnect-names:
    items:
      - const: pcie-mem
      - const: cpu-pcie

  dma-coherent: true

  resets:
    maxItems: 1

  reset-names:
    const: core

  power-domains:
    maxItems: 1

  phys:
    maxItems: 1

  phy-names:
    const: pciephy

  num-lanes:
    default: 2

required:
  - compatible
  - reg
  - reg-names
  - clocks
  - clock-names
  - interrupts
  - interrupt-names
  - reset-gpios
  - interconnects
  - interconnect-names
  - resets
  - reset-names
  - power-domains

allOf:
  - $ref: pci-ep.yaml#

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,sar2130p-pcie-ep
    then:
      properties:
        clocks:
          items:
            - description: PCIe Auxiliary clock
            - description: PCIe CFG AHB clock
            - description: PCIe Master AXI clock
            - description: PCIe Slave AXI clock
            - description: PCIe Slave Q2A AXI clock
            - description: PCIe DDRSS SF TBU clock
            - description: PCIe AGGRE NOC AXI clock
            - description: PCIe CFG NOC AXI clock
            - description: PCIe QMIP AHB clock
        clock-names:
          items:
            - const: aux
            - const: cfg
            - const: bus_master
            - const: bus_slave
            - const: slave_q2a
            - const: ddrss_sf_tbu
            - const: aggre_noc_axi
            - const: cnoc_sf_axi
            - const: qmip_pcie_ahb

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,sdx55-pcie-ep
    then:
      properties:
        reg:
          minItems: 6
          maxItems: 6
        reg-names:
          minItems: 6
          maxItems: 6
        interrupts:
          minItems: 2
          maxItems: 2
        interrupt-names:
          minItems: 2
          maxItems: 2
        iommus: false
    else:
      properties:
        reg:
          minItems: 7
          maxItems: 7
        reg-names:
          minItems: 7
          maxItems: 7
        interrupts:
          minItems: 3
          maxItems: 3
        interrupt-names:
          minItems: 3
          maxItems: 3
      required:
        - iommus

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,sdx55-pcie-ep
    then:
      properties:
        clocks:
          items:
            - description: PCIe Auxiliary clock
            - description: PCIe CFG AHB clock
            - description: PCIe Master AXI clock
            - description: PCIe Slave AXI clock
            - description: PCIe Slave Q2A AXI clock
            - description: PCIe Sleep clock
            - description: PCIe Reference clock
        clock-names:
          items:
            - const: aux
            - const: cfg
            - const: bus_master
            - const: bus_slave
            - const: slave_q2a
            - const: sleep
            - const: ref

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,sm8450-pcie-ep
    then:
      properties:
        clocks:
          items:
            - description: PCIe Auxiliary clock
            - description: PCIe CFG AHB clock
            - description: PCIe Master AXI clock
            - description: PCIe Slave AXI clock
            - description: PCIe Slave Q2A AXI clock
            - description: PCIe Reference clock
            - description: PCIe DDRSS SF TBU clock
            - description: PCIe AGGRE NOC AXI clock
        clock-names:
          items:
            - const: aux
            - const: cfg
            - const: bus_master
            - const: bus_slave
            - const: slave_q2a
            - const: ref
            - const: ddrss_sf_tbu
            - const: aggre_noc_axi

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,sa8775p-pcie-ep
    then:
      properties:
        clocks:
          items:
            - description: PCIe Auxiliary clock
            - description: PCIe CFG AHB clock
            - description: PCIe Master AXI clock
            - description: PCIe Slave AXI clock
            - description: PCIe Slave Q2A AXI clock
        clock-names:
          items:
            - const: aux
            - const: cfg
            - const: bus_master
            - const: bus_slave
            - const: slave_q2a

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/clock/qcom,gcc-sdx55.h>
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interconnect/qcom,sdx55.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    pcie_ep: pcie-ep@1c00000 {
        compatible = "qcom,sdx55-pcie-ep";
        reg = <0x01c00000 0x3000>,
              <0x40000000 0xf1d>,
              <0x40000f20 0xc8>,
              <0x40001000 0x1000>,
              <0x40002000 0x1000>,
              <0x01c03000 0x3000>;
        reg-names = "parf", "dbi", "elbi", "atu", "addr_space",
                    "mmio";

        clocks = <&gcc GCC_PCIE_AUX_CLK>,
             <&gcc GCC_PCIE_CFG_AHB_CLK>,
             <&gcc GCC_PCIE_MSTR_AXI_CLK>,
             <&gcc GCC_PCIE_SLV_AXI_CLK>,
             <&gcc GCC_PCIE_SLV_Q2A_AXI_CLK>,
             <&gcc GCC_PCIE_SLEEP_CLK>,
             <&gcc GCC_PCIE_0_CLKREF_CLK>;
        clock-names = "aux", "cfg", "bus_master", "bus_slave",
                      "slave_q2a", "sleep", "ref";

        qcom,perst-regs = <&tcsr 0xb258 0xb270>;

        interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
        interrupt-names = "global", "doorbell";
        interconnects = <&system_noc MASTER_PCIE &mc_virt SLAVE_EBI_CH0>,
                        <&mem_noc MASTER_AMPSS_M0 &system_noc SLAVE_PCIE_0>;
        interconnect-names = "pcie-mem", "cpu-pcie";
        reset-gpios = <&tlmm 57 GPIO_ACTIVE_LOW>;
        wake-gpios = <&tlmm 53 GPIO_ACTIVE_LOW>;
        resets = <&gcc GCC_PCIE_BCR>;
        reset-names = "core";
        power-domains = <&gcc PCIE_GDSC>;
        phys = <&pcie0_lane>;
        phy-names = "pciephy";
        max-link-speed = <3>;
        num-lanes = <2>;
        linux,pci-domain = <0>;
    };

[ Dauer der Verarbeitung: 0.16 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge