arm: ls1028a: define the integrated PCI bus (ECAM)
authorAlex Marginean <alexm.osslist@gmail.com>
Fri, 7 Jun 2019 14:03:07 +0000 (17:03 +0300)
committerPrabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
Wed, 19 Jun 2019 07:24:57 +0000 (12:54 +0530)
LS1028A includes an integrated PCI bus with 11 PCI functions residing on
bus 0.  ECAM plus the device register space takes up 256MB of address
space.

Signed-off-by: Alex Marginean <alexm.osslist@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
arch/arm/dts/fsl-ls1028a.dtsi
arch/arm/include/asm/arch-fsl-layerscape/cpu.h
arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h
configs/ls1028aqds_tfa_defconfig
configs/ls1028ardb_tfa_defconfig

index 29a0858cead5ad880162560ca73dfdd60257a85e..49074112c4ed717d6299253ba6f889f334871d5f 100644 (file)
                       0x82000000 0x0 0x40000000 0x88 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
        };
 
+       pcie@1f0000000 {
+               compatible = "pci-host-ecam-generic";
+               /* ECAM bus 0, HW has more space reserved but not populated */
+               bus-range = <0x0 0x0>;
+               reg = <0x01 0xf0000000 0x0 0x100000>;
+               #address-cells = <3>;
+               #size-cells = <2>;
+               device_type = "pci";
+               ranges= <0x82000000 0x0 0x00000000 0x1 0xf8000000 0x0 0x160000>;
+       };
+
        i2c0: i2c@2000000 {
                compatible = "fsl,vf610-i2c";
                #address-cells = <1>;
index bdeb62576c7065f2f9f548f9082796d9ccf4c4c0..7759acdb8f6bafb274f7ba749cc3ffa9be8a1119 100644 (file)
@@ -42,7 +42,9 @@
 #else
 #define CONFIG_SYS_PCIE1_PHYS_SIZE     0x800000000
 #define CONFIG_SYS_PCIE2_PHYS_SIZE     0x800000000
+#ifndef CONFIG_SYS_PCIE3_PHYS_SIZE
 #define CONFIG_SYS_PCIE3_PHYS_SIZE     0x800000000
+#endif
 #define CONFIG_SYS_PCIE4_PHYS_SIZE     0x800000000
 #define SYS_PCIE5_PHYS_SIZE            0x800000000
 #define SYS_PCIE6_PHYS_SIZE            0x800000000
index 2b12e9f81af61bfccebc0fdf76a5fd24588ef87c..ee9b33becf080d4a70e5cd9b6fc13960a473b34d 100644 (file)
 #elif CONFIG_ARCH_LS1028A
 #define CONFIG_SYS_PCIE1_PHYS_ADDR             0x8000000000ULL
 #define CONFIG_SYS_PCIE2_PHYS_ADDR             0x8800000000ULL
+#define CONFIG_SYS_PCIE3_PHYS_ADDR             0x01f0000000ULL
+/* this is used by integrated PCI on LS1028, includes ECAM and register space */
+#define CONFIG_SYS_PCIE3_PHYS_SIZE             0x0010000000ULL
 #else
 #define CONFIG_SYS_PCIE1_PHYS_ADDR             0x1000000000ULL
 #define CONFIG_SYS_PCIE2_PHYS_ADDR             0x1200000000ULL
index 717b81052373656adf89e9838cf5da68ecd66a9d..7982ce4157c48ee31a00b4bd52ea0b68f1db3720 100644 (file)
@@ -48,6 +48,7 @@ CONFIG_E1000=y
 CONFIG_PCI=y
 CONFIG_DM_PCI=y
 CONFIG_DM_PCI_COMPAT=y
+CONFIG_PCIE_ECAM_GENERIC=y
 CONFIG_PCIE_LAYERSCAPE=y
 CONFIG_SCSI=y
 CONFIG_DM_SCSI=y
index a8e4ddb7a822eeec2820a47be0521db8d6f777c4..c65e37df795c9a5fe8f7df0463205a04edab23b7 100644 (file)
@@ -48,6 +48,7 @@ CONFIG_E1000=y
 CONFIG_PCI=y
 CONFIG_DM_PCI=y
 CONFIG_DM_PCI_COMPAT=y
+CONFIG_PCIE_ECAM_GENERIC=y
 CONFIG_PCIE_LAYERSCAPE=y
 CONFIG_SCSI=y
 CONFIG_DM_SCSI=y