summaryrefslogtreecommitdiff
path: root/Platform/Marvell/Documentation/PortingGuide/Pp2.txt
blob: c1554a694e543ef0ffabf79d1cfbed5aac58e6ac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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