Giter VIP home page Giter VIP logo

tegra-eeprom-tool's Introduction

tegra-eeprom-tool

Library and tools for working with identification EEPROMs on NVIDIA Jetson/Tegra hardware, as originally documented in Jetson TX1-TX2 Module EEPROM Layout, and updated in the Jetson EEPROM Layout section of the Jetson Linux (formerly Linux for Tegra) BSP documentation. Works with EEPROMs directly accessible through an EEPROM driver (for read/write access), or via userspace I2C transactions (for reads only).

libtegra-eeprom library

This shared library implements functions for determining the SoC type and I2C address of the SoC's module (CVM) EEPROM (the cvm API), functions for reading/writing an ID EEPROM (the eeprom API), and a function for parsing the part number in the CVM EEPROM that is used as a board specification for bootloader upgrades (the boardspec API).

tegra-eeprom-tool

This tool provides a CLI for getting (and setting) information in an identification EEPROM. It can be used interactively, using libedit to provide command editing and history, or in "one-shot" mode by specifying a single command on the comand line.

tegra-boardspec

This tool displays the board specification that serves as the basis for determining compatibility of individual components in a bootloader update payload.

WARNING This package provides both read and write access to the EEPROMs. Use with caution.

For writing to the EEPROMs, you must have CONFIG_AT24 in your kernel configuration and an entry in the device tree for the eeprom. Direct eeprom writes using the I2C user-space driver have proven unreliable and are not supported.

tegra-eeprom-tool's People

Contributors

danielfullmer avatar dowens-pp avatar ichergui avatar kekiefer avatar madisongh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

tegra-eeprom-tool's Issues

Is here a plan to support the carrier board eeprom read/write ?

According to the latest JetPack doc in here.

A Jetson system has two EEPROMs, one on the module and one on the carrier board. But in this repo. We can only read/write the eeprom on the jetson module.

So do you have a plan to support read/write the eeprom on the carrier board?

Looking forward to your reply~

Info on how to modify device tree for EEPROM driver support

Thanks for this very handy program. I want to use it to write to the EEPROM and I've configured my kernel with CONFIG_AT24=m. I've looked through the dts files and I'm uncertain about the changes I should make to enable the driver. Would it be possible to add an example in the README.md of the device tree changes necessary to enable it?

I'm using a TX2 NX (soc type 186) for what it's worth, which I believe has the EEPROM on i2c bus 7 at address 0x50.

Thanks

[Jetson Nano] TNSPEC: FAB <-> part number version?

Hi,

we've an issue with a single Jetson Nano SoM: The mender update failed.

Usually, for our SoM's, the TNSPEC (generated by tegra_boardspec()) looks like this:
3448-400-0002-F.0-..., but with the problematic SoM the TNSPEC looks like this: 3448-401-0002-F.0-.... According to Part number is 699-8bbbb-ssss-fff RRR the change was been made within the FAB entry: From 400 to 401.

But, according to Jetson Module EEPROM Layout, the entry identified as FAB is in the Jetson EEPROM layout the version entry. Here is the code snippet from tegra_boardspec():

return snprintf(buf, bufsiz,
			"%-4.4s-%-3.3s-%-4.4s-%s-1-%u",
			&eeprom.partnumber[5],
			&eeprom.partnumber[15],
			&eeprom.partnumber[10],
			boardrev,
			(soctype == TEGRA_SOCTYPE_194 ? 2 : 0));

The FAB entry of the TNSPEC is made out of the version entry of the partnumber.

So, the question is whether FAB and the version entry of the partnumber is same or is this a mistake or is this by intention?

I couldn't find more information regarding the meaning of FAB.

Can anyone give me a hint?

Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.