Hi Bulat,
I am summarizing my understanding in the below mail, please let me know if it is correct.
We are making a new card using T2080 and we have purchased the T2080 RDB board for doing some hands on. Our board will have some different interfaces with respect to reference board(T2080RDB).
So with your suggestions I have prepared a memory map for our system as shown below:
| 1) CS0 -> Boot Flash | -> F_E800_0000 - F_F7FF_FFFF -> 256 MB |
2) CS1 -> Control FPGA 1 -> F_F800_0000 - F_F80F_FFFF -> 1 MB
3) CS2 -> Control Fpga 2 -> F_F810_0000 - F_F81F_FFFF -> 1 MB
4) CS3 -> Control Fpga 3 -> F_F820_0000 - F_F82F_FFFF -> 1 MB
| 5) CS4 -> Framer 1 | -> F_F830_0000 - F_F83F_FFFF -> 1 MB |
| 6) CS5 -> Framer 2 | -> F_F840_0000 - F_F84F_FFFF -> 1 MB |
7) CS6 -> spare to move boot flash when secure boot comes into picture
8) CS7 -> spare
| 9) n/a -> DDR 3 | -> 0_0000_0000 - 0_ffff_ffff -> 4 GiB /*In boot loader (UBOOT) I will map 2 GiB only*/ |
| 10)n/a -> CCSBAR | -> F_FE00_0000 - F_FEFF_FFFF -> 16 MB |
| 11)n/a -> PCIe1 MEM | -> C_0000_0000 - C_1FFF_FFFF -> 512 MB |
| 12)n/a -> PCIe2 MEM | -> C_2000_0000 - C_2FFF_FFFF -> 256 MB |
| 13)n/a -> PCIe 1 I/O | -> F_F850_0000 - F_F85F_FFFF -> 1 MB |
| 14)n/a -> PCIe 2 I/O | -> F_F860_0000 - F_F86F_FFFF -> 1 MB |
So I can retain this memory map in OS. But as I need to access 4 GiB of space in kernel I will need to recreate a TLB entry for 4 GiB space.
Any other thing which I need to take care ?
Also let suppose If I want to address my control FPGA 1 register which is map at this location (F_F800_0000 - F_F80F_FFFF) from kernel I can use this address F800_0000(effective address) instead of F_F800_0000(physical address) for accessing the FPGA register. Please let me know if my understanding is correct.?