131c9ef00SManivannan Sadhasivam# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 231c9ef00SManivannan Sadhasivam%YAML 1.2 331c9ef00SManivannan Sadhasivam--- 431c9ef00SManivannan Sadhasivam$id: http://devicetree.org/schemas/pci/qcom,pcie-ep.yaml# 531c9ef00SManivannan Sadhasivam$schema: http://devicetree.org/meta-schemas/core.yaml# 631c9ef00SManivannan Sadhasivam 784e85359SKrzysztof Kozlowskititle: Qualcomm PCIe Endpoint Controller 831c9ef00SManivannan Sadhasivam 931c9ef00SManivannan Sadhasivammaintainers: 1031c9ef00SManivannan Sadhasivam - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> 1131c9ef00SManivannan Sadhasivam 1231c9ef00SManivannan Sadhasivamproperties: 1331c9ef00SManivannan Sadhasivam compatible: 1463e445b7SManivannan Sadhasivam enum: 1563e445b7SManivannan Sadhasivam - qcom,sdx55-pcie-ep 1663e445b7SManivannan Sadhasivam - qcom,sm8450-pcie-ep 1731c9ef00SManivannan Sadhasivam 1831c9ef00SManivannan Sadhasivam reg: 1931c9ef00SManivannan Sadhasivam items: 2031c9ef00SManivannan Sadhasivam - description: Qualcomm-specific PARF configuration registers 2131c9ef00SManivannan Sadhasivam - description: DesignWare PCIe registers 2231c9ef00SManivannan Sadhasivam - description: External local bus interface registers 2331c9ef00SManivannan Sadhasivam - description: Address Translation Unit (ATU) registers 2431c9ef00SManivannan Sadhasivam - description: Memory region used to map remote RC address space 2531c9ef00SManivannan Sadhasivam - description: BAR memory region 2631c9ef00SManivannan Sadhasivam 2731c9ef00SManivannan Sadhasivam reg-names: 2831c9ef00SManivannan Sadhasivam items: 2931c9ef00SManivannan Sadhasivam - const: parf 3031c9ef00SManivannan Sadhasivam - const: dbi 3131c9ef00SManivannan Sadhasivam - const: elbi 3231c9ef00SManivannan Sadhasivam - const: atu 3331c9ef00SManivannan Sadhasivam - const: addr_space 3431c9ef00SManivannan Sadhasivam - const: mmio 3531c9ef00SManivannan Sadhasivam 3631c9ef00SManivannan Sadhasivam clocks: 3763e445b7SManivannan Sadhasivam minItems: 7 3863e445b7SManivannan Sadhasivam maxItems: 8 3931c9ef00SManivannan Sadhasivam 4031c9ef00SManivannan Sadhasivam clock-names: 4163e445b7SManivannan Sadhasivam minItems: 7 4263e445b7SManivannan Sadhasivam maxItems: 8 4331c9ef00SManivannan Sadhasivam 4431c9ef00SManivannan Sadhasivam qcom,perst-regs: 4531c9ef00SManivannan Sadhasivam description: Reference to a syscon representing TCSR followed by the two 4631c9ef00SManivannan Sadhasivam offsets within syscon for Perst enable and Perst separation 4731c9ef00SManivannan Sadhasivam enable registers 48f5501623SRob Herring $ref: /schemas/types.yaml#/definitions/phandle-array 4931c9ef00SManivannan Sadhasivam items: 50a0754633SKrzysztof Kozlowski - items: 51a0754633SKrzysztof Kozlowski - description: Syscon to TCSR system registers 52a0754633SKrzysztof Kozlowski - description: Perst enable offset 53a0754633SKrzysztof Kozlowski - description: Perst separation enable offset 5431c9ef00SManivannan Sadhasivam 5531c9ef00SManivannan Sadhasivam interrupts: 5631c9ef00SManivannan Sadhasivam items: 5731c9ef00SManivannan Sadhasivam - description: PCIe Global interrupt 5831c9ef00SManivannan Sadhasivam - description: PCIe Doorbell interrupt 5931c9ef00SManivannan Sadhasivam 6031c9ef00SManivannan Sadhasivam interrupt-names: 6131c9ef00SManivannan Sadhasivam items: 6231c9ef00SManivannan Sadhasivam - const: global 6331c9ef00SManivannan Sadhasivam - const: doorbell 6431c9ef00SManivannan Sadhasivam 6531c9ef00SManivannan Sadhasivam reset-gpios: 6631c9ef00SManivannan Sadhasivam description: GPIO used as PERST# input signal 6731c9ef00SManivannan Sadhasivam maxItems: 1 6831c9ef00SManivannan Sadhasivam 6931c9ef00SManivannan Sadhasivam wake-gpios: 7031c9ef00SManivannan Sadhasivam description: GPIO used as WAKE# output signal 7131c9ef00SManivannan Sadhasivam maxItems: 1 7231c9ef00SManivannan Sadhasivam 7331c9ef00SManivannan Sadhasivam resets: 7431c9ef00SManivannan Sadhasivam maxItems: 1 7531c9ef00SManivannan Sadhasivam 7631c9ef00SManivannan Sadhasivam reset-names: 7731c9ef00SManivannan Sadhasivam const: core 7831c9ef00SManivannan Sadhasivam 7931c9ef00SManivannan Sadhasivam power-domains: 8031c9ef00SManivannan Sadhasivam maxItems: 1 8131c9ef00SManivannan Sadhasivam 8231c9ef00SManivannan Sadhasivam phys: 8331c9ef00SManivannan Sadhasivam maxItems: 1 8431c9ef00SManivannan Sadhasivam 8531c9ef00SManivannan Sadhasivam phy-names: 8631c9ef00SManivannan Sadhasivam const: pciephy 8731c9ef00SManivannan Sadhasivam 8831c9ef00SManivannan Sadhasivam num-lanes: 8931c9ef00SManivannan Sadhasivam default: 2 9031c9ef00SManivannan Sadhasivam 9131c9ef00SManivannan Sadhasivamrequired: 9231c9ef00SManivannan Sadhasivam - compatible 9331c9ef00SManivannan Sadhasivam - reg 9431c9ef00SManivannan Sadhasivam - reg-names 9531c9ef00SManivannan Sadhasivam - clocks 9631c9ef00SManivannan Sadhasivam - clock-names 9731c9ef00SManivannan Sadhasivam - interrupts 9831c9ef00SManivannan Sadhasivam - interrupt-names 9931c9ef00SManivannan Sadhasivam - reset-gpios 10031c9ef00SManivannan Sadhasivam - resets 10131c9ef00SManivannan Sadhasivam - reset-names 10231c9ef00SManivannan Sadhasivam - power-domains 10331c9ef00SManivannan Sadhasivam 1048dffa879SManivannan SadhasivamallOf: 1058dffa879SManivannan Sadhasivam - $ref: pci-ep.yaml# 1068dffa879SManivannan Sadhasivam - if: 1078dffa879SManivannan Sadhasivam properties: 1088dffa879SManivannan Sadhasivam compatible: 1098dffa879SManivannan Sadhasivam contains: 1108dffa879SManivannan Sadhasivam enum: 1118dffa879SManivannan Sadhasivam - qcom,sdx55-pcie-ep 1128dffa879SManivannan Sadhasivam then: 1138dffa879SManivannan Sadhasivam properties: 1148dffa879SManivannan Sadhasivam clocks: 1158dffa879SManivannan Sadhasivam items: 1168dffa879SManivannan Sadhasivam - description: PCIe Auxiliary clock 1178dffa879SManivannan Sadhasivam - description: PCIe CFG AHB clock 1188dffa879SManivannan Sadhasivam - description: PCIe Master AXI clock 1198dffa879SManivannan Sadhasivam - description: PCIe Slave AXI clock 1208dffa879SManivannan Sadhasivam - description: PCIe Slave Q2A AXI clock 1218dffa879SManivannan Sadhasivam - description: PCIe Sleep clock 1228dffa879SManivannan Sadhasivam - description: PCIe Reference clock 1238dffa879SManivannan Sadhasivam clock-names: 1248dffa879SManivannan Sadhasivam items: 1258dffa879SManivannan Sadhasivam - const: aux 1268dffa879SManivannan Sadhasivam - const: cfg 1278dffa879SManivannan Sadhasivam - const: bus_master 1288dffa879SManivannan Sadhasivam - const: bus_slave 1298dffa879SManivannan Sadhasivam - const: slave_q2a 1308dffa879SManivannan Sadhasivam - const: sleep 1318dffa879SManivannan Sadhasivam - const: ref 1328dffa879SManivannan Sadhasivam 13363e445b7SManivannan Sadhasivam - if: 13463e445b7SManivannan Sadhasivam properties: 13563e445b7SManivannan Sadhasivam compatible: 13663e445b7SManivannan Sadhasivam contains: 13763e445b7SManivannan Sadhasivam enum: 13863e445b7SManivannan Sadhasivam - qcom,sm8450-pcie-ep 13963e445b7SManivannan Sadhasivam then: 14063e445b7SManivannan Sadhasivam properties: 14163e445b7SManivannan Sadhasivam clocks: 14263e445b7SManivannan Sadhasivam items: 14363e445b7SManivannan Sadhasivam - description: PCIe Auxiliary clock 14463e445b7SManivannan Sadhasivam - description: PCIe CFG AHB clock 14563e445b7SManivannan Sadhasivam - description: PCIe Master AXI clock 14663e445b7SManivannan Sadhasivam - description: PCIe Slave AXI clock 14763e445b7SManivannan Sadhasivam - description: PCIe Slave Q2A AXI clock 14863e445b7SManivannan Sadhasivam - description: PCIe Reference clock 14963e445b7SManivannan Sadhasivam - description: PCIe DDRSS SF TBU clock 15063e445b7SManivannan Sadhasivam - description: PCIe AGGRE NOC AXI clock 15163e445b7SManivannan Sadhasivam clock-names: 15263e445b7SManivannan Sadhasivam items: 15363e445b7SManivannan Sadhasivam - const: aux 15463e445b7SManivannan Sadhasivam - const: cfg 15563e445b7SManivannan Sadhasivam - const: bus_master 15663e445b7SManivannan Sadhasivam - const: bus_slave 15763e445b7SManivannan Sadhasivam - const: slave_q2a 15863e445b7SManivannan Sadhasivam - const: ref 15963e445b7SManivannan Sadhasivam - const: ddrss_sf_tbu 16063e445b7SManivannan Sadhasivam - const: aggre_noc_axi 16163e445b7SManivannan Sadhasivam 16231c9ef00SManivannan SadhasivamunevaluatedProperties: false 16331c9ef00SManivannan Sadhasivam 16431c9ef00SManivannan Sadhasivamexamples: 16531c9ef00SManivannan Sadhasivam - | 16631c9ef00SManivannan Sadhasivam #include <dt-bindings/clock/qcom,gcc-sdx55.h> 16731c9ef00SManivannan Sadhasivam #include <dt-bindings/gpio/gpio.h> 16831c9ef00SManivannan Sadhasivam #include <dt-bindings/interrupt-controller/arm-gic.h> 16931c9ef00SManivannan Sadhasivam pcie_ep: pcie-ep@40000000 { 17031c9ef00SManivannan Sadhasivam compatible = "qcom,sdx55-pcie-ep"; 17131c9ef00SManivannan Sadhasivam reg = <0x01c00000 0x3000>, 17231c9ef00SManivannan Sadhasivam <0x40000000 0xf1d>, 17331c9ef00SManivannan Sadhasivam <0x40000f20 0xc8>, 17431c9ef00SManivannan Sadhasivam <0x40001000 0x1000>, 17531c9ef00SManivannan Sadhasivam <0x40002000 0x1000>, 17631c9ef00SManivannan Sadhasivam <0x01c03000 0x3000>; 17731c9ef00SManivannan Sadhasivam reg-names = "parf", "dbi", "elbi", "atu", "addr_space", 17831c9ef00SManivannan Sadhasivam "mmio"; 17931c9ef00SManivannan Sadhasivam 18031c9ef00SManivannan Sadhasivam clocks = <&gcc GCC_PCIE_AUX_CLK>, 18131c9ef00SManivannan Sadhasivam <&gcc GCC_PCIE_CFG_AHB_CLK>, 18231c9ef00SManivannan Sadhasivam <&gcc GCC_PCIE_MSTR_AXI_CLK>, 18331c9ef00SManivannan Sadhasivam <&gcc GCC_PCIE_SLV_AXI_CLK>, 18431c9ef00SManivannan Sadhasivam <&gcc GCC_PCIE_SLV_Q2A_AXI_CLK>, 18531c9ef00SManivannan Sadhasivam <&gcc GCC_PCIE_SLEEP_CLK>, 18631c9ef00SManivannan Sadhasivam <&gcc GCC_PCIE_0_CLKREF_CLK>; 18731c9ef00SManivannan Sadhasivam clock-names = "aux", "cfg", "bus_master", "bus_slave", 18831c9ef00SManivannan Sadhasivam "slave_q2a", "sleep", "ref"; 18931c9ef00SManivannan Sadhasivam 19031c9ef00SManivannan Sadhasivam qcom,perst-regs = <&tcsr 0xb258 0xb270>; 19131c9ef00SManivannan Sadhasivam 19231c9ef00SManivannan Sadhasivam interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>, 19331c9ef00SManivannan Sadhasivam <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>; 19431c9ef00SManivannan Sadhasivam interrupt-names = "global", "doorbell"; 19531c9ef00SManivannan Sadhasivam reset-gpios = <&tlmm 57 GPIO_ACTIVE_LOW>; 19631c9ef00SManivannan Sadhasivam wake-gpios = <&tlmm 53 GPIO_ACTIVE_LOW>; 19731c9ef00SManivannan Sadhasivam resets = <&gcc GCC_PCIE_BCR>; 19831c9ef00SManivannan Sadhasivam reset-names = "core"; 19931c9ef00SManivannan Sadhasivam power-domains = <&gcc PCIE_GDSC>; 20031c9ef00SManivannan Sadhasivam phys = <&pcie0_lane>; 20131c9ef00SManivannan Sadhasivam phy-names = "pciephy"; 20231c9ef00SManivannan Sadhasivam max-link-speed = <3>; 20331c9ef00SManivannan Sadhasivam num-lanes = <2>; 20431c9ef00SManivannan Sadhasivam }; 205