Skip to content

Commit 2b20437

Browse files
Mani-Sadhasivamandersson
authored andcommitted
ARM: dts: qcom: sdx55: Add support for PCIe RC controller
The PCIe controller in SDX55 can act as the RC controller also. Let's add support for it. Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Signed-off-by: Bjorn Andersson <andersson@kernel.org> Link: https://lore.kernel.org/r/20230308082424.140224-8-manivannan.sadhasivam@linaro.org
1 parent c9f30e3 commit 2b20437

1 file changed

Lines changed: 81 additions & 0 deletions

File tree

arch/arm/boot/dts/qcom-sdx55.dtsi

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,87 @@
304304
status = "disabled";
305305
};
306306

307+
pcie_rc: pcie@1c00000 {
308+
compatible = "qcom,pcie-sdx55";
309+
reg = <0x01c00000 0x3000>,
310+
<0x40000000 0xf1d>,
311+
<0x40000f20 0xc8>,
312+
<0x40001000 0x1000>,
313+
<0x40100000 0x100000>;
314+
reg-names = "parf",
315+
"dbi",
316+
"elbi",
317+
"atu",
318+
"config";
319+
device_type = "pci";
320+
linux,pci-domain = <0>;
321+
bus-range = <0x00 0xff>;
322+
num-lanes = <1>;
323+
324+
#address-cells = <3>;
325+
#size-cells = <2>;
326+
327+
ranges = <0x01000000 0x0 0x00000000 0x40200000 0x0 0x100000>,
328+
<0x02000000 0x0 0x40300000 0x40300000 0x0 0x3fd00000>;
329+
330+
interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
331+
<GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
332+
<GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
333+
<GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
334+
<GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
335+
<GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
336+
<GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
337+
<GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
338+
interrupt-names = "msi",
339+
"msi2",
340+
"msi3",
341+
"msi4",
342+
"msi5",
343+
"msi6",
344+
"msi7",
345+
"msi8";
346+
#interrupt-cells = <1>;
347+
interrupt-map-mask = <0 0 0 0x7>;
348+
interrupt-map = <0 0 0 1 &intc 0 0 0 141 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
349+
<0 0 0 2 &intc 0 0 0 142 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
350+
<0 0 0 3 &intc 0 0 0 143 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
351+
<0 0 0 4 &intc 0 0 0 144 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
352+
353+
clocks = <&gcc GCC_PCIE_PIPE_CLK>,
354+
<&gcc GCC_PCIE_AUX_CLK>,
355+
<&gcc GCC_PCIE_CFG_AHB_CLK>,
356+
<&gcc GCC_PCIE_MSTR_AXI_CLK>,
357+
<&gcc GCC_PCIE_SLV_AXI_CLK>,
358+
<&gcc GCC_PCIE_SLV_Q2A_AXI_CLK>,
359+
<&gcc GCC_PCIE_SLEEP_CLK>;
360+
clock-names = "pipe",
361+
"aux",
362+
"cfg",
363+
"bus_master",
364+
"bus_slave",
365+
"slave_q2a",
366+
"sleep";
367+
368+
assigned-clocks = <&gcc GCC_PCIE_AUX_CLK>;
369+
assigned-clock-rates = <19200000>;
370+
371+
iommu-map = <0x0 &apps_smmu 0x0200 0x1>,
372+
<0x100 &apps_smmu 0x0201 0x1>,
373+
<0x200 &apps_smmu 0x0202 0x1>,
374+
<0x300 &apps_smmu 0x0203 0x1>,
375+
<0x400 &apps_smmu 0x0204 0x1>;
376+
377+
resets = <&gcc GCC_PCIE_BCR>;
378+
reset-names = "pci";
379+
380+
power-domains = <&gcc PCIE_GDSC>;
381+
382+
phys = <&pcie_lane>;
383+
phy-names = "pciephy";
384+
385+
status = "disabled";
386+
};
387+
307388
pcie_ep: pcie-ep@1c00000 {
308389
compatible = "qcom,sdx55-pcie-ep";
309390
reg = <0x01c00000 0x3000>,

0 commit comments

Comments
 (0)