Novena/EEPROM

From Studio Kousagi Wiki
Revision as of 11:44, 18 November 2013 by Xobs (talk | contribs) (Feature bitmask)
Jump to: navigation, search

Novena has a utility EEPROM that can be used for storing device-specific data. This is optional, and default values will be used if it is blank / not present.

All multi-byte integers are in native host order.

Structure

EEPROM structure
Size Default Value Description Result if no EEPROM present
6 'Novena' Unterminated EEPROM signature The EEPROM contents will not be used
1 1 Version number of EEPROM structure The EEPROM contents will not be used
1 0 Reserved No change
4 0 Device serial number No change
6 (Random) Gigabit MAC address Random MAC address is generated on each boot
2 0 Feature bitmask No features are enabled

Feature bitmask

There is a bitmask field that defines various board features. In this way, a single image can be shipped that supports various components. For example, a router might not have a display, but a laptop would need to have its LCD turned on. A bit is "1" if the feature is present (and needs to be enabled), and "0" if it is not present. Note that some values are mutually-exclusive (e.g. you can only have one kind of LVDS display attached).

Feature list
Bit position Mask Feature
0 0x0001 ES8328 Audio Codec
1 0x0002 Senono-based battery board
2 0x0004 Retina LVDS display
3 0x0008 (Reserved: Other LVDS display)
4 0x0010 mPCIe port
5 0x0020 Gigabit Ethernet
6 0x0040 HDMI Output
7 0x0080 Noventa LVDS display