On 29/08/2018 2:46 AM, Frederick Heinecke wrote:
Hello all, Does anybody here know how the kernel handles externally multiplexed peripherals and and what the proper way to setup the device tree for multiplexed peripherals? For example, if I have two interfaces (say USB and I2C) on the same pins, and I want both to be available and usable (not at the same time of course), does the kernel natively support this or is this something that needs to be written into the drivers for both interfaces? Could the kernel or a user-space process potentially attempt to access both at the same time? Here's a poorly drawn example of what I'm asking about: https://i.snag.gy/SJQnH1.jpg
Sounds like your after the pinctlr subsystem https://www.kernel.org/doc/Documentation/pinctrl.txt -- Regards Phil