| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/pci/spacemit,k1-pcie-host.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: SpacemiT K1 PCI Express Host Controller |
| |
| maintainers: |
| - Alex Elder <elder@riscstar.com> |
| |
| description: > |
| The SpacemiT K1 SoC PCIe host controller is based on the Synopsys DesignWare |
| PCIe IP. The controller uses the DesignWare built-in MSI interrupt |
| controller, and supports 256 MSIs. |
| |
| allOf: |
| - $ref: /schemas/pci/snps,dw-pcie.yaml# |
| |
| properties: |
| compatible: |
| const: spacemit,k1-pcie |
| |
| reg: |
| items: |
| - description: DesignWare PCIe registers |
| - description: ATU address space |
| - description: PCIe configuration space |
| - description: Link control registers |
| |
| reg-names: |
| items: |
| - const: dbi |
| - const: atu |
| - const: config |
| - const: link |
| |
| clocks: |
| items: |
| - description: DWC PCIe Data Bus Interface (DBI) clock |
| - description: DWC PCIe application AXI-bus master interface clock |
| - description: DWC PCIe application AXI-bus slave interface clock |
| |
| clock-names: |
| items: |
| - const: dbi |
| - const: mstr |
| - const: slv |
| |
| resets: |
| items: |
| - description: DWC PCIe Data Bus Interface (DBI) reset |
| - description: DWC PCIe application AXI-bus master interface reset |
| - description: DWC PCIe application AXI-bus slave interface reset |
| |
| reset-names: |
| items: |
| - const: dbi |
| - const: mstr |
| - const: slv |
| |
| interrupts: |
| items: |
| - description: Interrupt used for MSIs |
| |
| interrupt-names: |
| const: msi |
| |
| spacemit,apmu: |
| $ref: /schemas/types.yaml#/definitions/phandle-array |
| description: |
| A phandle that refers to the APMU system controller, whose regmap is |
| used in managing resets and link state, along with and offset of its |
| reset control register. |
| items: |
| - items: |
| - description: phandle to APMU system controller |
| - description: register offset |
| |
| patternProperties: |
| '^pcie@': |
| type: object |
| $ref: /schemas/pci/pci-pci-bridge.yaml# |
| |
| properties: |
| phys: |
| maxItems: 1 |
| |
| vpcie3v3-supply: |
| description: |
| A phandle for 3.3v regulator to use for PCIe |
| |
| required: |
| - phys |
| - vpcie3v3-supply |
| |
| unevaluatedProperties: false |
| |
| required: |
| - clocks |
| - clock-names |
| - resets |
| - reset-names |
| - interrupts |
| - interrupt-names |
| - spacemit,apmu |
| |
| unevaluatedProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/clock/spacemit,k1-syscon.h> |
| pcie@ca400000 { |
| device_type = "pci"; |
| compatible = "spacemit,k1-pcie"; |
| reg = <0xca400000 0x00001000>, |
| <0xca700000 0x0001ff24>, |
| <0x9f000000 0x00002000>, |
| <0xc0c20000 0x00001000>; |
| reg-names = "dbi", |
| "atu", |
| "config", |
| "link"; |
| #address-cells = <3>; |
| #size-cells = <2>; |
| ranges = <0x01000000 0x0 0x00000000 0x9f002000 0x0 0x00100000>, |
| <0x02000000 0x0 0x90000000 0x90000000 0x0 0x0f000000>; |
| interrupts = <142>; |
| interrupt-names = "msi"; |
| clocks = <&syscon_apmu CLK_PCIE1_DBI>, |
| <&syscon_apmu CLK_PCIE1_MASTER>, |
| <&syscon_apmu CLK_PCIE1_SLAVE>; |
| clock-names = "dbi", |
| "mstr", |
| "slv"; |
| resets = <&syscon_apmu RESET_PCIE1_DBI>, |
| <&syscon_apmu RESET_PCIE1_MASTER>, |
| <&syscon_apmu RESET_PCIE1_SLAVE>; |
| reset-names = "dbi", |
| "mstr", |
| "slv"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pcie1_3_cfg>; |
| spacemit,apmu = <&syscon_apmu 0x3d4>; |
| |
| pcie@0 { |
| device_type = "pci"; |
| compatible = "pciclass,0604"; |
| reg = <0x0 0x0 0x0 0x0 0x0>; |
| bus-range = <0x01 0xff>; |
| #address-cells = <3>; |
| #size-cells = <2>; |
| ranges; |
| phys = <&pcie1_phy>; |
| vpcie3v3-supply = <&pcie_vcc_3v3>; |
| }; |
| }; |