COMPHY configuration --------------------------- In order to configure ComPhy library, following PCDs are available: gMarvellTokenSpaceGuid.PcdComPhyChipCount Indicates how many different chips are placed on board. So far, up to 4 chips are supported. Every ComPhy PCD has part where stands for chip ID (order is not important, but configuration will be set for first PcdComPhyChipCount chips). Every chip has 8 ComPhy PCDs and three of them concern lanes settings for this chip. Below is example for the first chip (Chip0). General PCDs: gMarvellTokenSpaceGuid.PcdChip0Compatible Unicode string indicating type of chip - currently supported is { L"Cp110" } gMarvellTokenSpaceGuid.PcdChip0ComPhyBaseAddress Indicates COMPHY unit base address. gMarvellTokenSpaceGuid.PcdChip0Hpipe3BaseAddress Indicates Hpipe3 unit base address. gMarvellTokenSpaceGuid.PcdChip0ComPhyMuxBitCount Indicates number of bits that are allocated for every MUX in the COMPHY-selector register. gMarvellTokenSpaceGuid.PcdChip0ComPhyMaxLanes Indicates maximum ComPhy lanes number. Next three PCDs are in unicode string format containing settings for up to 10 lanes. Setting for each one is separated with semicolon. These PCDs form structure describing outputs of PHY integrated in simple cihp. Below is example for the first chip (Chip0). gMarvellTokenSpaceGuid.PcdChip0ComPhyTypes Unicode string indicating PHY types. Currently supported are: { L"unconnected", L"PCIE0", L"PCIE1", L"PCIE2", L"PCIE3", L"SATA0", L"SATA1", L"SATA2", L"SATA3", L"SGMII0", L"SGMII1", L"SGMII2", L"SGMII3", L"QSGMII", L"USB3_HOST0", L"USB3_HOST1", L"USB3_DEVICE", L"XAUI0", L"XAUI1", L"XAUI2", L"XAUI3", L"RXAUI0", L"RXAUI1", L"KR" } Below documents describes some of above interfaces' types: SGMII, QSGMII, XAUI - IEEE 802.3 KR - IEEE 802.3a RXAUI - RXAUI Interface and RXAUI Adapter Specification, Marvell gMarvellTokenSpaceGuid.PcdChip0ComPhySpeeds Indicates PHY speeds in MHz. Currently supported are: { 1250, 1500, 2500, 3000, 3125, 5000, 6000, 6250, 10310 } gMarvellTokenSpaceGuid.PcdChip0ComPhyInvFlags Indicates lane polarity invert. Example ------- #ComPhy gMarvellTokenSpaceGuid.PcdComPhyChipCount|1 gMarvellTokenSpaceGuid.PcdChip0ComPhyMaxLanes|6 gMarvellTokenSpaceGuid.PcdChip0ComPhyBaseAddress|0xF2441000 gMarvellTokenSpaceGuid.PcdChip0Hpipe3BaseAddress|0xF2120000 gMarvellTokenSpaceGuid.PcdChip0ComPhyMuxBitCount|4 gMarvellTokenSpaceGuid.PcdChip0Compatible|L"Cp110" gMarvellTokenSpaceGuid.PcdChip0ComPhyTypes|L"SGMII2;USB3_HOST0;SGMII0;SATA1;USB3_HOST1;PCIE2" gMarvellTokenSpaceGuid.PcdChip0ComPhySpeeds|L"1250;5000;1250;5000;5000;5000"