arm64: apple: Add PCIe node
authorMark Kettenis <kettenis@openbsd.org>
Mon, 25 Oct 2021 21:10:15 +0000 (22:10 +0100)
committerHector Martin <marcan@marcan.st>
Wed, 27 Oct 2021 12:12:25 +0000 (21:12 +0900)
Add node corresponding to the apcie,t8103 node in the
Apple device tree for the Mac mini (M1, 2020).

Power domain references and DART (IOMMU) references are left out
at the moment and will be added once the appropriate bindings have
been settled upon.

Acked-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210921183420.436-5-kettenis@openbsd.org
Signed-off-by: Hector Martin <marcan@marcan.st>
arch/arm64/boot/dts/apple/t8103.dtsi

index 7af1ffbc970d10d68b8f4397d65598f598d7ba31..ed562e1103a9a6ab15536e314f95d1befa3e069f 100644 (file)
                                     <AIC_IRQ 396 IRQ_TYPE_LEVEL_HIGH>,
                                     <AIC_IRQ 397 IRQ_TYPE_LEVEL_HIGH>;
                };
+
+               pcie0: pcie@690000000 {
+                       compatible = "apple,t8103-pcie", "apple,pcie";
+                       device_type = "pci";
+
+                       reg = <0x6 0x90000000 0x0 0x1000000>,
+                             <0x6 0x80000000 0x0 0x100000>,
+                             <0x6 0x81000000 0x0 0x4000>,
+                             <0x6 0x82000000 0x0 0x4000>,
+                             <0x6 0x83000000 0x0 0x4000>;
+                       reg-names = "config", "rc", "port0", "port1", "port2";
+
+                       interrupt-parent = <&aic>;
+                       interrupts = <AIC_IRQ 695 IRQ_TYPE_LEVEL_HIGH>,
+                                    <AIC_IRQ 698 IRQ_TYPE_LEVEL_HIGH>,
+                                    <AIC_IRQ 701 IRQ_TYPE_LEVEL_HIGH>;
+
+                       msi-controller;
+                       msi-parent = <&pcie0>;
+                       msi-ranges = <&aic AIC_IRQ 704 IRQ_TYPE_EDGE_RISING 32>;
+
+                       bus-range = <0 3>;
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+                       ranges = <0x43000000 0x6 0xa0000000 0x6 0xa0000000 0x0 0x20000000>,
+                                <0x02000000 0x0 0xc0000000 0x6 0xc0000000 0x0 0x40000000>;
+
+                       pinctrl-0 = <&pcie_pins>;
+                       pinctrl-names = "default";
+
+                       pci@0,0 {
+                               device_type = "pci";
+                               reg = <0x0 0x0 0x0 0x0 0x0>;
+                               reset-gpios = <&pinctrl_ap 152 0>;
+                               max-link-speed = <2>;
+
+                               #address-cells = <3>;
+                               #size-cells = <2>;
+                               ranges;
+                       };
+
+                       pci@1,0 {
+                               device_type = "pci";
+                               reg = <0x800 0x0 0x0 0x0 0x0>;
+                               reset-gpios = <&pinctrl_ap 153 0>;
+                               max-link-speed = <2>;
+
+                               #address-cells = <3>;
+                               #size-cells = <2>;
+                               ranges;
+                       };
+
+                       pci@2,0 {
+                               device_type = "pci";
+                               reg = <0x1000 0x0 0x0 0x0 0x0>;
+                               reset-gpios = <&pinctrl_ap 33 0>;
+                               max-link-speed = <1>;
+
+                               #address-cells = <3>;
+                               #size-cells = <2>;
+                               ranges;
+                       };
+               };
        };
 };