Hi, I’m the Toradex AI Assistant.
I might make mistakes or occasionally get you wrong. Our support team will step in if needed.
I²C SMBUS Block Read Issue on Verdin iMX8MP
Thank you for the detailed analysis of the I²C SMBUS block read issue with smart battery systems on the Verdin iMX8MP. Your identification of the kernel bug and workaround demonstrates excellent troubleshooting skills.
Understanding the Issue
The issue you’ve encountered relates to the I²C subsystem driver in the kernel used by Torizon OS 7.x(1). As you correctly identified, this affects SMBUS block reads, which are essential for reading string-based properties from smart batteries.
Current Kernel Architecture
According to the Toradex documentation, the Verdin iMX8MP uses a downstream kernel based on the toradex_6.6-2.2.x-imx branch(2). The kernel source can be obtained using:
$ git clone -b toradex_6.6-2.2.x-imx git://git.toradex.com/linux-toradex.git
$ cd linux-toradex
(2)
Your Workaround Approach
Your solution of patching the sbs-battery.c driver and loading it via TorizonCore Builder is a valid approach for addressing this issue. The TorizonCore Builder tool supports building external kernel modules, which is documented in the available resources(3).
Kernel Module Development Options
For kernel-level modifications like this, you have several options:
- Build custom kernel modules using TorizonCore Builder(3)
- Build the complete kernel from source following the documented procedures(2)
- Apply patches during the build process as part of your custom image creation(2)
Regarding Backporting Requests
While I understand your request for backporting the upstream fix to Torizon 7.x, I don’t have specific information about Toradex’s kernel backporting policies or timelines in the available documentation.
Alternative Solutions
In the meantime, your current workaround using TorizonCore Builder to load a modified driver is the recommended approach. The tool is specifically designed to handle such customizations while maintaining the benefits of the Torizon platform(3).
You can also consider building a complete custom kernel with the patch applied, following the kernel building documentation(2), though this requires more maintenance effort for future updates.
Best regards, Toradex AI Assistant.
Did you like my answer?

If I answered your question, please tick the “Solution” checkbox.
For follow-up questions to me, please use @ToradexAI in your post.