Re: [RFC v8 net-next 00/16] add support for VSC7512 control over SPI
From: Vladimir Oltean <vladimir.oltean@nxp.com>
Date: 2022-05-19 14:44:47
Also in:
linux-arm-kernel, linux-gpio
Hi Colin, On Sat, May 14, 2022 at 03:00:10PM -0700, Colin Foster wrote:
On Mon, May 09, 2022 at 05:13:05PM +0000, Vladimir Oltean wrote:quoted
Hi Colin, On Sun, May 08, 2022 at 11:52:57AM -0700, Colin Foster wrote:quoted
mdio0: mdio0@0 {This is going to be interesting. Some drivers with multiple MDIO buses create an "mdios" container with #address-cells = <1> and put the MDIO bus nodes under that. Others create an "mdio" node and an "mdio0" node (and no address for either of them). The problem with the latter approach is that Documentation/devicetree/bindings/net/mdio.yaml does not accept the "mdio0"/"mdio1" node name for an MDIO bus.I'm starting this implementation. Yep - it is interesting. A quick grep for "mdios" only shows one hit: arch/arm64/boot/dts/freescale/fsl-lx2160a-bluebox3.dts While that has an mdios field (two, actually), each only has one mdio bus, and they all seem to get parsed / registered through sja1105_mdiobus_.*_register. Is this change correct (I have a feeling it isn't): ocelot-chip@0 { #address-cells = <1>; #size-cells = <0>; ... mdio0: mdio@0 { reg=<0>; ... }; mdio1: mdio@1 { reg = <1>; ... }; ... }; When I run this with MFD's (use,)of_reg, things work as I'd expect. But I don't directly have the option to use an "mdios" container here because MFD runs "for_each_child_of_node" doesn't dig into mdios->mdio0...
Sorry for the delayed response. I think you can avoid creating an "mdios" container node, but you need to provide some "reg" values based on which the MDIO controllers can be distinguished. What is your convention for "reg" values of MFD cells? Maybe pass the base address/size of this device's regmap as the "reg", even if the driver itself won't use it?