Hi Markus, > While working around this challenge my POV is as follows: > > - See each SDA/SCL combination as an always hardwired bus > - There is no muxing of the bus as a whole. > - It is only a question at what time access is allowed > - Why not expose each bus as simple as possible? I agree and it matches the idea of DT being for HW description only... > Coming back to my offer about the new I2C bus that only > switches from compatible "i2c-gpio" to "i2c-gpio-shared". ... even so far that I don't think we should use "i2c-gpio-shared" but only "i2c-gpio". The DT part (HW description only) is this compatible with SCL and SDA described. It is up to the OS to decide how to handle multiple SCLs using the same pin... > This should be achievable in the driver as follows: > > - add each SDA to the individual bus > - build up a shared SCL list for all buses > - link each bus to the required SCL ... which should mean for Linux that the i2c-gpio driver recognizes an already selected pin and reuses it by some reference. > That will need no shared gpio features. Managing the list > should add ~100 lines and the rest of the driver can be > reused/adapted. I think we are aligned. It would require no DT updates, only extra handling in the i2c-gpio driver. Bart, what do you think? All the best, Wolfram