| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/pci/qcom,sa8255p-pcie-ep.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Qualcomm firmware managed PCIe Endpoint Controller |
| |
| description: |
| Qualcomm SA8255p SoC PCIe endpoint controller is based on the Synopsys |
| DesignWare PCIe IP which is managed by firmware. |
| |
| maintainers: |
| - Manivannan Sadhasivam <mani@kernel.org> |
| |
| properties: |
| compatible: |
| const: qcom,sa8255p-pcie-ep |
| |
| reg: |
| 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: |
| items: |
| - const: parf |
| - const: dbi |
| - const: elbi |
| - const: atu |
| - const: addr_space |
| - const: mmio |
| - const: dma |
| |
| interrupts: |
| items: |
| - description: PCIe Global interrupt |
| - description: PCIe Doorbell interrupt |
| - description: DMA interrupt |
| |
| interrupt-names: |
| 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 |
| |
| power-domains: |
| maxItems: 1 |
| |
| dma-coherent: true |
| |
| num-lanes: |
| default: 2 |
| |
| required: |
| - compatible |
| - reg |
| - reg-names |
| - interrupts |
| - interrupt-names |
| - reset-gpios |
| - power-domains |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/gpio/gpio.h> |
| #include <dt-bindings/interrupt-controller/arm-gic.h> |
| soc { |
| #address-cells = <2>; |
| #size-cells = <2>; |
| pcie1_ep: pcie-ep@1c10000 { |
| compatible = "qcom,sa8255p-pcie-ep"; |
| reg = <0x0 0x01c10000 0x0 0x3000>, |
| <0x0 0x60000000 0x0 0xf20>, |
| <0x0 0x60000f20 0x0 0xa8>, |
| <0x0 0x60001000 0x0 0x4000>, |
| <0x0 0x60200000 0x0 0x100000>, |
| <0x0 0x01c13000 0x0 0x1000>, |
| <0x0 0x60005000 0x0 0x2000>; |
| reg-names = "parf", "dbi", "elbi", "atu", "addr_space", "mmio", "dma"; |
| interrupts = <GIC_SPI 518 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>, |
| <GIC_SPI 474 IRQ_TYPE_LEVEL_HIGH>; |
| interrupt-names = "global", "doorbell", "dma"; |
| reset-gpios = <&tlmm 4 GPIO_ACTIVE_LOW>; |
| wake-gpios = <&tlmm 5 GPIO_ACTIVE_LOW>; |
| dma-coherent; |
| iommus = <&pcie_smmu 0x80 0x7f>; |
| power-domains = <&scmi6_pd 1>; |
| num-lanes = <4>; |
| }; |
| }; |