On Fri, Mar 17, 2023 at 03:17:12PM +0100, Álvaro Fernández Rojas wrote: > > The proposed solution is too radical for a problem that was not properly > > characterized yet, so this patch set has my temporary NACK. > > Forgive me, but why do you consider this solution too radical? Because it involves changing device tree bindings (stable ABI) in an incompatible way. > > > > > But maybe Florian or Jonas can give some more details about the issue... > > > > I think you also have the tools necessary to investigate this further. > > We need to know what resource belonging to the switch is it that the > > MDIO mux needs. Where is the earliest place you can add the call to > > b53_mmap_mdiomux_init() such that your board works reliably? Note that > > b53_switch_register() indirectly calls b53_setup(). By placing this > > function where you have, the entirety of b53_setup() has finished > > execution, and we don't know exactly what is it from there that is > > needed. > > In the following link you will find different bootlogs related to > different scenarios all of them with the same result: any attempt of > calling b53_mmap_mdiomux_init() earlier than b53_switch_register() > will either result in a kernel panic or a device hang: > https://gist.github.com/Noltari/b0bd6d5211160ac7bf349d998d21e7f7 > > 1. before b53_switch_register(): > > 2. before dsa_register_switch(): > > 3. before b53_switch_init(): Did you read what I said? | Note that b53_switch_register() indirectly calls b53_setup(). By placing | this function where you have, the entirety of b53_setup() has finished | execution, and we don't know exactly what is it from there that is | needed. Can you place the b53_mmap_mdiomux_init() in various places within b53_setup() to restrict the search further?