[platform/Ali] Add optical module I2C bus recovery. #68
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
- What I did
Add the feature to detect the Optical Module I2C bus recovery on Fishbone32, Fishbone48, and Phalanx. This prevent whole I2C bus lockup when a single optical module is hanging up.
- How I did it
Update the BSP driver to detect the bus stuck when doing I2C transfer.
If the bus stuck found, report error to kernel log. Then trying to recovery by resetting the I2C switch chip.
- How to verify it
SDA
of SFP port1 to logic low.sfputil show eeprom -p Ethernet0
sfputil show eeprom -p Ethernetx
with success.- Description for the changelog
*Add optical module I2C bus recovery on Fishbone32, Fishbone48, and Phalanx.
- A picture of a cute animal (not mandatory but encouraged)