In SPRUGW1B table 2-5 it mentions RIO_DEVICEID_REG0..15 and has the footnote: "** Note that RIO_DeviceID_Regn are an input to the logic layer, and are not its memory map." (I assume there should be an 'in' in there).
In section 2.3.12 RX Multicast and Multiple DestID Support it state: "The device’s main baseID (0x1060) is now automatically copied into the RIO_DEVICEID_REG1 by
hardware, and does not require a separate write by software.".
These two comments are consistent, but say nothing about how registers 2..15 are set.
Later in the same document (2.3.15.3 Peripheral Initializations) it has:
// Set Device ID Registers
rdata = SRIO_REGS->DEVICEID_REG1;
wdata = 0x00ABBEEF;
mask = 0x00FFFFFF;
mdata = (wdata & mask) | (rdata & ~mask);
SRIO_REGS->DEVICEID_REG1 = mdata ; // id-16b=BEEF, id-08b=AB
rdata = SRIO_REGS->DEVICEID_REG2;
wdata = 0x00ABBEEF;
mask = 0x00FFFFFF;
mdata = (wdata & mask) | (rdata & ~mask);
SRIO_REGS->DEVICEID_REG2 = mdata ; // id-16b=BEEF, id-08b=AB
This contradicts the statements above. Where is DEVICEID_REG1? Is it in the memory map (as implied by the code above) or is it not (as stated in table 2-5)?
A note on page 2-2 states: "DeviceID Register 1 through DeviceID Register 15 inherit their values from the Base Routing Registers".
As there appear to be only 4 such Base Routing Registers, how can sixteen DEVICEID registers be set by them?