Hi Alex, On Fri, May 31, 2019 at 12:27 AM Alex Marginean <alexm.ossl...@gmail.com> wrote: > > LS1028A includes an integrated PCI bus with 8M of ECAM space plus register > space for the integrated devices. This integrated PCI bus is driven using > the generic ECAM driver. > > Signed-off-by: Alex Marginean <alexm.ossl...@gmail.com> > --- > arch/arm/dts/fsl-ls1028a.dtsi | 10 ++++++++++ > arch/arm/include/asm/arch-fsl-layerscape/cpu.h | 2 ++ > arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h | 2 ++ > configs/ls1028aqds_tfa_defconfig | 1 + > configs/ls1028ardb_tfa_defconfig | 1 + > 5 files changed, 16 insertions(+) > > diff --git a/arch/arm/dts/fsl-ls1028a.dtsi b/arch/arm/dts/fsl-ls1028a.dtsi > index e6a443aa77..263c29af23 100644 > --- a/arch/arm/dts/fsl-ls1028a.dtsi > +++ b/arch/arm/dts/fsl-ls1028a.dtsi > @@ -108,6 +108,16 @@ > 0x82000000 0x0 0x40000000 0x88 0x40000000 0x0 > 0x40000000>; /* non-prefetchable memory */ > }; > > + pcie@1f0000000 { > + compatible = "pci-host-ecam-generic"; > + reg = <0x01 0xf0000000 0x0 0x100000>; > + #address-cells = <3>; > + #size-cells = <2>; > + device_type = "pci"; > + bus-range = <0x0 0x0>;
I think this should be <0x0 0x7> since you mentioned in the commit message that only an 8M ECAM space is allocated. > + ranges= <0x82000000 0x0 0x00000000 0x1 0xf8000000 0x0 > 0x160000>; > + }; > + > i2c0: i2c@2000000 { > compatible = "fsl,vf610-i2c"; > #address-cells = <1>; > diff --git a/arch/arm/include/asm/arch-fsl-layerscape/cpu.h > b/arch/arm/include/asm/arch-fsl-layerscape/cpu.h > index bdeb62576c..7759acdb8f 100644 > --- a/arch/arm/include/asm/arch-fsl-layerscape/cpu.h > +++ b/arch/arm/include/asm/arch-fsl-layerscape/cpu.h > @@ -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 > diff --git a/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h > b/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h > index 24c1b0e482..273157230f 100644 > --- a/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h > +++ b/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h > @@ -186,6 +186,8 @@ > #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 > +#define CONFIG_SYS_PCIE3_PHYS_SIZE 0x0010000000ULL DT says the size is 0x100000. This does not match. These macros really look to me this platform is still using lots of non-DM approaches when it comes to driver support. These hard coded values should really be dropped and retrieved from DT instead via proper DM drivers. > #else > #define CONFIG_SYS_PCIE1_PHYS_ADDR 0x1000000000ULL > #define CONFIG_SYS_PCIE2_PHYS_ADDR 0x1200000000ULL > diff --git a/configs/ls1028aqds_tfa_defconfig > b/configs/ls1028aqds_tfa_defconfig > index 717b810523..7982ce4157 100644 > --- a/configs/ls1028aqds_tfa_defconfig > +++ b/configs/ls1028aqds_tfa_defconfig > @@ -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 > diff --git a/configs/ls1028ardb_tfa_defconfig > b/configs/ls1028ardb_tfa_defconfig > index a8e4ddb7a8..c65e37df79 100644 > --- a/configs/ls1028ardb_tfa_defconfig > +++ b/configs/ls1028ardb_tfa_defconfig > @@ -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 > -- Regards, Bin _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot