Skip to content

Commit 9ef4554

Browse files
Praveenkumar Iandersson
authored andcommitted
arm64: dts: qcom: ipq5332: Add PCIe related nodes
Add phy and controller nodes for pcie0_x1 and pcie1_x2. Signed-off-by: Praveenkumar I <[email protected]> Signed-off-by: Varadarajan Narayanan <[email protected]> Reviewed-by: Konrad Dybcio <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Bjorn Andersson <[email protected]>
1 parent c249a0b commit 9ef4554

File tree

1 file changed

+250
-2
lines changed

1 file changed

+250
-2
lines changed

arch/arm64/boot/dts/qcom/ipq5332.dtsi

Lines changed: 250 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,46 @@
252252
#thermal-sensor-cells = <1>;
253253
};
254254

255+
pcie0_phy: phy@4b0000 {
256+
compatible = "qcom,ipq5332-uniphy-pcie-phy";
257+
reg = <0x004b0000 0x800>;
258+
259+
clocks = <&gcc GCC_PCIE3X1_0_PIPE_CLK>,
260+
<&gcc GCC_PCIE3X1_PHY_AHB_CLK>;
261+
262+
resets = <&gcc GCC_PCIE3X1_0_PHY_BCR>,
263+
<&gcc GCC_PCIE3X1_PHY_AHB_CLK_ARES>,
264+
<&gcc GCC_PCIE3X1_0_PHY_PHY_BCR>;
265+
266+
#clock-cells = <0>;
267+
268+
#phy-cells = <0>;
269+
270+
num-lanes = <1>;
271+
272+
status = "disabled";
273+
};
274+
275+
pcie1_phy: phy@4b1000 {
276+
compatible = "qcom,ipq5332-uniphy-pcie-phy";
277+
reg = <0x004b1000 0x1000>;
278+
279+
clocks = <&gcc GCC_PCIE3X2_PIPE_CLK>,
280+
<&gcc GCC_PCIE3X2_PHY_AHB_CLK>;
281+
282+
resets = <&gcc GCC_PCIE3X2_PHY_BCR>,
283+
<&gcc GCC_PCIE3X2_PHY_AHB_CLK_ARES>,
284+
<&gcc GCC_PCIE3X2PHY_PHY_BCR>;
285+
286+
#clock-cells = <0>;
287+
288+
#phy-cells = <0>;
289+
290+
num-lanes = <2>;
291+
292+
status = "disabled";
293+
};
294+
255295
tlmm: pinctrl@1000000 {
256296
compatible = "qcom,ipq5332-tlmm";
257297
reg = <0x01000000 0x300000>;
@@ -278,8 +318,8 @@
278318
#interconnect-cells = <1>;
279319
clocks = <&xo_board>,
280320
<&sleep_clk>,
281-
<0>,
282-
<0>,
321+
<&pcie1_phy>,
322+
<&pcie0_phy>,
283323
<0>;
284324
};
285325

@@ -545,6 +585,214 @@
545585
status = "disabled";
546586
};
547587
};
588+
589+
pcie1: pcie@18000000 {
590+
compatible = "qcom,pcie-ipq5332", "qcom,pcie-ipq9574";
591+
reg = <0x18000000 0xf1c>,
592+
<0x18000f20 0xa8>,
593+
<0x18001000 0x1000>,
594+
<0x00088000 0x3000>,
595+
<0x18100000 0x1000>,
596+
<0x0008b000 0x1000>;
597+
reg-names = "dbi",
598+
"elbi",
599+
"atu",
600+
"parf",
601+
"config",
602+
"mhi";
603+
device_type = "pci";
604+
linux,pci-domain = <1>;
605+
num-lanes = <2>;
606+
#address-cells = <3>;
607+
#size-cells = <2>;
608+
609+
ranges = <0x01000000 0x0 0x00000000 0x18200000 0x0 0x00100000>,
610+
<0x02000000 0x0 0x18300000 0x18300000 0x0 0x07d00000>;
611+
612+
msi-map = <0x0 &v2m0 0x0 0xffd>;
613+
614+
interrupts = <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>,
615+
<GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>,
616+
<GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>,
617+
<GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>,
618+
<GIC_SPI 407 IRQ_TYPE_LEVEL_HIGH>,
619+
<GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>,
620+
<GIC_SPI 409 IRQ_TYPE_LEVEL_HIGH>,
621+
<GIC_SPI 410 IRQ_TYPE_LEVEL_HIGH>,
622+
<GIC_SPI 411 IRQ_TYPE_LEVEL_HIGH>;
623+
interrupt-names = "msi0",
624+
"msi1",
625+
"msi2",
626+
"msi3",
627+
"msi4",
628+
"msi5",
629+
"msi6",
630+
"msi7",
631+
"global";
632+
633+
#interrupt-cells = <1>;
634+
interrupt-map-mask = <0 0 0 0x7>;
635+
interrupt-map = <0 0 0 1 &intc 0 0 412 IRQ_TYPE_LEVEL_HIGH>,
636+
<0 0 0 2 &intc 0 0 413 IRQ_TYPE_LEVEL_HIGH>,
637+
<0 0 0 3 &intc 0 0 414 IRQ_TYPE_LEVEL_HIGH>,
638+
<0 0 0 4 &intc 0 0 415 IRQ_TYPE_LEVEL_HIGH>;
639+
640+
clocks = <&gcc GCC_PCIE3X2_AXI_M_CLK>,
641+
<&gcc GCC_PCIE3X2_AXI_S_CLK>,
642+
<&gcc GCC_PCIE3X2_AXI_S_BRIDGE_CLK>,
643+
<&gcc GCC_PCIE3X2_RCHG_CLK>,
644+
<&gcc GCC_PCIE3X2_AHB_CLK>,
645+
<&gcc GCC_PCIE3X2_AUX_CLK>;
646+
clock-names = "axi_m",
647+
"axi_s",
648+
"axi_bridge",
649+
"rchng",
650+
"ahb",
651+
"aux";
652+
653+
assigned-clocks = <&gcc GCC_PCIE3X2_AUX_CLK>;
654+
655+
assigned-clock-rates = <2000000>;
656+
657+
resets = <&gcc GCC_PCIE3X2_PIPE_ARES>,
658+
<&gcc GCC_PCIE3X2_CORE_STICKY_ARES>,
659+
<&gcc GCC_PCIE3X2_AXI_S_STICKY_ARES>,
660+
<&gcc GCC_PCIE3X2_AXI_S_CLK_ARES>,
661+
<&gcc GCC_PCIE3X2_AXI_M_STICKY_ARES>,
662+
<&gcc GCC_PCIE3X2_AXI_M_CLK_ARES>,
663+
<&gcc GCC_PCIE3X2_AUX_CLK_ARES>,
664+
<&gcc GCC_PCIE3X2_AHB_CLK_ARES>;
665+
reset-names = "pipe",
666+
"sticky",
667+
"axi_s_sticky",
668+
"axi_s",
669+
"axi_m_sticky",
670+
"axi_m",
671+
"aux",
672+
"ahb";
673+
674+
phys = <&pcie1_phy>;
675+
phy-names = "pciephy";
676+
677+
interconnects = <&gcc MASTER_SNOC_PCIE3_2_M &gcc SLAVE_SNOC_PCIE3_2_M>,
678+
<&gcc MASTER_ANOC_PCIE3_2_S &gcc SLAVE_ANOC_PCIE3_2_S>;
679+
interconnect-names = "pcie-mem", "cpu-pcie";
680+
681+
status = "disabled";
682+
683+
pcie@0 {
684+
device_type = "pci";
685+
reg = <0x0 0x0 0x0 0x0 0x0>;
686+
687+
#address-cells = <3>;
688+
#size-cells = <2>;
689+
ranges;
690+
};
691+
};
692+
693+
pcie0: pcie@20000000 {
694+
compatible = "qcom,pcie-ipq5332", "qcom,pcie-ipq9574";
695+
reg = <0x20000000 0xf1c>,
696+
<0x20000f20 0xa8>,
697+
<0x20001000 0x1000>,
698+
<0x00080000 0x3000>,
699+
<0x20100000 0x1000>,
700+
<0x00083000 0x1000>;
701+
reg-names = "dbi",
702+
"elbi",
703+
"atu",
704+
"parf",
705+
"config",
706+
"mhi";
707+
device_type = "pci";
708+
linux,pci-domain = <0>;
709+
num-lanes = <1>;
710+
#address-cells = <3>;
711+
#size-cells = <2>;
712+
713+
ranges = <0x01000000 0x0 0x00000000 0x20200000 0x0 0x00100000>,
714+
<0x02000000 0x0 0x20300000 0x20300000 0x0 0x0fd00000>;
715+
716+
msi-map = <0x0 &v2m0 0x0 0xffd>;
717+
718+
interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
719+
<GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
720+
<GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
721+
<GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
722+
<GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
723+
<GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
724+
<GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
725+
<GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
726+
<GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
727+
interrupt-names = "msi0",
728+
"msi1",
729+
"msi2",
730+
"msi3",
731+
"msi4",
732+
"msi5",
733+
"msi6",
734+
"msi7",
735+
"global";
736+
737+
#interrupt-cells = <1>;
738+
interrupt-map-mask = <0 0 0 0x7>;
739+
interrupt-map = <0 0 0 1 &intc 0 0 35 IRQ_TYPE_LEVEL_HIGH>,
740+
<0 0 0 2 &intc 0 0 36 IRQ_TYPE_LEVEL_HIGH>,
741+
<0 0 0 3 &intc 0 0 37 IRQ_TYPE_LEVEL_HIGH>,
742+
<0 0 0 4 &intc 0 0 38 IRQ_TYPE_LEVEL_HIGH>;
743+
744+
clocks = <&gcc GCC_PCIE3X1_0_AXI_M_CLK>,
745+
<&gcc GCC_PCIE3X1_0_AXI_S_CLK>,
746+
<&gcc GCC_PCIE3X1_0_AXI_S_BRIDGE_CLK>,
747+
<&gcc GCC_PCIE3X1_0_RCHG_CLK>,
748+
<&gcc GCC_PCIE3X1_0_AHB_CLK>,
749+
<&gcc GCC_PCIE3X1_0_AUX_CLK>;
750+
clock-names = "axi_m",
751+
"axi_s",
752+
"axi_bridge",
753+
"rchng",
754+
"ahb",
755+
"aux";
756+
757+
assigned-clocks = <&gcc GCC_PCIE3X1_0_AUX_CLK>;
758+
759+
assigned-clock-rates = <2000000>;
760+
761+
resets = <&gcc GCC_PCIE3X1_0_PIPE_ARES>,
762+
<&gcc GCC_PCIE3X1_0_CORE_STICKY_ARES>,
763+
<&gcc GCC_PCIE3X1_0_AXI_S_STICKY_ARES>,
764+
<&gcc GCC_PCIE3X1_0_AXI_S_CLK_ARES>,
765+
<&gcc GCC_PCIE3X1_0_AXI_M_STICKY_ARES>,
766+
<&gcc GCC_PCIE3X1_0_AXI_M_CLK_ARES>,
767+
<&gcc GCC_PCIE3X1_0_AUX_CLK_ARES>,
768+
<&gcc GCC_PCIE3X1_0_AHB_CLK_ARES>;
769+
reset-names = "pipe",
770+
"sticky",
771+
"axi_s_sticky",
772+
"axi_s",
773+
"axi_m_sticky",
774+
"axi_m",
775+
"aux",
776+
"ahb";
777+
778+
phys = <&pcie0_phy>;
779+
phy-names = "pciephy";
780+
781+
interconnects = <&gcc MASTER_SNOC_PCIE3_1_M &gcc SLAVE_SNOC_PCIE3_1_M>,
782+
<&gcc MASTER_ANOC_PCIE3_1_S &gcc SLAVE_ANOC_PCIE3_1_S>;
783+
interconnect-names = "pcie-mem", "cpu-pcie";
784+
785+
status = "disabled";
786+
787+
pcie@0 {
788+
device_type = "pci";
789+
reg = <0x0 0x0 0x0 0x0 0x0>;
790+
791+
#address-cells = <3>;
792+
#size-cells = <2>;
793+
ranges;
794+
};
795+
};
548796
};
549797

550798
thermal-zones {

0 commit comments

Comments
 (0)