The PCI Express (PCIE) End Point HAL module supports transactions with an PCIE Root Complex device.
The following build time configurations are defined in fsp_cfg/r_pcie_ep_cfg.h:
This module can be added to the Stacks tab via New Stack > Connectivity > PCI (r_pcie_ep).
Configuration | Options | Default | Description |
General > Name | Name must be a valid C symbol | g_pci_ep0 | Module name. |
General > Channel | Channel should be 0 or 1 | 0 | Specify the PCIE channel. |
General > Function | Function should be 0 or 1 | 0 | Specify the PCIE EP function. |
Type 0 Configuration Space Setting > Vender ID / Device ID > Vender ID | Manual Entry | 0x0000 | Vender ID. |
Type 0 Configuration Space Setting > Vender ID / Device ID > Device ID | Manual Entry | 0x0000 | Device ID. |
Type 0 Configuration Space Setting > Command > Memory Space Enable |
| Disable | Memory Space Enable. |
Type 0 Configuration Space Setting > Command > Bus Master Enable |
| Disable | Bus Master Enable. |
Type 0 Configuration Space Setting > Command > Parity Error Response |
| Disable | Parity Error Response. |
Type 0 Configuration Space Setting > Command > SERR# Enable |
| Disable | SERR# Enable. |
Type 0 Configuration Space Setting > Command > Interrupt Disable |
| Disable | Interrupt Disable. |
Type 0 Configuration Space Setting > Revision ID / Class Code > Revision ID | Manual Entry | 0x00 | Revision ID. |
Type 0 Configuration Space Setting > Revision ID / Class Code > Class Code | Manual Entry | 0x000 | Class Code. |
Type 0 Configuration Space Setting > Base Address Register 0 / 1 > Type | 64bit | 64bit | Base Address Register 0 / 1 Type. |
Type 0 Configuration Space Setting > Base Address Register 0 / 1 > Prefetch |
| Disable | Base Address Register 0 / 1 Prefetch. |
Type 0 Configuration Space Setting > Base Address Register 0 / 1 > BAR0 | Manual Entry | 0x00000000 | Base Address Register 0. |
Type 0 Configuration Space Setting > Base Address Register 0 / 1 > BAR1 | Manual Entry | 0x00000000 | Base Address Register 1. |
Type 0 Configuration Space Setting > Base Address Register 2 / 3 > Type | 64bit | 64bit | Base Address Register 2 / 3 Type. |
Type 0 Configuration Space Setting > Base Address Register 2 / 3 > Prefetch |
| Disable | Base Address Register 2 / 3 Prefetch. |
Type 0 Configuration Space Setting > Base Address Register 2 / 3 > BAR2 | Manual Entry | 0x00000000 | Base Address Register 2. |
Type 0 Configuration Space Setting > Base Address Register 2 / 3 > BAR3 | Manual Entry | 0x00000000 | Base Address Register 3. |
Type 0 Configuration Space Setting > Base Address Register 4 / 5 > Type | 64bit | 64bit | Base Address Register 4 / 5 Type. |
Type 0 Configuration Space Setting > Base Address Register 4 / 5 > Prefetch |
| Disable | Base Address Register 4 / 5 Prefetch. |
Type 0 Configuration Space Setting > Base Address Register 4 / 5 > BAR4 | Manual Entry | 0x00000000 | Base Address Register 4. |
Type 0 Configuration Space Setting > Base Address Register 4 / 5 > BAR5 | Manual Entry | 0x00000000 | Base Address Register 5. |
Type 0 Configuration Space Setting > Subsystem ID > Subsystem Vendor ID | Manual Entry | 0x0000 | Subsystem Vendor ID. |
Type 0 Configuration Space Setting > Subsystem ID > Subsystem ID | Manual Entry | 0x0000 | Subsystem ID. |
Type 0 Configuration Space Setting > Interrupt Register > Interrupt Pin |
-
Assert_INTA#
-
Assert_INTB#
-
Assert_INTC#
-
Assert_INTD#
| Assert_INTA# | Interrupt Pin. |
Configuration Register Init List > Name | Name must be a valid C symbol | g_pci_ep0_configuration_register_init_list | Configuration Register Init List symbol name. |
Configuration Register Init List > Length | The number of configuration register init lists must be a positive integer. | 0 | Number of Configuration Register Init List. |
AXI Window Setting > AXI Window Setting 0 > Window Enable |
| Enabled | AXI Window 0 Enable. |
AXI Window Setting > AXI Window Setting 0 > AXI Window Base (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | AXI Window 0 Base Address. The address must be 4Kbyte aligned. |
AXI Window Setting > AXI Window Setting 0 > AXI Window Mask (63bit width, Lower 12bits must be 1) | Manual Entry | 0x0000000000000FFF | AXI Window 0 Mask. The address of lower 12bits must be 1 and 63th bit must be 0. |
AXI Window Setting > AXI Window Setting 0 > AXI Window Destination (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | AXI Window 0 Destination Address. The address must be 4Kbyte aligned. |
AXI Window Setting > AXI Window Setting 1 > Window Enable |
| Disabled | AXI Window 1 Enable. |
AXI Window Setting > AXI Window Setting 1 > AXI Window Base (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | AXI Window 1 Base Address. The address must be 4Kbyte aligned. |
AXI Window Setting > AXI Window Setting 1 > AXI Window Mask (63bit width, Lower 12bits must be 1) | Manual Entry | 0x0000000000000FFF | AXI Window 1 Mask. The address of lower 12bits must be 1 and 63th bit must be 0. |
AXI Window Setting > AXI Window Setting 1 > AXI Window Destination (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | AXI Window 1 Destination Address. The address must be 4Kbyte aligned. |
AXI Window Setting > AXI Window Setting 2 > Window Enable |
| Disabled | AXI Window 2 Enable. |
AXI Window Setting > AXI Window Setting 2 > AXI Window Base (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | AXI Window 2 Base Address. The address must be 4Kbyte aligned. |
AXI Window Setting > AXI Window Setting 2 > AXI Window Mask (63bit width, Lower 12bits must be 1) | Manual Entry | 0x0000000000000FFF | AXI Window 2 Mask. The address of lower 12bits must be 1 and 63th bit must be 0. |
AXI Window Setting > AXI Window Setting 2 > AXI Window Destination (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | AXI Window 2 Destination Address. The address must be 4Kbyte aligned. |
AXI Window Setting > AXI Window Setting 3 > Window Enable |
| Disabled | AXI Window 3 Enable. |
AXI Window Setting > AXI Window Setting 3 > AXI Window Base (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | AXI Window 3 Base Address. The address must be 4Kbyte aligned. |
AXI Window Setting > AXI Window Setting 3 > AXI Window Mask (63bit width, Lower 12bits must be 1) | Manual Entry | 0x0000000000000FFF | AXI Window 3 Mask. The address of lower 12bits must be 1 and 63th bit must be 0. |
AXI Window Setting > AXI Window Setting 3 > AXI Window Destination (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | AXI Window 3 Destination Address. The address must be 4Kbyte aligned. |
AXI Window Setting > AXI Window Setting 4 > Window Enable |
| Disabled | AXI Window 4 Enable. |
AXI Window Setting > AXI Window Setting 4 > AXI Window Base (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | AXI Window 4 Base Address. The address must be 4Kbyte aligned. |
AXI Window Setting > AXI Window Setting 4 > AXI Window Mask (63bit width, Lower 12bits must be 1) | Manual Entry | 0x0000000000000FFF | AXI Window 4 Mask. The address of lower 12bits must be 1 and 63th bit must be 0. |
AXI Window Setting > AXI Window Setting 4 > AXI Window Destination (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | AXI Window 4 Destination Address. The address must be 4Kbyte aligned. |
AXI Window Setting > AXI Window Setting 5 > Window Enable |
| Disabled | AXI Window 5 Enable. |
AXI Window Setting > AXI Window Setting 5 > AXI Window Base (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | AXI Window 5 Base Address. The address must be 4Kbyte aligned. |
AXI Window Setting > AXI Window Setting 5 > AXI Window Mask (63bit width, Lower 12bits must be 1) | Manual Entry | 0x0000000000000FFF | AXI Window 5 Mask. The address of lower 12bits must be 1 and 63th bit must be 0. |
AXI Window Setting > AXI Window Setting 5 > AXI Window Destination (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | AXI Window 5 Destination Address. The address must be 4Kbyte aligned. |
AXI Window Setting > AXI Window Setting 6 > Window Enable |
| Disabled | AXI Window 6 Enable. |
AXI Window Setting > AXI Window Setting 6 > AXI Window Base (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | AXI Window 6 Base Address. The address must be 4Kbyte aligned. |
AXI Window Setting > AXI Window Setting 6 > AXI Window Mask (63bit width, Lower 12bits must be 1) | Manual Entry | 0x0000000000000FFF | AXI Window 6 Mask. The address of lower 12bits must be 1 and 63th bit must be 0. |
AXI Window Setting > AXI Window Setting 6 > AXI Window Destination (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | AXI Window 6 Destination Address. The address must be 4Kbyte aligned. |
AXI Window Setting > AXI Window Setting 7 > Window Enable |
| Disabled | AXI Window 7 Enable. |
AXI Window Setting > AXI Window Setting 7 > AXI Window Base (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | AXI Window 7 Base Address. The address must be 4Kbyte aligned. |
AXI Window Setting > AXI Window Setting 7 > AXI Window Mask (63bit width, Lower 12bits must be 1y) | Manual Entry | 0x0000000000000FFF | AXI Window 7 Mask. The address of lower 12bits must be 1 and 63th bit must be 0. |
AXI Window Setting > AXI Window Setting 7 > AXI Window Destination (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | AXI Window 7 Destination Address. The address must be 4Kbyte aligned. |
PCIe Window Setting > PCIe Window Setting 0 > Window Enable |
| Enabled | PCIe Window 0 Enable. |
PCIe Window Setting > PCIe Window Setting 0 > PCIe Window Base (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | PCIe Window 0 Base Address. The address must be 4Kbyte aligned. |
PCIe Window Setting > PCIe Window Setting 0 > PCIe Window Mask (63bit width, Lower 12bits must be 1) | Manual Entry | 0x0000000000000FFF | PCIe Window 0 Mask. The address of lower 12bits must be 1 and 63th bit must be 0. |
PCIe Window Setting > PCIe Window Setting 0 > PCIe Window Destination (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | PCIe Window 0 Destination Address. The address must be 4Kbyte aligned. |
PCIe Window Setting > PCIe Window Setting 1 > Window Enable |
| Disabled | PCIe Window 1 Enable. |
PCIe Window Setting > PCIe Window Setting 1 > PCIe Window Base (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | PCIe Window 1 Base Address. The address must be 4Kbyte aligned. |
PCIe Window Setting > PCIe Window Setting 1 > PCIe Window Mask (63bit width, Lower 12bits must be 1) | Manual Entry | 0x0000000000000FFF | PCIe Window 1 Mask. The address of lower 12bits must be 1 and 63th bit must be 0. |
PCIe Window Setting > PCIe Window Setting 1 > PCIe Window Destination (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | PCIe Window 1 Destination Address. The address must be 4Kbyte aligned. |
PCIe Window Setting > PCIe Window Setting 2 > Window Enable |
| Disabled | PCIe Window 2 Enable. |
PCIe Window Setting > PCIe Window Setting 2 > PCIe Window Base (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | PCIe Window 2 Base Address. The address must be 4Kbyte aligned. |
PCIe Window Setting > PCIe Window Setting 2 > PCIe Window Mask (63bit width, Lower 12bits must be 1) | Manual Entry | 0x0000000000000FFF | PCIe Window 2 Mask. The address of lower 12bits must be 1 and 63th bit must be 0. |
PCIe Window Setting > PCIe Window Setting 2 > PCIe Window Destination (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | PCIe Window 2 Destination Address. The address must be 4Kbyte aligned. |
PCIe Window Setting > PCIe Window Setting 3 > Window Enable |
| Disabled | PCIe Window 3 Enable. |
PCIe Window Setting > PCIe Window Setting 3 > PCIe Window Base (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | PCIe Window 3 Base Address. The address must be 4Kbyte aligned. |
PCIe Window Setting > PCIe Window Setting 3 > PCIe Window Mask (63bit width, Lower 12bits must be 1) | Manual Entry | 0x0000000000000FFF | PCIe Window 3 Mask. The address of lower 12bits must be 1 and 63th bit must be 0. |
PCIe Window Setting > PCIe Window Setting 3 > PCIe Window Destination (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | PCIe Window 3 Destination Address. The address must be 4Kbyte aligned. |
PCIe Window Setting > PCIe Window Setting 4 > Window Enable |
| Disabled | PCIe Window 4 Enable. |
PCIe Window Setting > PCIe Window Setting 4 > PCIe Window Base (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | PCIe Window 4 Base Address The address must be 4Kbyte aligned.. |
PCIe Window Setting > PCIe Window Setting 4 > PCIe Window Mask (63bit width, Lower 12bits must be 1) | Manual Entry | 0x0000000000000FFF | PCIe Window 4 Mask. The address of lower 12bits must be 1 and 63th bit must be 0. |
PCIe Window Setting > PCIe Window Setting 4 > PCIe Window Destination (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | PCIe Window 4 Destination Address. The address must be 4Kbyte aligned. |
PCIe Window Setting > PCIe Window Setting 5 > Window Enable |
| Disabled | PCIe Window 5 Enable. |
PCIe Window Setting > PCIe Window Setting 5 > PCIe Window Base (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | PCIe Window 5 Base Address. The address must be 4Kbyte aligned. |
PCIe Window Setting > PCIe Window Setting 5 > PCIe Window Mask (63bit width, Lower 12bits must be 1) | Manual Entry | 0x0000000000000FFF | PCIe Window 5 Mask. The address of lower 12bits must be 1 and 63th bit must be 0. |
PCIe Window Setting > PCIe Window Setting 5 > PCIe Window Destination (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | PCIe Window 5 Destination Address. The address must be 4Kbyte aligned. |
PCIe Window Setting > PCIe Window Setting 6 > Window Enable |
| Disabled | PCIe Window 6 Enable. |
PCIe Window Setting > PCIe Window Setting 6 > PCIe Window Base (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | PCIe Window 6 Base Address. The address must be 4Kbyte aligned. |
PCIe Window Setting > PCIe Window Setting 6 > PCIe Window Mask (63bit width, Lower 12bits must be 1) | Manual Entry | 0x0000000000000FFF | PCIe Window 6 Mask. The address of lower 12bits must be 1 and 63th bit must be 0. |
PCIe Window Setting > PCIe Window Setting 6 > PCIe Window Destination (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | PCIe Window 6 Destination Address. The address must be 4Kbyte aligned. |
PCIe Window Setting > PCIe Window Setting 7 > Window Enable |
| Disabled | PCIe Window 7 Enable. |
PCIe Window Setting > PCIe Window Setting 7 > PCIe Window Base (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | PCIe Window 7 Base Address. The address must be 4Kbyte aligned. |
PCIe Window Setting > PCIe Window Setting 7 > PCIe Window Mask (63bit width, Lower 12bits must be 1) | Manual Entry | 0x0000000000000FFF | PCIe Window 7 Mask. The address of lower 12bits must be 1 and 63th bit must be 0. |
PCIe Window Setting > PCIe Window Setting 7 > PCIe Window Destination (64bit width, 4KB boundary) | Manual Entry | 0x0000000000000000 | PCIe Window 7 Destination Address. The address must be 4Kbyte aligned. |
PCIe Event Interrupt Sources > Event 0 |
-
DL_UpDown
-
ASPM L1 Rejected
-
RX_DLLP_PM_ENTER_L23
-
Enable BME Parity Error Interrupt
-
CA (Completer Abort)
-
Enable AXIM RAM Parity Error Interrupt
-
Request Complete
-
Speed change operation completion
-
Up/Down Configure operation complete
| 0U | Select which event should trigger an Event interrupt. |
PCIe Event Interrupt Sources > Event 1 |
-
ERR_REPLAY_LOWER_UNCORRECTABLE_ERROR
-
ERR_REPLAY_UPPER_UNCORRECTABLE_ERROR
-
ERR_REPLAY_LOWER_CORRECTABLE_ERROR
-
ERR_REPLAY_UPPER_CORRECTABLE_ERROR
-
ERR_RPC_REPLAYFIFO_PERR
-
TXB_PARITY_ERR
| 0U | Select which event should trigger an Event interrupt. |
PCIe Event Interrupt Sources > Event 2 |
-
D3_hot_err_EN
-
The ability to detect changes in CFG_LTR_MECHANISM
| 0U | Select which event should trigger an Event interrupt. |
Interrupt > Callback | Name must be a valid C symbol | NULL | A user callback function. If this callback function is provided, it is called from the interrupt service routine (ISR). |
Interrupt > Function Level Reset (FLR) Interrupt Priority | MCU Specific Options | | Function Level Reset (FLR) Interrupt Priority. |
Interrupt > Message Receive Interrupt Priority | MCU Specific Options | | Message Receive Interrupt Priority. |
Interrupt > EVENT Interrupt Priority | MCU Specific Options | | EVENT Interrupt Priority. |
Interrupt > Non-D0 State transition receive Interrupt Priority | MCU Specific Options | | Non-D0 State transition receive Interrupt Priority. |
Interrupt > Power OFF Interrupt Priority | MCU Specific Options | | Power OFF Interrupt Priority. |
Interrupt > PME_Turn_Off Message Interrupt Priority | MCU Specific Options | | PME_Turn_Off Message Interrupt Priority. |
There is no clock configuration for the PCIe module.
PCIE Configuration registers are accessed by other PCIe devices or by itself. The PCIE peripehral of RZ microprocessor supports the following configuration registers:
Address Offset | Register Number | Register symbol | Register name |
0x000 | 0 | PCI_EP_VID_Fi | Vendor and Device ID Register (Function #i) (i = 0, 1) |
0x004 | 1 | PCI_EP_COM_STA_Fi | Command and Status Register (Function #i) (i = 0, 1) |
0x008 | 2 | PCI_EP_RID_CC_Fi | Revision ID and Class Code Register (Function #i) (i = 0, 1) |
0x00C | 3 | PCI_EP_CL_HT_Fi | Cache Line and Header Type Register (Function #i) (i = 0, 1) |
0x010 | 4 | PCI_EP_BAR0_Fi | Base Address Register 0 (Function #i) (i = 0, 1) |
0x014 | 5 | PCI_EP_BAR1_Fi | Base Address Register 1 (Function #i) (i = 0, 1) |
0x018 | 6 | PCI_EP_BAR2_Fi | Base Address Register 2 (Function #i) (i = 0, 1) |
0x01C | 7 | PCI_EP_BAR3_Fi | Base Address Register 3 (Function #i) (i = 0, 1) |
0x020 | 8 | PCI_EP_BAR4_Fi | Base Address Register 4 (Function #i) (i = 0, 1) |
0x024 | 9 | PCI_EP_BAR5_Fi | Base Address Register 5 (Function #i) (i = 0, 1) |
0x02C | 11 | PCI_EP_SUBSID_Fi | Subsystem ID Register (Function #i) (i = 0, 1) |
0x034 | 13 | PCI_EP_CP_Fi | Capabilities Pointer Register (Function #i) (i = 0, 1) |
0x03C | 15 | PCI_EP_INT_Fi | Interrupt Register (Function #i) (i = 0, 1) |
0x040 | 16 | PCI_EP_PMC_Fi | PM Capabilities Register (Function #i) (i = 0, 1) |
0x044 | 17 | PCI_EP_PMSC_Fi | PM Status/Control Register (Function #i) (i = 0, 1) |
0x060 | 24 | PCI_EP_PCIEC_Fi | PCI Express Capability Register (Function #i) (i = 0, 1) |
0x064 | 25 | PCI_EP_DEVC_Fi | Device Capabilities Register (Function #i) (i = 0, 1) |
0x068 | 26 | PCI_EP_DEVCS_Fi | Device Control/Status Register (Function #i) (i = 0, 1) |
0x06C | 27 | PCI_EP_LINKC_Fi | Link Capabilities Register (Function #i) (i = 0, 1) |
0x070 | 28 | PCI_EP_LINKCS_Fi | Link Control/Status Register (Function #i) (i = 0, 1) |
0x084 | 33 | PCI_EP_DEVC2_Fi | Device Capabilities 2 Register (Function #i) (i = 0, 1) |
0x088 | 34 | PCI_EP_DEVCS2_Fi | Device Control 2/Status 2 Register (Function #i) (i = 0, 1) |
0x08C | 35 | PCI_EP_LINKC2_Fi | Link Capabilities 2 Register (Function #i) (i = 0, 1) |
0x090 | 36 | PCI_EP_LINCS2_Fi | Link Control 2/Status 2 Register (Function #i) (i = 0, 1) |
0x0A0 | 40 | PCI_EP_BARMSK00L_Fi | Base Address Register Mask00 (Lower) Register (Function #i) (i = 0, 1) |
0x0A4 | 41 | PCI_EP_BARMSK00U_Fi | Base Address Register Mask00 (Upper) Register (Function #i) (i = 0, 1) |
0x0A8 | 42 | PCI_EP_BARMSK01L_Fi | Base Address Register Mask01 (Lower) Register (Function #i) (i = 0, 1) |
0x0AC | 43 | PCI_EP_BARMSK01U_Fi | Base Address Register Mask01 (Upper) Register (Function #i) (i = 0, 1) |
0x0B0 | 44 | PCI_EP_BARMSK02L_Fi | Base Address Register Mask02 (Lower) Register (Function #i) (i = 0, 1) |
0x0B4 | 45 | PCI_EP_BARMSK02U_Fi | Base Address Register Mask02 (Upper) Register (Function #i) (i = 0, 1) |
0x0C8 | 50 | PCI_EP_BSIZE00_01_Fi | Base Size 00/01 Register (Function #i) (i = 0, 1) |
0x0CC | 51 | PCI_EP_BSIZE02_03_Fi | Base Size 02/03 Register (Function #i) (i = 0, 1) |
0x0D0 | 52 | PCI_EP_BSIZE04_05_Fi | Base Size 04/05 Register (Function #i) (i = 0, 1) |
0x0D4 | 53 | PCI_EP_BSIZE06_Fi | Base Size 06 Register (Function #i) (i = 0, 1) |
0x0D8 | 54 | PCI_EP_TSUPPORT00_01_02_Fi | Type Supported 00/01/02 Register (Function #i) (i = 0, 1) |
0x0E0 | 56 | PCI_EP_MSICAP_Fi | MSI Capability Register (Function #i) (i = 0, 1) |
0x0E4 | 57 | PCI_EP_MSGADR_Fi | Message Address Register (Function #i) (i = 0, 1) |
0x0E8 | 58 | PCI_EP_MSGUADR_Fi | Message Upper Address Register (Function #i) (i = 0, 1) |
0x0EC | 59 | PCI_EP_MSGDAT_Fi | Message Data Register (Function #i) (i = 0, 1) |
0x0F0 | 60 | PCI_EP_MSKBIT_Fi | Mask Bits Register (Function #i) (i = 0, 1) |
0x0F4 | 61 | PCI_EP_PENDBIT_Fi | Pending Bits Register (Function #i) (i = 0, 1) |
0x100 | 64 | PCI_EP_ADVERC_Fi | Advanced Error Reporting Capability Register (Function #i) (i = 0, 1) |
0x104 | 65 | PCI_EP_UNCESTS_Fi | Uncorrectable Error Status Register (Function #i) (i = 0, 1) |
0x108 | 66 | PCI_EP_UNCEMASK_Fi | Uncorrectable Error Mask Register (Function #i) (i = 0, 1) |
0x10C | 67 | PCI_EP_UNCESVY_Fi | Uncorrectable Error Severity Register (Function #i) (i = 0, 1) |
0x110 | 68 | PCI_EP_CESTS_Fi | Correctable Error Status Register (Function #i) (i = 0, 1) |
0x114 | 69 | PCI_EP_CEMASK_Fi | Correctable Error Mask Register (Function #i) (i = 0, 1) |
0x118 | 70 | PCI_EP_ADVECC_Fi | Advanced Error Capabilities and Control Register (Function #i) (i = 0, 1) |
0x11C | 71 | PCI_EP_HLOG0_Fi | Header Log Register 0 (Function #i) (i = 0, 1) |
0x120 | 72 | PCI_EP_HLOG1_Fi | Header Log Register 1 (Function #i) (i = 0, 1) |
0x124 | 73 | PCI_EP_HLOG2_Fi | Header Log Register 2 (Function #i) (i = 0, 1) |
0x128 | 74 | PCI_EP_HLOG3_Fi | Header Log Register 3 (Function #i) (i = 0, 1) |
0x150 | 84 | PCI_EP_DEVSNEXTC_Fi | Device Serial Number Extended Capability Register (Function #i) (i = 0, 1) |
0x154 | 85 | PCI_EP_SNL_Fi | Serial Number Register (Lower DW) (Function #i) (i = 0, 1) |
0x158 | 86 | PCI_EP_SNU_Fi | Serial Number Register (Upper DW) (Function #i) (i = 0, 1) |
0x1B0 | 108 | PCI_EP_SPEECH_F0 | Secondary PCI Express Extended Capability Header Register (Function #0) |
0x1B4 | 109 | PCI_EP_LINC3_F0 | Link Control 3 Register (Function #0) |
0x1B8 | 110 | PCI_EP_LESTA_F0 | Lane Error Status Register (Function #0) |
0x1BC | 111 | PCI_EP_LEQCTI_F0 | Lane Equalization Control Register (Function #0) |
The PCIE_EP driver initializes the configuration register. Users can set the PCI compatible configuration registers up to address 0x40 using the FSP Configuration editor, and the configuration registers above address 0x40 can be set by setting pci_ep_configuration_register_init_t structure. The default template with one entry is shown below:
The AXI Window settings are used when MWr/MRd data from PCI Express is transferred to AXI bus (Data Receive operation via MWr/MRd request). Set AXI Window Base and AXI Window Mask in the BAR region. (BAR: PCI Express Configuration Register, Base Address Register)
AXI access address is shown as below.
AXI Access Address = PCIe Access Address - BAR0 - AXI Window Base + AXI Window Destination
Up to four AXI windows can be configured in each BAR area. Setting examples of AXI windows allocated to each of the BAR areas is as follows:
PCIe Window settings are used when MWr/MRd data from AXI bus is transferred to PCI Express (Data Transmit operation via MWr/MRd request).
PCIe access address is shown as below.
PCIe Access Address = AXI Access Address - PCIe Window Base + PCIe Window Destination
Using the PCIE_EP HAL driver, other PCIe devices can be accessed through PCIEn space (8GB) or through PCIEn mirror space (256MB) (n=0,1). In particular, if the bus master supports 32-bit address space only, PCIEn space must be accessed through PCIEn mirror space. When using the mirror space, the address expander setting must first be configured in the BSP configuration. Consult Section "Address Expander" in the RZ microprocessor User's Manual for details.
The below is an example of configuration space initialization.
This is a basic example of minimal use of the PCIE_EP module in an application.