On T1042D4-64B demo board, what is the way of changing PCIe related Registers I mentioned in the header(PEX registers)?
I want to make a new configuration for EP device because there is unlogged deadlocks on U-boot console (It hangs) when I plug EP device with its driver.
As I read in the documentation of T1040RM,
2.5.3.1 Illegal Interaction Between Inbound ATMUs and LAWs
Since both local access windows and inbound ATMUs map transactions to a target
interface, it is essential that they not contradict one another.
For example, it is considered a programming error to have an inbound ATMU map a
transaction target to the local memory space if the resulting translated local address is
mapped to an external peripheral interface by a local access window. Such programming
errors may result in unpredictable system deadlocks.
I think this causes my problem.
Hello Ahmet Demir,
In u-boot header file, please modify the memory map in include/configs/T104xRDB.h to enlarge memory size in the following part to enlarge LAW and TLB configuration to support your PCIe EP device.
#ifdef CONFIG_PCIE1
#define CONFIG_SYS_PCIE1_MEM_VIRT 0x80000000
#define CONFIG_SYS_PCIE1_MEM_BUS 0xe0000000
#define CONFIG_SYS_PCIE1_MEM_PHYS 0xc00000000ull
#define CONFIG_SYS_PCIE1_MEM_SIZE 0x10000000 /* 256M */ ------>0x20000000
#define CONFIG_SYS_PCIE1_IO_VIRT 0xf8000000
#define CONFIG_SYS_PCIE1_IO_BUS 0x00000000
#define CONFIG_SYS_PCIE1_IO_PHYS 0xff8000000ull
#define CONFIG_SYS_PCIE1_IO_SIZE 0x00010000 /* 64k */ --------->0x00020000
#endif
Thanks,
Yiping
Hello Mr. Wang,
Which variable is responsible to change physical memory adress on endpoint device? (Not size, I mean start adress) and is there any way to change whole system memory map?
#ifdef CONFIG_PCIE1
#define CONFIG_SYS_PCIE1_MEM_VIRT 0x80000000
#define CONFIG_SYS_PCIE1_MEM_BUS 0xe0000000
#define CONFIG_SYS_PCIE1_MEM_PHYS 0xc00000000ull
#define CONFIG_SYS_PCIE1_MEM_SIZE 0x10000000 /* 256M */ ------>0x20000000
#define CONFIG_SYS_PCIE1_IO_VIRT 0xf8000000
#define CONFIG_SYS_PCIE1_IO_BUS 0x00000000
#define CONFIG_SYS_PCIE1_IO_PHYS 0xff8000000ull
#define CONFIG_SYS_PCIE1_IO_SIZE 0x00010000 /* 64k */ --------->0x00020000
#endif