Hi Krzysztof, On 9/3/24 20:47, Krzysztof Kozlowski wrote: > On 03/09/2024 18:09, Alexis Lothoré wrote: [...] >> After considering multiple solutions to try to share this bus between existing >> wlan driver and a new bt driver (mfd device, auxiliary bus, device link + some > > Driver design should not have impact on bindings. > >> handles, etc), my current best guess is to convert wilc driver to a MFD driver >> for wilc3000. I guess some work can be done so that the driver can still be >> shared between wilc1000 and wilc3000 _while_ remaining compatible with current >> wilc1000 description, but it would impact the DT description for wilc3000, which >> would need to switch from this: >> >> spi { >> wifi@0 { >> compatible = "microchip,wilc3000"; >> [...] >> }; >> }; >> >> To something like this: >> >> spi { >> wilc@0 { >> compatible = "microchip,wilc3000"; /* mfd driver */ > > I do not see any reason why... or rather: What is MFD here? MFD is Linux > stuff and we talk about hardware. > >> wifi { >> compatible = "microchip,wilc3000-wlan"; > > Why? Just merge it to parent... > >> [...] >> }; >> bt { >> compatible = "microchip,wilc3000-bt"; >> XXXX; /* some link to the uart controller connected to the chip */ > > That's not how we represent UART devices. I don't understand why do you > need these - if for power sequencing, then use power sequencing > framework and describe associated hardware (there are some talks coming > about it in 2 weeks). If for something else, then for what? I have to check more for this power sequencing framework, it look likes it could handle parts of the wifi/bt shared power management, but it will not cover everything. The need for this bus on the BT side is not only for power sequencing, there is some chip initialization to be performed over this bus, like firmware upload to the chip (not the wifi firmware, it is an additional bluetooth firmware). I guess you are referring to Bartosz Golaszewski's talk at Plumbers. Unfortunately I can not attend, but I'll make sure to check the materials once available :) Thanks, Alexis -- Alexis Lothoré, Bootlin Embedded Linux and Kernel engineering https://bootlin.com