Difference between revisions of "Novena/EEPROM"

From Studio Kousagi Wiki
Jump to: navigation, search
(Structure)
Line 22: Line 22:
 
|-
 
|-
 
| 6 || (Random) || Gigabit MAC address || Random MAC address is generated on each boot
 
| 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).
 +
{| class="wikitable sortable"
 +
|+ Feature list
 +
|-
 +
! scope="col" | Bit position
 +
! scope="col" | Feature
 +
! scope="col" | Description
 +
! scope="col" | Result if no EEPROM present
 +
|-
 +
| 1 || ES8328 Audio Codec
 +
|-
 +
| 2 || Battery board
 +
|-
 +
| 3 || Retina LVDS display
 +
|-
 +
| 4 || (Reserved: Other LVDS display)
 +
|-
 +
| 5 || Power Management Board
 
|}
 
|}

Revision as of 04:19, 27 September 2013

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 0xff Supported peripherals All peripherals are assumed present
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 Feature Description Result if no EEPROM present
1 ES8328 Audio Codec
2 Battery board
3 Retina LVDS display
4 (Reserved: Other LVDS display)
5 Power Management Board