INF-8077i XFP register map
An XFP module answers at one two-wire address (A0h) with a lower memory of 128 bytes — thresholds, flags, monitors and control — and upper tables selected by byte 127, of which table 01h is the serial ID. The layout predates SFF-8636 and was its model: the QSFP identity block copies XFP's byte positions almost exactly. This page lists the lower memory and table 01h byte by byte and bit by bit, compiled against INF-8077i Rev 4.5. Narrative: INF-8077i — XFP management.
Legend: rsvd = reserved · vendor = vendor specific · 16-bit values are MSB first · flags are latched, cleared on read.
Lower memory — thresholds, bytes 0–57
| Byte | Field | Notes |
|---|
| 0 | Identifier | 06h = XFP |
| 1 | Signal conditioner control | 7 Tx CDR bypass? — bits control internal Tx/Rx CDR and loopbacks per Table 39: 7 Tx CDR off · 6 Tx amplitude/EQ control · 5–4 rsvd · 3 Rx CDR off · 2 line-side loopback · 1 XFI loopback · 0 rsvd (implementation advertised in table 01h byte 164) |
| 2–3 / 4–5 / 6–7 / 8–9 | Temperature high alarm / low alarm / high warning / low warning | signed 16-bit, 1/256 °C |
| 10–17 | rsvd | (thresholds for a second temperature in some drafts) |
| 18–19 / 20–21 / 22–23 / 24–25 | Tx bias HA / LA / HW / LW | unsigned 16-bit, 2 µA |
| 26–27 / 28–29 / 30–31 / 32–33 | Tx power HA / LA / HW / LW | unsigned 16-bit, 0.1 µW |
| 34–35 / 36–37 / 38–39 / 40–41 | Rx power HA / LA / HW / LW | unsigned 16-bit, 0.1 µW |
| 42–43 / 44–45 / 46–47 / 48–49 | AUX1 HA / LA / HW / LW | format per AUX1 type (table 01h byte 222) |
| 50–57 | AUX2 HA / LA / HW / LW | as AUX2 type |
Lower memory — vendor, BER and wavelength control, bytes 58–79
| Byte | Field | Contents |
|---|
| 58–69 | vendor | — |
| 70 | BER reporting | for modules with FEC: BER exponent/mantissa reporting control |
| 71 | Wavelength control — target MSB | tunable XFP: 71–72 wavelength set in 0.05 nm units |
| 72 | Wavelength control — target LSB | — |
| 73–74 | Wavelength error / status | reported wavelength offset in 0.005 nm units |
| 75 | Wavelength control flags | tuning in progress, unlocked, out of range |
| 76–79 | FEC control | enable/disable FEC, FEC status (10G FEC XFPs, ITU G.709 wrapped) |
Lower memory — flags, bytes 80–95
| Byte | Field | Bits |
|---|
| 80 | Alarm flags 1 (latched) | 7 temp high alarm · 6 temp low alarm · 5 rsvd · 4 rsvd · 3 Tx bias high alarm · 2 Tx bias low alarm · 1 Tx power high alarm · 0 Tx power low alarm |
| 81 | Alarm flags 2 (latched) | 7 Rx power high alarm · 6 Rx power low alarm · 5 AUX1 high alarm · 4 AUX1 low alarm · 3 AUX2 high alarm · 2 AUX2 low alarm · 1–0 rsvd |
| 82 | Warning flags 1 (latched) | same layout as byte 80 for warnings |
| 83 | Warning flags 2 (latched) | same layout as byte 81 for warnings |
| 84 | Status flags 1 (latched) | 7 Tx_NR (not ready) · 6 Tx_Fault · 5 Tx CDR not locked · 4 Rx_NR · 3 Rx CDR not locked · 2 RX_LOS · 1 module not ready (Mod_NR) · 0 reset complete |
| 85 | Status flags 2 (latched) | 7 APD supply fault · 6 TEC fault · 5 wavelength unlocked · 4–3 rsvd · 2 VCC5 fault? · 1 VCC3 fault · 0 VCC2 fault (supply-fault bits per implementation) |
| 86–87 | rsvd | — |
| 88 | Alarm masks 1 | mask bits for byte 80 |
| 89 | Alarm masks 2 | for byte 81 |
| 90 | Warning masks 1 | for byte 82 |
| 91 | Warning masks 2 | for byte 83 |
| 92 | Status masks 1 | for byte 84 |
| 93 | Status masks 2 | for byte 85 |
| 94–95 | rsvd | — |
A set flag asserts the Interrupt pin unless masked; the host reads the flag bytes to clear them.
Lower memory — A/D readouts, bytes 96–109
| Bytes | Monitor | Format |
|---|
| 96–97 | Temperature | signed 16-bit, 1/256 °C |
| 98–99 | rsvd | — |
| 100–101 | Tx bias | 2 µA |
| 102–103 | Tx power | 0.1 µW |
| 104–105 | Rx power | 0.1 µW |
| 106–107 | AUX1 | per type in table 01h byte 222 |
| 108–109 | AUX2 | per type |
Lower memory — control and status, bytes 110–127
| Byte | Field | Bits |
|---|
| 110 | General control/status | 7 TX_DIS pin state · 6 soft TX_DIS (R/W) · 5 MOD_NR state · 4 P_Down state (pin) · 3 soft P_Down (R/W) · 2 Interrupt state · 1 RX_LOS state · 0 data not ready |
| 111 | General status 2 | 7 Tx_NR state · 6 Tx_Fault state · 5 Tx CDR not locked · 4 Rx_NR state · 3 Rx CDR not locked · 2 rsvd · 1 VPS (variable power supply) state · 0 rsvd (unlatched mirrors of byte 84) |
| 112–117 | vendor / rsvd | — |
| 118 | vendor | — |
| 119–122 | vendor | often password change area |
| 123–126 | vendor | often password entry area (same offsets as QSFP) — Write-protection types |
| 127 | Table select | 01h serial ID (default) · 02h–7Fh rsvd · 80h–FFh vendor |
Table 01h — serial ID, bytes 128–191 (covered by CC_BASE)
| Byte | Field | Contents |
|---|
| 128 | Identifier | 06h XFP |
| 129 | Extended identifier | 7–6 rsvd · 5–4 power level: 00 ≤ 1.5 W · 01 ≤ 2.5 W · 10 ≤ 3.5 W · 11 > 3.5 W · 3 CDR (0 = XFI with CDR, 1 = no CDR) · 2 CLEI code present in table 01h? (bit 2 = CLEI in table 02h) · 1 Tx reference clock input required · 0 rsvd |
| 130 | Connector | SFF-8024 Table 4-3 (07h LC · 01h SC · 21h copper pigtail · 22h RJ45) |
| 131 | 10G Ethernet compliance | 7 10GBASE-SR · 6 10GBASE-LR · 5 10GBASE-ER · 4 10GBASE-LRM · 3 10GBASE-SW · 2 10GBASE-LW · 1 10GBASE-EW · 0 rsvd |
| 132 | 10G Fibre Channel compliance | 7 1200-MX-SN-I · 6 1200-SM-LL-L · 5 extended reach 1550 nm · 4 intermediate reach 1300 nm FP · 3–0 rsvd |
| 133 | 10G copper links | 7–0 rsvd (defined for future copper XFP) |
| 134 | Lower-speed links | 7 1000BASE-SX / 1×FC MMF · 6 1000BASE-LX / 1×FC SMF · 5 2×FC MMF · 4 2×FC SMF · 3 OC-48 SR · 2 OC-48 IR · 1 OC-48 LR · 0 rsvd |
| 135 | SONET/SDH interconnect | 7 I-64.1r · 6 I-64.1 · 5 I-64.2r · 4 I-64.2 · 3 I-64.3 · 2 I-64.5 · 1–0 rsvd |
| 136 | SONET/SDH short haul | 7 S-64.1 · 6 S-64.2a · 5 S-64.2b · 4 S-64.3a · 3 S-64.3b · 2 S-64.5a · 1 S-64.5b · 0 rsvd |
| 137 | SONET/SDH long haul | 7 L-64.1 · 6 L-64.2a · 5 L-64.2b · 4 L-64.2c · 3 L-64.3 · 2 G.959.1 P1L1-2D2 · 1–0 rsvd |
| 138 | SONET/SDH very long haul | 7 V-64.2a · 6 V-64.2b · 5 V-64.3 · 4–0 rsvd |
| 139 | Encoding | 7 64B/66B · 6 8B/10B · 5 SONET scrambled · 4 NRZ · 3 RZ · 2–0 rsvd (bit field, not an SFF-8024 value) |
| 140 | Bit rate minimum | units of 100 Mb/s (e.g. 5Fh = 9.5 Gb/s) |
| 141 | Bit rate maximum | units of 100 Mb/s (e.g. 6Fh = 11.1 Gb/s) — the pair defines the supported rate window |
| 142 | Length SMF | km |
| 143 | Length E-50 µm (OM3) | units of 2 m |
| 144 | Length 50 µm | units of 1 m |
| 145 | Length 62.5 µm | units of 1 m |
| 146 | Length copper | units of 1 m |
| 147 | Device technology | 7–4 transmitter: 0h 850 nm VCSEL · 1h 1310 nm VCSEL · 2h 1550 nm VCSEL · 3h 1310 nm FP · 4h 1310 nm DFB · 5h 1550 nm DFB · 6h 1310 nm EML · 7h 1550 nm EML · 8h copper · 9h–Fh rsvd · 3 wavelength control (active) · 2 cooled transmitter · 1 detector (1 = APD, 0 = PIN) · 0 tunable |
| 148–163 | Vendor name | 16 ASCII |
| 164 | CDR support | 7 9.95 Gb/s · 6 10.3 Gb/s · 5 10.5 Gb/s · 4 10.7 Gb/s · 3 11.1 Gb/s · 2 rsvd · 1 line-side loopback supported · 0 XFI loopback supported |
| 165–167 | Vendor OUI | — |
| 168–183 | Vendor PN | 16 ASCII |
| 184–185 | Vendor rev | 2 ASCII |
| 186–187 | Wavelength | units of 0.05 nm (1310.00 nm = 26 200 = 6658h) |
| 188–189 | Wavelength tolerance | units of 0.005 nm |
| 190 | Max case temperature | °C |
| 191 | CC_BASE | (Σ bytes 128–190) mod 256 |
Table 01h — extended ID, bytes 192–255
| Byte | Field | Contents |
|---|
| 192 | Max power dissipation | units of 20 mW (e.g. 7Dh = 2.5 W) |
| 193 | Total power in power-down | units of 20 mW |
| 194 | Max current | 7–4 on +5 V in 50 mA units · 3–0 on +3.3 V in 100 mA units |
| 195 | Max current | 7–4 on +1.8 V in 100 mA units · 3–0 on −5.2 V in 50 mA units |
| 196–211 | Vendor SN | 16 ASCII |
| 212–219 | Date code | YYMMDD + 2 lot |
| 220 | Diagnostic monitoring type | 7–5 rsvd · 4 Rx power measurement: 1 = average, 0 = OMA · 3 BER reporting supported · 2–0 rsvd |
| 221 | Enhanced options | 7 VPS supported (variable power supply) · 6 soft TX_DISABLE implemented · 5 soft P_Down implemented · 4 VPS LV regulator mode · 3 VPS bypassed regulator mode · 2 active FEC control functions · 1 wavelength tunability implemented · 0 CMU (clock multiplier unit) supported |
| 222 | AUX monitoring | 7–4 AUX1 type · 3–0 AUX2 type: 0 not implemented · 1 APD bias voltage (10 mV) · 2 rsvd · 3 TEC current (0.1 mA, signed) · 4 laser temperature (1/256 °C) · 5 laser wavelength (0.05 nm? — per spec: wavelength offset) · 6 +5 V supply (100 µV) · 7 +3.3 V supply · 8 +1.8 V supply · 9 −5.2 V supply · Ah +5 V current (100 µA) · Bh rsvd · Ch +3.3 V current · Dh +1.8 V current · Eh −5.2 V current · Fh rsvd |
| 223 | CC_EXT | (Σ bytes 192–222) mod 256 |
| 224–255 | Vendor specific | not checksummed |
Tables 02h–FFh
| Table | Contents |
|---|
| 02h | user EEPROM / CLEI code (when advertised) |
| 03h–7Fh | rsvd |
| 80h–FFh | vendor specific (often passwords, calibration backups) |
What the QSFP inherited
Compare with the SFF-8636 upper page 00h map: bytes 128–130, 140–147 (lengths and technology nibble), 148–191 (vendor block, wavelength, CC_BASE), 196–223 (SN, date, CC_EXT) sit at the same offsets. The differences are the compliance bytes (131–138 redefined for 40/100G Ethernet), byte 139 (encoding as a value rather than a bit field) and 192–195 (power/current replaced by extended compliance and options). A tool that knows one map reads the other with a small translation table.