Hello
i new to use mpc8309's pci, my board has two mpc8309,one as pci master,other as pci agent,between them is pci bus.pci master 8309 read or write agent 8309 through pci bus,agent 8309 also can read or write the same addr.i know
need set pci outbound and pci inbound, i don’t know PCI Outbound Translation Address Registers (POTARn) and PCI Inbound Translation Address Registers (PITARn) how to set, please give me some advices.
if i use mpc8309 as a master pci device.
if PCILAWBAR0 values is 0x80000000.
i want to know pci outbound transiation address、pci outbound base address how to set
if i use mpc8309 as a pci agent device
if PCILAWBAR0 values is 0x80000000.
i want to know pci inbound base address、pci inbound translation address how to set
Thanks
See the AN-571 from IDT on the following page:
Find the "Address Translation" chapter in this Application Note. The PCI host is free to assign address space in the system domain and the PCI agent can freely assign address space in its local domain.
See also attached files.
The MPC8309_twr.h file is u-boot configuration file from LTIB Linux BSP for the TWR-MPC8309 board.
The following PCI setting is used:
#define CONFIG_SYS_PCI1_MEM_BASE 0x80000000
#define CONFIG_SYS_PCI1_MEM_PHYS CONFIG_SYS_PCI1_MEM_BASE
#define CONFIG_SYS_PCI1_MEM_SIZE 0x10000000 /* 256M */
#define CONFIG_SYS_PCI1_MMIO_BASE 0x90000000
#define CONFIG_SYS_PCI1_MMIO_PHYS CONFIG_SYS_PCI1_MMIO_BASE
#define CONFIG_SYS_PCI1_MMIO_SIZE 0x10000000 /* 256M */
#define CONFIG_SYS_PCI1_IO_BASE 0xd0000000
#define CONFIG_SYS_PCI1_IO_PHYS CONFIG_SYS_PCI1_IO_BASE
#define CONFIG_SYS_PCI1_IO_SIZE 0x04000000 /* 64M */
The mpc8309twr.dts file is u-boot configuration file from LTIB Linux BSP for the TWR-MPC8309 board.
The following PCI "ranges" is used on this board:
ranges = <0x42000000 0x0 0x80000000 0x80000000 0x0 0x10000000
0x02000000 0x0 0x90000000 0x90000000 0x0 0x10000000
0x01000000 0x0 0xd0000000 0xd0000000 0x0 0x04000000>;
See the DTS_PCI_ranges.txt file.
Have a great day,
Pavel Chubakov
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------