Skip to content

Commit c824e15

Browse files
committed
arm64: dts: apple: Add PCIE nodes for t8122
This only includes the first port, because it's the only port that is present on my hardware. Signed-off-by: Alyssa Milburn <[email protected]>
1 parent dd22740 commit c824e15

1 file changed

Lines changed: 60 additions & 0 deletions

File tree

arch/arm64/boot/dts/apple/t8122.dtsi

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -559,6 +559,12 @@
559559
<APPLE_PINMUX(148, 1)>;
560560
};
561561

562+
pcie_pins: pcie-pins {
563+
// clkreq pins
564+
pinmux = <APPLE_PINMUX(183, 1)>,
565+
<APPLE_PINMUX(184, 1)>,
566+
<APPLE_PINMUX(185, 1)>;
567+
};
562568
};
563569

564570
pinctrl_nub: pinctrl@2e41f0000 {
@@ -790,6 +796,60 @@
790796
power-domain-names = "ans", "apcie_phy_sw";
791797
resets = <&ps_ans>;
792798
};
799+
800+
pcie0: pcie@580000000 {
801+
compatible = "apple,t8122-pcie", "apple,pcie";
802+
device_type = "pci";
803+
804+
reg = <0x5 0x80000000 0x0 0x1000000>, /* config */
805+
<0x5 0x91000000 0x0 0x4000>, /* rc */
806+
<0x5 0x94008000 0x0 0x4000>, /* port0 */
807+
<0x5 0x9e008000 0x0 0x4000>; /* phy0 */
808+
reg-names = "config", "rc", "port0", "phy0";
809+
810+
interrupt-parent = <&aic>;
811+
interrupts = <AIC_IRQ 923 IRQ_TYPE_LEVEL_HIGH>,
812+
<AIC_IRQ 932 IRQ_TYPE_LEVEL_HIGH>,
813+
<AIC_IRQ 941 IRQ_TYPE_LEVEL_HIGH>,
814+
<AIC_IRQ 950 IRQ_TYPE_LEVEL_HIGH>;
815+
816+
msi-controller;
817+
msi-parent = <&pcie0>;
818+
msi-ranges = <&aic AIC_IRQ 1075 IRQ_TYPE_EDGE_RISING 32>;
819+
820+
iommu-map = <0x100 &pcie0_dart_0 1 1>;
821+
iommu-map-mask = <0xff00>;
822+
823+
bus-range = <0 4>;
824+
#address-cells = <3>;
825+
#size-cells = <2>;
826+
ranges = <0x43000000 0x5 0xa0000000 0x5 0xa0000000 0x0 0x20000000>,
827+
<0x02000000 0x0 0xc0000000 0x5 0xc0000000 0x0 0x40000000>;
828+
829+
power-domains = <&ps_apcie_gp>;
830+
pinctrl-0 = <&pcie_pins>;
831+
pinctrl-names = "default";
832+
833+
dma-coherent;
834+
835+
port00: pci@0,0 {
836+
device_type = "pci";
837+
reg = <0x0 0x0 0x0 0x0 0x0>;
838+
reset-gpios = <&pinctrl_ap 187 GPIO_ACTIVE_LOW>; // perst
839+
840+
#address-cells = <3>;
841+
#size-cells = <2>;
842+
ranges;
843+
844+
interrupt-controller;
845+
#interrupt-cells = <1>;
846+
847+
interrupt-map-mask = <0 0 0 7>;
848+
interrupt-map = <0 0 0 1 &port00 0 0 0 0>,
849+
<0 0 0 2 &port00 0 0 0 1>,
850+
<0 0 0 3 &port00 0 0 0 2>,
851+
<0 0 0 4 &port00 0 0 0 3>;
852+
};
793853
};
794854
};
795855

0 commit comments

Comments
 (0)