There are several mistakes for the SerDes Configurations in LS1046A Reference Manual Rev 0 (the current rev as of this post), so I am wondering if this table is complete. What I would really like to know is whether it is possible to use any of the three PCIe controllers in x4 mode and still use one of the other controllers. It appears that this is not possible since PEX1 is the only controller listed in x4 mode and it is also the only controller listed in both SerDes banks. However, with all the other mistakes in this section, and the pattern of RCW codes, I have to wonder if the table is missing a configuration that would allow me to place PEX2 or PEX3 in x4 mode and use PEX1 from SerDes 1 (or use PEX1 in x4 and use either PEX2 or PEX3 in SerDes 1).
1) Table 30-1 has the lanes backwards, they should be ABCD instead of DCBA. You can see this if you cross-reference the manual with the way that the LS1046ARDB is setup (mode 0x1133 in the RCW), and by looking at the schematic for it (A=XFI, B=SFP+, C=SGMII, D=SGMII). Also, Table 30-2 has the lanes listed in the correct order (ABCD).
2) The notation described for Table 30-1 does not match the notation used in the table. This is particularly confusing with the notation for PCIe, which uses things like "PCIe.1 x1" instead of the described "PEX1". Since everything else in the document uses PEX1 this might seem to imply the supported PCIe standard, but that cannot be the case.
3) The rules for SerDes protocol selection list values of SRDS_PRTCL_S1 that do not exist. All the values for SRDS_PRTCL_S1 are four hex characters and the rules only list two hex characters. These characters are clearly wrong (it's not just that "0x8D, 0x45" really means 0x8D45) because they contain invalid options (0xD is not valid for any lane).
4) The SerDes lane assignments for SerDes 2 are missing, though they obviously follow the same pattern as SerDes 1 (Table 30-3).