arm64: dts: ti: k3-j721e-main: Add PCIe device tree nodes
authorKishon Vijay Abraham I <kishon@ti.com>
Mon, 14 Sep 2020 15:21:14 +0000 (20:51 +0530)
committerNishanth Menon <nm@ti.com>
Tue, 22 Sep 2020 13:19:47 +0000 (08:19 -0500)
Add PCIe device tree nodes (both RC and EP) for the four
PCIe instances here.

Also add the missing translations required in the "ranges"
DT property of cbass_main to access all the four PCIe
instances.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20200914152115.1788-2-kishon@ti.com
arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
arch/arm64/boot/dts/ti/k3-j721e.dtsi

index ea57d07777ba30421ae7d2f19ad587e121e828fe..824ccd7a414d317875f42eb2f0552905fb1c93b6 100644 (file)
                #size-cells = <1>;
                ranges = <0x0 0x0 0x00100000 0x1c000>;
 
-               serdes_ln_ctrl: serdes-ln-ctrl@4080 {
+               pcie0_ctrl: syscon@4070 {
+                       compatible = "ti,j721e-system-controller", "syscon", "simple-mfd";
+                       reg = <0x00004070 0x4>;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0x4070 0x4070 0x4>;
+               };
+
+               pcie1_ctrl: syscon@4074 {
+                       compatible = "ti,j721e-system-controller", "syscon", "simple-mfd";
+                       reg = <0x00004074 0x4>;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0x4074 0x4074 0x4>;
+               };
+
+               pcie2_ctrl: syscon@4078 {
+                       compatible = "ti,j721e-system-controller", "syscon", "simple-mfd";
+                       reg = <0x00004078 0x4>;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0x4078 0x4078 0x4>;
+               };
+
+               pcie3_ctrl: syscon@407c {
+                       compatible = "ti,j721e-system-controller", "syscon", "simple-mfd";
+                       reg = <0x0000407c 0x4>;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0x407c 0x407c 0x4>;
+               };
+
+               serdes_ln_ctrl: mux@4080 {
                        compatible = "mmio-mux";
                        reg = <0x00004080 0x50>;
                        #mux-control-cells = <1>;
                };
        };
 
+       pcie0_rc: pcie@2900000 {
+               compatible = "ti,j721e-pcie-host";
+               reg = <0x00 0x02900000 0x00 0x1000>,
+                     <0x00 0x02907000 0x00 0x400>,
+                     <0x00 0x0d000000 0x00 0x00800000>,
+                     <0x00 0x10000000 0x00 0x00001000>;
+               reg-names = "intd_cfg", "user_cfg", "reg", "cfg";
+               interrupt-names = "link_state";
+               interrupts = <GIC_SPI 318 IRQ_TYPE_EDGE_RISING>;
+               device_type = "pci";
+               ti,syscon-pcie-ctrl = <&pcie0_ctrl>;
+               max-link-speed = <3>;
+               num-lanes = <2>;
+               power-domains = <&k3_pds 239 TI_SCI_PD_EXCLUSIVE>;
+               clocks = <&k3_clks 239 1>;
+               clock-names = "fck";
+               #address-cells = <3>;
+               #size-cells = <2>;
+               bus-range = <0x0 0xf>;
+               vendor-id = <0x104c>;
+               device-id = <0xb00d>;
+               msi-map = <0x0 &gic_its 0x0 0x10000>;
+               dma-coherent;
+               ranges = <0x01000000 0x0 0x10001000 0x0 0x10001000 0x0 0x0010000>,
+                        <0x02000000 0x0 0x10011000 0x0 0x10011000 0x0 0x7fef000>;
+               dma-ranges = <0x02000000 0x0 0x0 0x0 0x0 0x10000 0x0>;
+       };
+
+       pcie0_ep: pcie-ep@2900000 {
+               compatible = "ti,j721e-pcie-ep";
+               reg = <0x00 0x02900000 0x00 0x1000>,
+                     <0x00 0x02907000 0x00 0x400>,
+                     <0x00 0x0d000000 0x00 0x00800000>,
+                     <0x00 0x10000000 0x00 0x08000000>;
+               reg-names = "intd_cfg", "user_cfg", "reg", "mem";
+               interrupt-names = "link_state";
+               interrupts = <GIC_SPI 318 IRQ_TYPE_EDGE_RISING>;
+               ti,syscon-pcie-ctrl = <&pcie0_ctrl>;
+               max-link-speed = <3>;
+               num-lanes = <2>;
+               power-domains = <&k3_pds 239 TI_SCI_PD_EXCLUSIVE>;
+               clocks = <&k3_clks 239 1>;
+               clock-names = "fck";
+               cdns,max-outbound-regions = <16>;
+               max-functions = /bits/ 8 <6>;
+               max-virtual-functions = /bits/ 16 <4 4 4 4 0 0>;
+               dma-coherent;
+       };
+
+       pcie1_rc: pcie@2910000 {
+               compatible = "ti,j721e-pcie-host";
+               reg = <0x00 0x02910000 0x00 0x1000>,
+                     <0x00 0x02917000 0x00 0x400>,
+                     <0x00 0x0d800000 0x00 0x00800000>,
+                     <0x00 0x18000000 0x00 0x00001000>;
+               reg-names = "intd_cfg", "user_cfg", "reg", "cfg";
+               interrupt-names = "link_state";
+               interrupts = <GIC_SPI 330 IRQ_TYPE_EDGE_RISING>;
+               device_type = "pci";
+               ti,syscon-pcie-ctrl = <&pcie1_ctrl>;
+               max-link-speed = <3>;
+               num-lanes = <2>;
+               power-domains = <&k3_pds 240 TI_SCI_PD_EXCLUSIVE>;
+               clocks = <&k3_clks 240 1>;
+               clock-names = "fck";
+               #address-cells = <3>;
+               #size-cells = <2>;
+               bus-range = <0x0 0xf>;
+               vendor-id = <0x104c>;
+               device-id = <0xb00d>;
+               msi-map = <0x0 &gic_its 0x10000 0x10000>;
+               dma-coherent;
+               ranges = <0x01000000 0x0 0x18001000 0x0 0x18001000 0x0 0x0010000>,
+                        <0x02000000 0x0 0x18011000 0x0 0x18011000 0x0 0x7fef000>;
+               dma-ranges = <0x02000000 0x0 0x0 0x0 0x0 0x10000 0x0>;
+       };
+
+       pcie1_ep: pcie-ep@2910000 {
+               compatible = "ti,j721e-pcie-ep";
+               reg = <0x00 0x02910000 0x00 0x1000>,
+                     <0x00 0x02917000 0x00 0x400>,
+                     <0x00 0x0d800000 0x00 0x00800000>,
+                     <0x00 0x18000000 0x00 0x08000000>;
+               reg-names = "intd_cfg", "user_cfg", "reg", "mem";
+               interrupt-names = "link_state";
+               interrupts = <GIC_SPI 330 IRQ_TYPE_EDGE_RISING>;
+               ti,syscon-pcie-ctrl = <&pcie1_ctrl>;
+               max-link-speed = <3>;
+               num-lanes = <2>;
+               power-domains = <&k3_pds 240 TI_SCI_PD_EXCLUSIVE>;
+               clocks = <&k3_clks 240 1>;
+               clock-names = "fck";
+               cdns,max-outbound-regions = <16>;
+               max-functions = /bits/ 8 <6>;
+               max-virtual-functions = /bits/ 16 <4 4 4 4 0 0>;
+               dma-coherent;
+       };
+
+       pcie2_rc: pcie@2920000 {
+               compatible = "ti,j721e-pcie-host";
+               reg = <0x00 0x02920000 0x00 0x1000>,
+                     <0x00 0x02927000 0x00 0x400>,
+                     <0x00 0x0e000000 0x00 0x00800000>,
+                     <0x44 0x00000000 0x00 0x00001000>;
+               reg-names = "intd_cfg", "user_cfg", "reg", "cfg";
+               interrupt-names = "link_state";
+               interrupts = <GIC_SPI 342 IRQ_TYPE_EDGE_RISING>;
+               device_type = "pci";
+               ti,syscon-pcie-ctrl = <&pcie2_ctrl>;
+               max-link-speed = <3>;
+               num-lanes = <2>;
+               power-domains = <&k3_pds 241 TI_SCI_PD_EXCLUSIVE>;
+               clocks = <&k3_clks 241 1>;
+               clock-names = "fck";
+               #address-cells = <3>;
+               #size-cells = <2>;
+               bus-range = <0x0 0xf>;
+               vendor-id = <0x104c>;
+               device-id = <0xb00d>;
+               msi-map = <0x0 &gic_its 0x20000 0x10000>;
+               dma-coherent;
+               ranges = <0x01000000 0x0 0x00001000 0x44 0x00001000 0x0 0x0010000>,
+                        <0x02000000 0x0 0x00011000 0x44 0x00011000 0x0 0x7fef000>;
+               dma-ranges = <0x02000000 0x0 0x0 0x0 0x0 0x10000 0x0>;
+       };
+
+       pcie2_ep: pcie-ep@2920000 {
+               compatible = "ti,j721e-pcie-ep";
+               reg = <0x00 0x02920000 0x00 0x1000>,
+                     <0x00 0x02927000 0x00 0x400>,
+                     <0x00 0x0e000000 0x00 0x00800000>,
+                     <0x44 0x00000000 0x00 0x08000000>;
+               reg-names = "intd_cfg", "user_cfg", "reg", "mem";
+               interrupt-names = "link_state";
+               interrupts = <GIC_SPI 342 IRQ_TYPE_EDGE_RISING>;
+               ti,syscon-pcie-ctrl = <&pcie2_ctrl>;
+               max-link-speed = <3>;
+               num-lanes = <2>;
+               power-domains = <&k3_pds 241 TI_SCI_PD_EXCLUSIVE>;
+               clocks = <&k3_clks 241 1>;
+               clock-names = "fck";
+               cdns,max-outbound-regions = <16>;
+               max-functions = /bits/ 8 <6>;
+               max-virtual-functions = /bits/ 16 <4 4 4 4 0 0>;
+               dma-coherent;
+       };
+
+       pcie3_rc: pcie@2930000 {
+               compatible = "ti,j721e-pcie-host";
+               reg = <0x00 0x02930000 0x00 0x1000>,
+                     <0x00 0x02937000 0x00 0x400>,
+                     <0x00 0x0e800000 0x00 0x00800000>,
+                     <0x44 0x10000000 0x00 0x00001000>;
+               reg-names = "intd_cfg", "user_cfg", "reg", "cfg";
+               interrupt-names = "link_state";
+               interrupts = <GIC_SPI 354 IRQ_TYPE_EDGE_RISING>;
+               device_type = "pci";
+               ti,syscon-pcie-ctrl = <&pcie3_ctrl>;
+               max-link-speed = <3>;
+               num-lanes = <2>;
+               power-domains = <&k3_pds 242 TI_SCI_PD_EXCLUSIVE>;
+               clocks = <&k3_clks 242 1>;
+               clock-names = "fck";
+               #address-cells = <3>;
+               #size-cells = <2>;
+               bus-range = <0x0 0xf>;
+               vendor-id = <0x104c>;
+               device-id = <0xb00d>;
+               msi-map = <0x0 &gic_its 0x30000 0x10000>;
+               dma-coherent;
+               ranges = <0x01000000 0x0 0x00001000 0x44 0x10001000 0x0 0x0010000>,
+                        <0x02000000 0x0 0x00011000 0x44 0x10011000 0x0 0x7fef000>;
+               dma-ranges = <0x02000000 0x0 0x0 0x0 0x0 0x10000 0x0>;
+       };
+
+       pcie3_ep: pcie-ep@2930000 {
+               compatible = "ti,j721e-pcie-ep";
+               reg = <0x00 0x02930000 0x00 0x1000>,
+                     <0x00 0x02937000 0x00 0x400>,
+                     <0x00 0x0e800000 0x00 0x00800000>,
+                     <0x44 0x10000000 0x00 0x08000000>;
+               reg-names = "intd_cfg", "user_cfg", "reg", "mem";
+               interrupt-names = "link_state";
+               interrupts = <GIC_SPI 354 IRQ_TYPE_EDGE_RISING>;
+               ti,syscon-pcie-ctrl = <&pcie3_ctrl>;
+               max-link-speed = <3>;
+               num-lanes = <2>;
+               power-domains = <&k3_pds 242 TI_SCI_PD_EXCLUSIVE>;
+               clocks = <&k3_clks 242 1>;
+               clock-names = "fck";
+               cdns,max-outbound-regions = <16>;
+               max-functions = /bits/ 8 <6>;
+               max-virtual-functions = /bits/ 16 <4 4 4 4 0 0>;
+               dma-coherent;
+               #address-cells = <2>;
+               #size-cells = <2>;
+       };
+
        main_uart0: serial@2800000 {
                compatible = "ti,j721e-uart", "ti,am654-uart";
                reg = <0x00 0x02800000 0x00 0x100>;
index 1bb8235d9ffb3d070119e106dab374a6c20e602a..cc483f7344af3132aaa0059eb3e5b6c38ea19a5a 100644 (file)
                         <0x00 0x06400000 0x00 0x06400000 0x00 0x00400000>, /* USBSS1 */
                         <0x00 0x01000000 0x00 0x01000000 0x00 0x0af02400>, /* Most peripherals */
                         <0x00 0x30000000 0x00 0x30000000 0x00 0x0c400000>, /* MAIN NAVSS */
-                        <0x00 0x0d000000 0x00 0x0d000000 0x00 0x01000000>, /* PCIe Core*/
+                        <0x00 0x0d000000 0x00 0x0d000000 0x00 0x01800000>, /* PCIe Core*/
+                        <0x00 0x0e000000 0x00 0x0e000000 0x00 0x01800000>, /* PCIe Core*/
                         <0x00 0x10000000 0x00 0x10000000 0x00 0x10000000>, /* PCIe DAT */
                         <0x00 0x64800000 0x00 0x64800000 0x00 0x00800000>, /* C71 */
+                        <0x44 0x00000000 0x44 0x00000000 0x00 0x08000000>, /* PCIe2 DAT */
+                        <0x44 0x10000000 0x44 0x10000000 0x00 0x08000000>, /* PCIe3 DAT */
                         <0x4d 0x80800000 0x4d 0x80800000 0x00 0x00800000>, /* C66_0 */
                         <0x4d 0x81800000 0x4d 0x81800000 0x00 0x00800000>, /* C66_1 */
                         <0x4e 0x20000000 0x4e 0x20000000 0x00 0x00080000>, /* GPU */