On Tue, Aug 06, 2019 at 06:47:08AM +0000, Ardelean, Alexandru wrote: > On Mon, 2019-08-05 at 16:51 +0200, Andrew Lunn wrote: > > [External] > > > > On Mon, Aug 05, 2019 at 07:54:43PM +0300, Alexandru Ardelean wrote: > > > Sometimes, the connection between a MAC and PHY is done via a > > > mode/interface converter. An example is a GMII-to-RGMII converter, which > > > would mean that the MAC operates in GMII mode while the PHY operates in > > > RGMII. In this case there is a discrepancy between what the MAC expects & > > > what the PHY expects and both need to be configured in their respective > > > modes. > > > > > > Sometimes, this converter is specified via a board/system configuration (in > > > the device-tree for example). But, other times it can be left unspecified. > > > The use of these converters is common in boards that have FPGA on them. > > > > > > This patch also adds support for a `adi,phy-mode-internal` property that > > > can be used in these (implicit convert) cases. The internal PHY mode will > > > be used to specify the correct register settings for the PHY. > > > > > > `fwnode_handle` is used, since this property may be specified via ACPI as > > > well in other setups, but testing has been done in DT context. > > > > Looking at the patch, you seems to assume phy-mode is what the MAC is > > using? That seems rather odd, given the name. It seems like a better > > solution would be to add a mac-mode, which the MAC uses to configure > > its side of the link. The MAC driver would then implement this > > property. > > > > actually, that's a pretty good idea; > i guess i was narrow-minded when writing the driver, and got stuck on phy specifics, and forgot about the MAC-side; > [ i also catch these design elements when reviewing, but i also seem to miss them when writing stuff sometimes ] > Hi Ardelean We should also consider the media converter itself. It is passive, or does it need a driver. You seems to be considering GMII-to-RGMII. But what about RGMII to SGMII? or RGMII to 1000Base-KX etc? Ideally we want a generic solution and we need to think about all the parts in the system. Andrew