Pp2Dxe porting guide -------------------- Pp2Dxe is driver supporting PP2 NIC on Marvell platforms. Following PCDs are required to operate: Number of ports/network interfaces: gMarvellTokenSpaceGuid.PcdPp2NumPorts Addresses of PHY devices: gMarvellTokenSpaceGuid.PcdPhySmiAddresses Identificators of PP2 ports: gMarvellTokenSpaceGuid.PcdPp2PortIds Indexes used in GOP operation: gMarvellTokenSpaceGuid.PcdPp2GopIndexes Set to 0x1 for always-up interface, 0x0 otherwise: gMarvellTokenSpaceGuid.PcdPp2InterfaceAlwaysUp Values corresponding to PHY_SPEED enum: gMarvellTokenSpaceGuid.PcdPp2InterfaceSpeed PHY_SPEED (in Mbps) is defined as follows: typedef enum { 0 NO_SPEED, 1 SPEED_10, 2 SPEED_100, 3 SPEED_1000, 4 SPEED_2500, 5 SPEED_10000 } PHY_SPEED; Base address of shared register space of PP2: gMarvellTokenSpaceGuid.PcdPp2SharedAddress Spacing between consecutive GMAC register spaces: gMarvellTokenSpaceGuid.PcdPp2GmacDevSize Base address of GMAC: gMarvellTokenSpaceGuid.PcdPp2GmacBaseAddress Spacing between consecutive XLG register spaces: gMarvellTokenSpaceGuid.PcdPp2XlgDevSize Base address of XLG: gMarvellTokenSpaceGuid.PcdPp2XlgBaseAddress Base address of RFU1: gMarvellTokenSpaceGuid.PcdPp2Rfu1BaseAddress Base address of SMI: gMarvellTokenSpaceGuid.PcdPp2SmiBaseAddress TCLK frequency in Hz: gMarvellTokenSpaceGuid.PcdPp2ClockFrequency GMAC and XLG addresses are computed as follows: address = base_address + dev_size * gop_index