mpc 8309 pci master and agent

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

mpc 8309 pci master and agent

400 Views
威杨
Contributor III

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.

pastedImage_1.png

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 

pastedImage_4.png

if  PCILAWBAR0 values is 0x80000000.

i want to know pci inbound base address、pci inbound translation address how to set

Thanks

0 Kudos
1 Reply

231 Views
Pavel
NXP Employee
NXP Employee

See the AN-571 from IDT on the following page:

https://www.google.ru/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&uact=8&ved=0ahUKEwjj59zszITRA...

 

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!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos