For the complete documentation index, see llms.txt. This page is also available as Markdown.

CN913x EEPROM Programming - TLV

Revisions and Notes

Date

Owner

Revision

Notes

03 Apr 2022

1.0

Initial release

Introduction

Starting from April 01. 2022, the EEPROMs on Carriers, SoMs and COM-Express Modules are being programmed with identifying information such as the product name and SKUs to allow for programmatic identification of hardware. The data is is structured according to the ONIE TLV Standard.

Carrier

The EEPROM on Clearfog Base and Pro on i2c-0 at 0x52 is programmed with the following TLV entries:

  • TLV_CODE_PRODUCT_NAME (mandatory) Human-readable name of the Product.

  • TLV_CODE_PART_NUMBER (mandatory) Identifying part number from ordering system (SKU) without BOM suffix (/0).

  • TLV_CODE_SERIAL_NUMBER (mandatory)

  • TLV_CODE_MANUF_DATE (mandatory) Manufacturing Date (MM/DD/YYYY HH:MM:SS)

  • TLV_CODE_DEVICE_VERSION (mandatory) Board Revision, incremented when parts or layout changes; MAJOR.MINOR revisions are encoded by storing MAJOR in the four most significant bits, MINOR in the four least significant bits.

  • TLV_CODE_MANUF_NAME (mandatory)

  • TLV_CODE_MANUF_COUNTRY (mandatory)

  • TLV_CODE_VENDOR_NAME (mandatory) Name of Vendor, typically SolidRun.

Example

  • TLV_CODE_PRODUCT_NAME: Clearfog Base

  • TLV_CODE_PART_NUMBER: SRCFCB9130IV14

  • TLV_CODE_SERIAL_NUMBER: NG01725204200060

  • TLV_CODE_MANUF_DATE: 12/24/2022 07:35:59

  • TLV_CODE_DEVICE_VERSION: 0x14 (1.4)

  • TLV_CODE_MANUF_NAME: IMI

  • TLV_CODE_MANUF_COUNTRY: PH

  • TLV_CODE_VENDOR_NAME: SolidRun

Programming from U-Boot

The EEPROM can be programmed from the U-Boot cli accordingly by the following commands:

COM Express

The EEPROM on CN913x CEX-7 Modules on i2c-0 at 0x50 is programmed with the following TLV entries:

  • TLV_CODE_PRODUCT_NAME (mandatory) Human-readable name of the Product.

  • TLV_CODE_PART_NUMBER (mandatory) Identifying part number from ordering system (SKU) without BOM suffix (/0).

  • TLV_CODE_SERIAL_NUMBER (mandatory)

  • TLV_CODE_MAC_BASE (optional) First MAC Address for the on-COM (SoC) network interface(s)

  • TLV_CODE_MANUF_DATE (mandatory) Manufacturing Date (MM/DD/YYYY HH:MM:SS)

  • TLV_CODE_DEVICE_VERSION (mandatory) Board Revision, incremented when parts or layout changes; MAJOR.MINOR revisions are encoded by storing MAJOR in the four most significant bits, MINOR in the four least significant bits.

  • TLV_CODE_PLATFORM_NAME Family name for the SoC.

  • TLV_CODE_MAC_SIZE (optional) Number of consecutive MAC Addresses starting from TLV_CODE_MAC_BASE. Usually 1.

  • TLV_CODE_MANUF_NAME (mandatory)

  • TLV_CODE_MANUF_COUNTRY (mandatory)

  • TLV_CODE_VENDOR_NAME (mandatory) Name of Vendor, typically SolidRun.

Example

  • TLV_CODE_PRODUCT_NAME: CN9132 COM Express 7 Module

  • TLV_CODE_PART_NUMBER: SRC9132S64D00GE008V12

  • TLV_CODE_SERIAL_NUMBER: NG01848213000015

  • TLV_CODE_MANUF_DATE: 12/24/2022 07:35:59

  • TLV_CODE_DEVICE_VERSION: 0x12 (1.2)

  • TLV_CODE_PLATFORM_NAME: Octeon TX2

  • TLV_CODE_MANUF_NAME: Nistec

  • TLV_CODE_MANUF_COUNTRY: IL

  • TLV_CODE_VENDOR_NAME: SolidRun

Programming from U-Boot

The EEPROM can be programmed from the U-Boot cli accordingly by the following commands:

SoM

The EEPROM on CN913x SoMs on i2c-0 at 0x53 is programmed with the following TLV entries:

  • TLV_CODE_PRODUCT_NAME (mandatory) Human-readable name of the Product.

  • TLV_CODE_PART_NUMBER (mandatory) Identifying part number from ordering system (long SKU) without BOM suffix (/0).

  • TLV_CODE_SERIAL_NUMBER (mandatory)

  • TLV_CODE_MAC_BASE (optional) First MAC Address for the on-COM (SoC) network interface(s)

  • TLV_CODE_MANUF_DATE (mandatory) Manufacturing Date (MM/DD/YYYY HH:MM:SS)

  • TLV_CODE_DEVICE_VERSION (mandatory) Board Revision, incremented when parts or layout changes; MAJOR.MINOR revisions are encoded by storing MAJOR in the four most significant bits, MINOR in the four least significant bits.

  • TLV_CODE_PLATFORM_NAME Family name for the SoC.

  • TLV_CODE_MAC_SIZE (optional) Number of consecutive MAC Addresses starting from TLV_CODE_MAC_BASE. Usually 1.

  • TLV_CODE_MANUF_NAME (mandatory)

  • TLV_CODE_MANUF_COUNTRY (mandatory)

  • TLV_CODE_VENDOR_NAME (mandatory) Name of Vendor, typically SolidRun.

Example

  • TLV_CODE_PRODUCT_NAME: CN9130 System on Module

  • TLV_CODE_PART_NUMBER: SRS9130S64D04GE008V11C0

  • TLV_CODE_SERIAL_NUMBER: NG01862214200020

  • TLV_CODE_MANUF_DATE: 12/24/2022 07:35:59

  • TLV_CODE_DEVICE_VERSION: 0x11 (1.1)

  • TLV_CODE_PLATFORM_NAME: Octeon TX2

  • TLV_CODE_MANUF_NAME: Nistec

  • TLV_CODE_MANUF_COUNTRY: IL

  • TLV_CODE_VENDOR_NAME: SolidRun

Programming from U-Boot

The EEPROM can be programmed from the U-Boot cli accordingly by the following commands:

Last updated