Hello Marek, On 9/3/24 21:30, Marek Vasut wrote: > On 9/3/24 6:09 PM, Alexis Lothoré wrote: [...] >> It is only after those 3 steps that the chip can be used with standard hci >> commands over serial port. IMHO 1 is the biggest point, because it means that >> **a bluetooth driver for wilc3000 needs access to the bus used by wlan part** >> (so only describing the bluetooth part of the chip as a child node of an uart >> controller is not enough). Aside from bus access, I also expect some >> interactions between bluetooth and wifi (eg: power management, sleep/wakeup) > > Just a quick idea -- what about having a phandle to the BT UART node in the > wilc3000 node ? Then the wilc driver can check if the phandle is available and > valid, and attach the BT part to the UART, while also doing all the necessary > power sequencing and bus accesses via SDIO/SPI. > > Like this: > > &uart10 { > status = "okay"; > }; > > &mmc20 { > ... > wifi@0 { > compatible = "microchip,wilc1000"; > microchip,bt-uart = <&uart10>; // OPTIONAL > ... > }; > }; I thought about something like this too, indeed (but somehow inverted, a reference to wilc node in the bt node under uart, to allow the bluetooth part to ask wilc to perform operations over sdio/spi). The design would likely be simpler in this case, but some internal discussions with colleagues raised some concerns, for example with power management (but Krzysztof's suggestion about power sequencing may help with this). Thanks, Alexis -- Alexis Lothoré, Bootlin Embedded Linux and Kernel engineering https://bootlin.com