123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257 |
- /** @file
- Copyright (c) 2016, Hisilicon Limited. All rights reserved.<BR>
- Copyright (c) 2016, Linaro Limited. All rights reserved.<BR>
- SPDX-License-Identifier: BSD-2-Clause-Patent
- **/
- #include <Library/PcdLib.h>
- #include <Library/PlatformPciLib.h>
- UINT64 pcie_subctrl_base_1610[PCIE_MAX_HOSTBRIDGE][PCIE_MAX_ROOTBRIDGE] = {{0xa0000000, 0xa0000000,0xa0000000,0xa0000000,0x8a0000000,0x8a0000000,0x8a0000000,0x8a0000000},
- {0x600a0000000,0x600a0000000,0x600a0000000,0x600a0000000, 0x700a0000000,0x700a0000000,0x700a0000000,0x700a0000000}};
- UINT64 PCIE_APB_SLAVE_BASE_1610[PCIE_MAX_HOSTBRIDGE][PCIE_MAX_ROOTBRIDGE] = {{0xa0090000, 0xa0200000, 0xa00a0000, 0xa00b0000, 0x8a0090000, 0x8a0200000, 0x8a00a0000, 0x8a00b0000},
- {0x600a0090000, 0x600a0200000, 0x600a00a0000, 0x600a00b0000, 0x700a0090000, 0x700a0200000, 0x700a00a0000, 0x700a00b0000}};
- UINT64 PCIE_PHY_BASE_1610 [PCIE_MAX_HOSTBRIDGE][PCIE_MAX_ROOTBRIDGE] = {{0xa00c0000, 0xa00d0000, 0xa00e0000, 0xa00f0000, 0x8a00c0000, 0x8a00d0000, 0x8a00e0000, 0x8a00f0000},
- {0x600a00c0000, 0x600a00d0000, 0x600a00e0000, 0x600a00f0000, 0x700a00c0000, 0x700a00d0000, 0x700a00e0000, 0x700a00f0000}};
- UINT64 PCIE_ITS_1610[PCIE_MAX_HOSTBRIDGE][PCIE_MAX_ROOTBRIDGE] = {{0xc6010040, 0xc6010040, 0xc6010040, 0xc6010040, 0x8c6010040, 0x8c6010040, 0x8c6010040, 0x8c6010040},
- {0x400C6010040, 0x400C6010040, 0x400C6010040, 0x400C6010040, 0x408C6010040, 0x408C6010040, 0x408C6010040, 0x408C6010040}};
- PCI_ROOT_BRIDGE_RESOURCE_APPETURE mResAppeture[PCIE_MAX_HOSTBRIDGE][PCIE_MAX_ROOTBRIDGE] = {
- {// HostBridge 0
- /* Port 0 */
- {
- 0, //Segment
- PCI_HB0RB0_ECAM_BASE, //ecam
- 0x80, //BusBase
- 0x87, //BusLimit
- PCI_HB0RB0_IO_BASE, //IoBase
- (PCI_HB0RB0_CPUIOREGIONBASE + PCI_HB0RB0_IO_SIZE - 1), //IoLimit
- PCI_HB0RB0_CPUMEMREGIONBASE, //CpuMemRegionBase
- PCI_HB0RB0_CPUIOREGIONBASE, //CpuIoRegionBase
- (PCI_HB0RB0_PCI_BASE),//RbPciBar
- PCI_HB0RB0_PCIREGION_BASE, //PciRegionbase
- PCI_HB0RB0_PCIREGION_BASE + PCI_HB0RB0_PCIREGION_SIZE - 1 //PciRegionlimit
- },
- /* Port 1 */
- {
- 1, //Segment
- PCI_HB0RB1_ECAM_BASE,//ecam
- 0x90, //BusBase
- 0x97, //BusLimit
- (PCI_HB0RB1_IO_BASE), //IoBase
- (PCI_HB0RB1_CPUIOREGIONBASE + PCI_HB0RB1_IO_SIZE - 1), //IoLimit
- PCI_HB0RB1_CPUMEMREGIONBASE, //CpuMemRegionBase
- PCI_HB0RB1_CPUIOREGIONBASE, //CpuIoRegionBase
- (PCI_HB0RB1_PCI_BASE), //RbPciBar
- PCI_HB0RB1_PCIREGION_BASE, //PciRegionbase
- PCI_HB0RB1_PCIREGION_BASE + PCI_HB0RB1_PCIREGION_SIZE - 1 //PciRegionlimit
- },
- /* Port 2 */
- {
- 2, //Segment
- PCI_HB0RB2_ECAM_BASE,
- 0xF8, //BusBase
- 0xFF, //BusLimit
- (PCI_HB0RB2_IO_BASE), //IOBase
- (PCI_HB0RB2_CPUIOREGIONBASE + PCI_HB0RB2_IO_SIZE - 1), //IoLimit
- PCI_HB0RB2_CPUMEMREGIONBASE, //CpuMemRegionBase
- PCI_HB0RB2_CPUIOREGIONBASE, //CpuIoRegionBase
- (PCI_HB0RB2_PCI_BASE), //RbPciBar
- PCI_HB0RB2_PCIREGION_BASE, //PciRegionbase
- PCI_HB0RB2_PCIREGION_BASE + PCI_HB0RB2_PCIREGION_SIZE - 1 //PciRegionlimit
- },
- /* Port 3 */
- {
- 3, //Segment
- PCI_HB0RB3_ECAM_BASE,
- 0xb0, //BusBase
- 0xb7, //BusLimit
- (PCI_HB0RB3_IO_BASE), //IoBase
- (PCI_HB0RB3_CPUIOREGIONBASE + PCI_HB0RB3_IO_SIZE - 1), //IoLimit
- PCI_HB0RB3_CPUMEMREGIONBASE,
- PCI_HB0RB3_CPUIOREGIONBASE,
- (PCI_HB0RB3_PCI_BASE), //RbPciBar
- PCI_HB0RB3_PCIREGION_BASE, //PciRegionbase
- PCI_HB0RB3_PCIREGION_BASE + PCI_HB0RB3_PCIREGION_SIZE - 1 //PciRegionlimit
- },
- /* Port 4 */
- {
- 4, //Segment
- PCI_HB0RB4_ECAM_BASE, //ecam
- 0x88, //BusBase
- 0x8f, //BusLimit
- PCI_HB0RB4_IO_BASE, //IoBase
- (PCI_HB0RB4_CPUIOREGIONBASE + PCI_HB0RB4_IO_SIZE - 1), //IoLimit
- PCI_HB0RB4_CPUMEMREGIONBASE, //CpuMemRegionBase
- PCI_HB0RB4_CPUIOREGIONBASE, //CpuIoRegionBase
- (PCI_HB0RB4_PCI_BASE), //RbPciBar
- PCI_HB0RB4_PCIREGION_BASE, //PciRegionbase
- PCI_HB0RB4_PCIREGION_BASE + PCI_HB0RB4_PCIREGION_SIZE - 1 //PciRegionlimit
- },
- /* Port 5 */
- {
- 5, //Segment
- PCI_HB0RB5_ECAM_BASE,//ecam
- 0x78, //BusBase
- 0x7F, //BusLimit
- (PCI_HB0RB5_IO_BASE), //IoBase
- (PCI_HB0RB5_CPUIOREGIONBASE + PCI_HB0RB5_IO_SIZE - 1), //IoLimit
- PCI_HB0RB5_CPUMEMREGIONBASE, //CpuMemRegionBase
- PCI_HB0RB5_CPUIOREGIONBASE, //CpuIoRegionBase
- (PCI_HB0RB5_PCI_BASE), //RbPciBar
- PCI_HB0RB5_PCIREGION_BASE, //PciRegionbase
- PCI_HB0RB5_PCIREGION_BASE + PCI_HB0RB5_PCIREGION_SIZE - 1 //PciRegionlimit
- },
- /* Port 6 */
- {
- 6, //Segment
- PCI_HB0RB6_ECAM_BASE,
- 0xC0, //BusBase
- 0xC7, //BusLimit
- (PCI_HB0RB6_IO_BASE), //IOBase
- (PCI_HB0RB6_CPUIOREGIONBASE + PCI_HB0RB6_IO_SIZE - 1), //IoLimit
- PCI_HB0RB6_CPUMEMREGIONBASE, //CpuMemRegionBase
- PCI_HB0RB6_CPUIOREGIONBASE, //CpuIoRegionBase
- (PCI_HB0RB6_PCI_BASE), //RbPciBar
- PCI_HB0RB6_PCIREGION_BASE, //PciRegionbase
- PCI_HB0RB6_PCIREGION_BASE + PCI_HB0RB6_PCIREGION_SIZE - 1 //PciRegionlimit
- },
- /* Port 7 */
- {
- 7, //Segment
- PCI_HB0RB7_ECAM_BASE,
- 0x90, //BusBase
- 0x97, //BusLimit
- (PCI_HB0RB7_IO_BASE), //IoBase
- (PCI_HB0RB7_CPUIOREGIONBASE + PCI_HB0RB7_IO_SIZE - 1), //IoLimit
- PCI_HB0RB7_CPUMEMREGIONBASE,
- PCI_HB0RB7_CPUIOREGIONBASE,
- (PCI_HB0RB7_PCI_BASE), //RbPciBar
- PCI_HB0RB7_PCIREGION_BASE, //PciRegionbase
- PCI_HB0RB7_PCIREGION_BASE + PCI_HB0RB7_PCIREGION_SIZE - 1 //PciRegionlimit
- }
- },
- {// HostBridge 1
- /* Port 0 */
- {
- 8, //Segment
- PCI_HB1RB0_ECAM_BASE,
- 0x80, //BusBase
- 0x87, //BusLimit
- PCI_HB1RB0_IO_BASE, //IoBase
- (PCI_HB1RB0_CPUIOREGIONBASE + PCI_HB1RB0_IO_SIZE - 1), //IoLimit
- PCI_HB1RB0_CPUMEMREGIONBASE, //CpuMemRegionBase
- PCI_HB1RB0_CPUIOREGIONBASE, //CpuIoRegionBase
- (PCI_HB1RB0_PCI_BASE), //RbPciBar
- PCI_HB1RB0_PCIREGION_BASE, //PciRegionbase
- PCI_HB1RB0_PCIREGION_BASE + PCI_HB1RB0_PCIREGION_SIZE - 1 //PciRegionlimit
- },
- /* Port 1 */
- {
- 9, //Segment
- PCI_HB1RB1_ECAM_BASE,
- 0x90, //BusBase
- 0x97, //BusLimit
- PCI_HB1RB1_IO_BASE, //IoBase
- (PCI_HB1RB1_CPUIOREGIONBASE + PCI_HB1RB1_IO_SIZE - 1), //IoLimit
- PCI_HB1RB1_CPUMEMREGIONBASE, //CpuMemRegionBase
- PCI_HB1RB1_CPUIOREGIONBASE, //CpuIoRegionBase
- (PCI_HB1RB1_PCI_BASE), //RbPciBar
- PCI_HB1RB1_PCIREGION_BASE, //PciRegionbase
- PCI_HB1RB1_PCIREGION_BASE + PCI_HB1RB1_PCIREGION_SIZE - 1 //PciRegionlimit
- },
- /* Port 2 */
- {
- 0xa, //Segment
- PCI_HB1RB2_ECAM_BASE,
- 0x10, //BusBase
- 0x1f, //BusLimit
- PCI_HB1RB2_IO_BASE, //IoBase
- (PCI_HB1RB2_CPUIOREGIONBASE + PCI_HB1RB2_IO_SIZE - 1), //IoLimit
- PCI_HB1RB2_CPUMEMREGIONBASE, //CpuMemRegionBase
- PCI_HB1RB2_CPUIOREGIONBASE, //CpuIoRegionBase
- (PCI_HB1RB2_PCI_BASE), //RbPciBar
- PCI_HB1RB2_PCIREGION_BASE, //PciRegionbase
- PCI_HB1RB2_PCIREGION_BASE + PCI_HB1RB2_PCIREGION_SIZE - 1 //PciRegionlimit
- },
- /* Port 3 */
- {
- 0xb, //Segment
- PCI_HB1RB3_ECAM_BASE,
- 0xb0, //BusBase
- 0xb7, //BusLimit
- PCI_HB1RB3_IO_BASE, //IoBase
- (PCI_HB1RB3_CPUIOREGIONBASE + PCI_HB1RB3_IO_SIZE - 1), //IoLimit
- PCI_HB1RB3_CPUMEMREGIONBASE, //CpuMemRegionBase
- PCI_HB1RB3_CPUIOREGIONBASE, //CpuIoRegionBase
- (PCI_HB1RB3_PCI_BASE), //RbPciBar
- PCI_HB1RB3_PCIREGION_BASE, //PciRegionbase
- PCI_HB1RB3_PCIREGION_BASE + PCI_HB1RB3_PCIREGION_SIZE - 1 //PciRegionlimit
- },
- /* Port 4 */
- {
- 0xc, //Segment
- PCI_HB1RB4_ECAM_BASE,
- 0x20, //BusBase
- 0x2f, //BusLimit
- PCI_HB1RB4_IO_BASE, //IoBase
- (PCI_HB1RB4_CPUIOREGIONBASE + PCI_HB1RB4_IO_SIZE - 1), //IoLimit
- PCI_HB1RB4_CPUMEMREGIONBASE, //CpuMemRegionBase
- PCI_HB1RB4_CPUIOREGIONBASE, //CpuIoRegionBase
- (PCI_HB1RB4_PCI_BASE), //RbPciBar
- PCI_HB1RB4_PCIREGION_BASE, //PciRegionbase
- PCI_HB1RB4_PCIREGION_BASE + PCI_HB1RB4_PCIREGION_SIZE - 1 //PciRegionlimit
- },
- /* Port 5 */
- {
- 0xd, //Segment
- PCI_HB1RB5_ECAM_BASE,
- 0x30, //BusBase
- 0x3f, //BusLimit
- PCI_HB1RB5_IO_BASE, //IoBase
- (PCI_HB1RB5_CPUIOREGIONBASE + PCI_HB1RB5_IO_SIZE - 1), //IoLimit
- PCI_HB1RB5_CPUMEMREGIONBASE, //CpuMemRegionBase
- PCI_HB1RB5_CPUIOREGIONBASE, //CpuIoRegionBase
- (PCI_HB1RB5_PCI_BASE), //RbPciBar
- PCI_HB1RB5_PCIREGION_BASE, //PciRegionbase
- PCI_HB1RB5_PCIREGION_BASE + PCI_HB1RB5_PCIREGION_SIZE - 1 //PciRegionlimit
- },
- /* Port 6 */
- {
- 0xe, //Segment
- PCI_HB1RB6_ECAM_BASE,
- 0xa8, //BusBase
- 0xaf, //BusLimit
- PCI_HB1RB6_IO_BASE, //IoBase
- (PCI_HB1RB6_CPUIOREGIONBASE + PCI_HB1RB6_IO_SIZE - 1), //IoLimit
- PCI_HB1RB6_CPUMEMREGIONBASE, //CpuMemRegionBase
- PCI_HB1RB6_CPUIOREGIONBASE, //CpuIoRegionBase
- (PCI_HB1RB6_PCI_BASE), //RbPciBar
- PCI_HB1RB6_PCIREGION_BASE, //PciRegionbase
- PCI_HB1RB6_PCIREGION_BASE + PCI_HB1RB6_PCIREGION_SIZE - 1 //PciRegionlimit
- },
- /* Port 7 */
- {
- 0xf, //Segment
- PCI_HB1RB7_ECAM_BASE,
- 0xb8, //BusBase
- 0xbf, //BusLimit
- PCI_HB1RB7_IO_BASE, //IoBase
- (PCI_HB1RB7_CPUIOREGIONBASE + PCI_HB1RB7_IO_SIZE - 1), //IoLimit
- PCI_HB1RB7_CPUMEMREGIONBASE, //CpuMemRegionBase
- PCI_HB1RB7_CPUIOREGIONBASE, //CpuIoRegionBase
- (PCI_HB1RB7_PCI_BASE), //RbPciBar
- PCI_HB1RB7_PCIREGION_BASE, //PciRegionbase
- PCI_HB1RB7_PCIREGION_BASE + PCI_HB1RB7_PCIREGION_SIZE - 1 //PciRegionlimit
- }
- }
- };
|