On Fri, Jun 21, 2024 at 10:01:39PM GMT, Andrew Lunn wrote: > > > This all looks pretty generic. Any reason why this is just in the > > > Qualcomm device, and not at a higher level so it could be used for all > > > stmmac devices if the needed properties are found in DT? > > > > > > Andrew > > ICC is a software framework to access the NOC bus topology of the > > system, all though "axi" and "ahb" buses seem generic but the > > topologies of these NOC's are specific to the vendors of synopsys chipset hence > > this framework might not be applicable to all the vendors of stmmac driver. > > There are however a number of SoCs using synopsys IP. Am i right in > says they could all make use of this? Do we really want them to one by > one copy/paste what you have here to other vendor specific parts of > stmmac? > > This code looks in DT. If there are no properties in DT, it does > nothing. So in general it should be safe, right? That logic makes sense to me, and thinking about it more you request a "path" between two "endpoints" in the network, and that's pretty generic. Sort of like the clocks, etc, and then let the provider figure out the gory SoC specific details. i.e., for example I see the UFS driver uses the paths "ufs-ddr" and "cpu-ufs", and thinking about it generically for this IP that's probably the same thing going on here (and lends weight to Krzysztof's request to use names similar to other interconnect users). That being said, grepping around I don't see users outside of platform driver bits (i.e. I was hoping to see drivers/pci/controller/dwc/ doing some shared usage, but that's not the case). Given what you said I'm of the opinion now this should be done in stmmac_platform.c and described for all stmmac users since it feels like a property of the IP itself similar to the clocks required, etc. The interconnect framework handles when they're not described in the dts gracefully so it shouldn't break any other SoCs that don't describe interconnects currently. Thanks, Andrew