Le Sat, 16 Apr 2022 15:48:51 +0200, Andrew Lunn <andrew@xxxxxxx> a écrit : > On Fri, Apr 15, 2022 at 06:45:41PM +0200, Clément Léger wrote: > > Le Fri, 15 Apr 2022 18:19:46 +0200, > > Andrew Lunn <andrew@xxxxxxx> a écrit : > > > > > > I think it would be good to modify it like this: > > > > > > > > eth-miic@44030000 { > > > > ... > > > > converters { > > > > mii_conv0: mii-conv@0 { > > > > // Even if useless, maybe keeping it for the sake of coherency > > > > renesas,miic-input = <MIIC_GMAC1>; > > > > reg = <0>; > > > > }; > > > > > > This is not a 'bus', so using reg, and @0, etc is i think wrong. You > > > just have a collection of properties. > > > > Agreed, but this is the same thing that is done for DSA ports (at least > > I think). It uses reg which describe the port number, this is not a > > real bus per se, it only refer to port indices. > > True. That is an old binding, before a lot of good practices were > enforced. I'm not sure it would be accepted today. > > I suggest you make a proposal and see what the DT Maintainers say. Acked. > > > But if you think this should not be done like this, what do you > > propose then ? These nodes are also reference from "pcs-handle" > > properties in switch to retrieve the PCS. > > This i was not thinking about. Make this clear in the binding > documentation for what you propose. > > Humm, this last point just gave me an idea. How are you representing > the PCS in DT? Are they memory mapped? So you have a nodes something > like: > > eth-pcs-conv1@44040100 { > compatible = "acm-inc,pcs" > } > > eth-pcs-conv2@44040200 { > compatible = "acm-inc,pcs" > } That is a good idea since the converter are indeed (partly) memory mapped, but the hardware guys decided that it was a good idea to share some registers. Amongst shared registers, we have the reset for each converter and the muxing control which as stated before is contained in a single register. > > The MAC node than has a pcs-handle pointing to one of these nodes? > > You implicitly have the information you need to configure the MII > muxes here. The information is a lot more distributed, but it is > there. As each MAC probes, it can ask the MII MUX driver to connect > its MAC to the converter pointed to by its pcs-handle. Hum, that could be done but since only some values/combinations are allowed, it would potentially require to validate the setting at each request, leading to potential non working devices due to invalid MUX configuration required. I think the fact that we could have everything in one single node allows to validate it at probe time. Anyway, I'll make a proposal an we'll see ! Thanks again for your feedback. -- Clément Léger, Embedded Linux and Kernel engineer at Bootlin https://bootlin.com