Thread (12 messages) 12 messages, 2 authors, 2026-02-13

Re: [PATCH v4 0/5] I2C Mux per channel bus speed

From: Marcus Folkesson <marcus.folkesson@gmail.com>
Date: 2026-02-12 13:49:38
Also in: linux-i2c, lkml

On Wed, Jan 28, 2026 at 10:54:26AM +0100, Marcus Folkesson wrote:
This was a RFC on how to implement a feature to have different bus
speeds on different channels with an I2C multiplexer/switch.
As no major complaints on the design came up during the review, I
decided to submit the series without the RFC tag.

The benefit with this feature is that you may group devices after
the fastest bus speed they can handle.
A real-world example is that you could have e.g. a display running @400kHz
and a smart battery running @100kHz using the same I2C controller.

There are many corner cases where this may cause a problem for some
hardware topologies. I've tried to describe those I could think of
in the documentation, see Patch #5.

E.g. one risk is that if the mux driver does not disconnect channels
when Idle, this may cause a higher frequency to "leak" through to
devices that are supposed to run at lower bus speed.
This is not only a "problem" for changing bus speed but could also be
an issue for potential address conflicts.

This patchset has been used and tested heavily the last months
on a custom board based on a da850 (DaVinci) platform.

The implementation is split up into several patches:

Patch #1 Introduce a callback for the i2c controller to set bus speed
Patch #2 Introduce functionality to adjust bus speed depending on mux
         channel.
Patch #3 Cleanup i2c-davinci driver a bit to prepare it for set_clk_freq
Parch #4 Implement set_clk_freq for the i2c-davinci driver
Parch #5 Update documentation with this feature

Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
Hi all,

A friently reminder to everyone out there who might be able to review this
patchset.

The patches has been tested and used for a long time on a custom board,
so I feel quite confident with the implementation.
It also should not affect existing code that not make use of the new
feature.
But it needs reviews.

Thank you in advance

Best regards,
Marcus Folkesson

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help