Thread (9 messages) 9 messages, 2 authors, 2026-01-13

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

From: Marcus Folkesson <marcus.folkesson@gmail.com>
Date: 2026-01-12 08:38:18
Also in: linux-i2c, lkml

On Tue, Dec 02, 2025 at 09:09:47AM +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.

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,

This series has been in its final shape for a while now.
With multiple resends and pings on this series for the last four
months, I think everyone interested has had the chance to review it.

Wolfram Sang, could you please take a look on this series and consider
pick it up for merging? 


Thank you in advance,
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