@@ -308,6 +308,83 @@ FALCON => setenv asc0 0
308308FALCON => saveenv
309309```
310310
311+ # EEPROM (I2C slave simulated EEPROM)
312+
313+ The Nokia G-010S-P does not have a physical EEPROM, the Falcon SOC emulates an EEPROM by exposing it on the I2C interface as required by the SFF-8472 specification.
314+
315+ On the I2C interface there will be two memories of 256 bytes each at the addresses ` 1010000X (A0h) ` and ` 1010001X (A2h) ` .
316+
317+ The Zyxel PMG3000-D20B stores the content of the emulated EEPROM1 (A2h) in Boot env variable ` sfp_a2_info ` to restore it after a reboot.
318+
319+ {% include alert.html content="The contents of EEPROM0 (A0h) are not stored anywhere and is regenerated at each boot" alert="Info" icon="svg-info" color="blue" %}
320+
321+ ## EEPROM1 layout
322+
323+ | address | size | name | default value | description |
324+ | ------- | ---- | --------------------------------- | ----------------------------------------- | ----------------------------------------------------------- |
325+ | | | ** DIAGNOSTIC AND CONTROL FIELDS** | | |
326+ | 0-1 | 2 | Temp High Alarm | ` 0x64 0x00 ` (100℃) | |
327+ | 2-3 | 2 | Temp Low Alarm | ` 0xCE 0x00 ` (-50℃) | |
328+ | 4-5 | 2 | Temp High Warning | ` 0x5F 0x00 ` (95℃) | |
329+ | 6-7 | 2 | Temp Low Warning | ` 0xD8 0x00 ` (-40℃) | |
330+ | 8-9 | 2 | Voltage High Alarm | ` 0x8C 0xA0 ` (3.6V) | |
331+ | 10-11 | 2 | Voltage Low Alarm | ` 0x75 0x30 ` (3V) | |
332+ | 12-13 | 2 | Voltage High Warning | ` 0x88 0xB8 ` (3.5V) | |
333+ | 14-15 | 2 | Voltage Low Warning | ` 0x79 0x18 ` (3.1V) | |
334+ | 16-17 | 2 | Bias High Alarm | ` 0xAF 0xC8 ` (4.5mA) | |
335+ | 18-19 | 2 | Bias Low Alarm | ` 0x00 0x00 ` (0mA) | |
336+ | 20-21 | 2 | Bias High Warning | ` 0x88 0xB8 ` (3.5mA) | |
337+ | 22-23 | 2 | Bias Low Warning | ` 0x00 0x00 ` (0mA) | |
338+ | 24-25 | 2 | TX Power High Alarm | ` 0x7B 0x86 ` (5dBm) | Value expressed in watts subunits |
339+ | 26-27 | 2 | TX Power Low Alarm | ` 0x22 0xD0 ` (-0dBm) | Value expressed in watts subunits |
340+ | 28-29 | 2 | TX Power High Warning | ` 0x6E 0x17 ` (4dBm) | Value expressed in watts subunits |
341+ | 30-31 | 2 | TX Power Low Warning | ` 0x27 0x10 ` (0dBm) | Value expressed in watts subunits |
342+ | 32-33 | 2 | RX Power High Alarm | ` 0x07 0xCB ` (-7dBm) | Value expressed in watts subunits |
343+ | 34-35 | 2 | RX Power Low Alarm | ` 0x00 0x0F ` (-28dBm) | Value expressed in watts subunits |
344+ | 36-37 | 2 | RX Power High Warning | ` 0x06 0x30 ` (-8dBm) | Value expressed in watts subunits |
345+ | 38-39 | 2 | RX Power Low Warning | ` 0x00 0x14 ` (-27dBm) | Value expressed in watts subunits |
346+ | 40-45 | 6 | MAC address | Unique in each SFP | Contains the mac address of the SFP, it could also be empty |
347+ | 46-55 | 10 | Reserved | ` 0x00 0x00 0x00... ` | Reserved |
348+ | 56-59 | 4 | RX_PWR(4) Calibration | ` 0x00 0x00 0x00 0x00 ` | 4th order RSSI calibration coefficient |
349+ | 60-63 | 4 | RX_PWR(3) Calibration | ` 0x00 0x00 0x00 0x00 ` | 3rd order RSSI calibration coefficient |
350+ | 64-67 | 4 | RX_PWR(2) Calibration | ` 0x00 0x00 0x00 0x00 ` | 2nd order RSSI calibration coefficient |
351+ | 68-71 | 4 | RX_PWR(1) Calibration | ` 0x3F 0x80 0x00 0x00 ` | 1st order RSSI calibration coefficient |
352+ | 72-75 | 4 | RX_PWR(0) Calibration | ` 0x00 0x00 0x00 0x00 ` | 0th order RSSI calibration coefficient |
353+ | 76-77 | 2 | TX_I(Slope) Calibration | ` 0x01 0x00 ` | Slope for Bias calibration |
354+ | 78-79 | 2 | TX_I(Offset) Calibration | ` 0x00 0x00 ` | Offset for Bias calibration |
355+ | 80-81 | 2 | TX_PWR(Slope) Calibration | ` 0x01 0x00 ` | Slope for TX Power calibration |
356+ | 82-83 | 2 | TX_PWR(Offset) Calibration | ` 0x00 0x00 ` | Offset for TX Power calibration |
357+ | 84-85 | 2 | T(Slope) Calibration | ` 0x01 0x00 ` | Slope for Temperature calibration |
358+ | 86-87 | 2 | T(Offset) Calibration | ` 0x00 0x00 ` | Offset for Temperature calibration, in units of 256ths °C |
359+ | 88-89 | 2 | V(Slope) Calibration | ` 0x01 0x00 ` | Slope for VCC calibration |
360+ | 90-91 | 2 | V(Offset) Calibration | ` 0x00 0x00 ` | Offset for VCC calibration |
361+ | 92-94 | 3 | Reserved | ` 0x00 0x00 0x00 ` | Reserved |
362+ | 95 | 1 | CC_DMI | | Check code for Base Diagnostic Fields (addresses 0 to 94) |
363+ | 96 | 1 | Temperature MSB | | Internally measured module temperature |
364+ | 97 | 1 | Temperature LSB | | |
365+ | 98 | 1 | Vcc MSB | | Internally measured supply voltage in transceiver |
366+ | 99 | 1 | Vcc LSB | | |
367+ | 100 | 1 | TX Bias MSB | | Internally measured TX Bias Current |
368+ | 101 | 1 | TX Bias LSB | | |
369+ | 102 | 1 | TX Power MSB | | Measured TX output power |
370+ | 103 | 1 | TX Power LSB | | |
371+ | 104 | 1 | RX Power MSB | | Measured RX input power |
372+ | 105 | 1 | RX Power LSB | | |
373+ | 106-109 | 4 | Optional Diagnostics | ` 0xFF 0xFF 0xFF 0xFF ` (No support) | Monitor Data for Optional Laser temperature and TEC current |
374+ | 110 | 1 | Status/Control | ` 0x03 ` | Optional Status and Control Bits |
375+ | 111 | 1 | Reserved | ` 0x00 ` | Reserved |
376+ | 112-113 | 2 | Alarm Flags | Supported | Diagnostic Alarm Flag Status Bits |
377+ | 114 | 1 | Tx Input EQ control | ` 0xFF ` (No support) | Tx Input equalization level control |
378+ | 115 | 1 | Rx Out Emphasis control | ` 0xFF ` (No support) | Rx Output emphasis level control |
379+ | 116-117 | 2 | Warning Flags | Supported | Diagnostic Warning Flag Status Bits |
380+ | 118-119 | 2 | Ext Status/Control | ` 0x00 0x00 ` | Extended module control and status bytes |
381+ | | | ** GENERAL USE FIELDS** | | |
382+ | 120-126 | 7 | Vendor Specific | ` 0x70 0x00 0x00 0x00 0x00 0x00 0x20 ` | Vendor specific memory addresses |
383+ | 127 | 1 | Table Select | ` 0x00 ` | Optional Page Select |
384+ | | | ** USER WRITABLE EEPROM** | | |
385+ | 128-247 | 120 | Reserved | ` 0x00 0x00 0x00... ` | Reserved |
386+ | 248-255 | 8 | Vendor Control | ` 0x00 0x00 0x00 0x00 0x00 0x41 0x41 0x31 ` | Vendor specific control functions |
387+
311388# Miscellaneous Links
312389
313390- [ alcatel_lucent-lantiq_falcon] ( https://github.com/minhng99/alcatel_lucent-lantiq_falcon )
0 commit comments