-
Notifications
You must be signed in to change notification settings - Fork 371
[Proposal] Regions on an eeprom to serve as logical eeproms #774
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
| return false; | ||
| } | ||
| if (*i2cDeviceConfig.isEeprom() && | ||
| i2cDeviceConfig.pmUnitScopedName()->find("EEPROM") == std::string::npos) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if not ->endswith("_EEPROM") is a stricter and better enforcement.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the feedback, will update it.
|
@aalamsi22 has updated the pull request. You must reimport the pull request before landing. |
|
@aalamsi22 has updated the pull request. You must reimport the pull request before landing. |
|
@aalamsi22 has updated the pull request. You must reimport the pull request before landing. |
Summary
New platform_manager requirements prohibit the an eeprom thats already being utilized as the pmunit idprom from also acting as the chassis-eeprom. This introduces a new challenge for platforms with hardware that doesn't have additional eeproms to spare as a chassis-eeprom.
Solution
The physical eeprom itself can be abstracted and instead platform manager & weutil will work with eeprom regions where each region is 512 Bytes.
We redefine each eeprom created to be understood as an eeprom region. This allows multiple eeproms to be created against the same physical device as long as they meet these conditions:
isEeprom=truemust containEEPROMin the pmUnitScopedName. A condition already met by all configs as of today. This is to help distinguish between actual duplicate deviecs and eeprom regions.I have implemented this idea with these goals in mind:
Test Plan
A GLATH05A-64O system was used in the testing #462
The same SMB eeprom had two regions programmed
Platform Manager
NO ERROS
platform_manager_hw_test
Weutil
weutil hw_test