> > Maybe this should be serdes-mux? The SERDES itself should have some > > registers somewhere. If you ever decide to make use of phylink, > > e.g. to support SFP, you are going to need to know if the SERDES is > > up. So you might need to add the actual SERDES device, in addition to > > the mux for the SERDES. > > > > I'm not sure to follow. > > To be honest, I might have mislead you. The whole configuration of the > serdes is in the hsio register address space. For now, muxing is the > only reason there is a driver for the serdes but there are other things > that can be configured (though not used yet): de/serializer, input/output > buffers, PLL, ... configuration registers for the SerDes. When you are using the SERDES for networking, you need to know if the SERDES has achieved sync. For example, when the SERDES connects to an optical SFP module, the SERDES bit stream continues unmodified over the optical link to the SERDES in the peer. The optical module can tell you if it is receiving optical power, but it cannot tell you if the optical signal makes any sense. The SERDES however knows how to decode the bitstream, sync to it, etc. So you need some registers in the SERDES to get this status information. Typically, you can also get access to the SGMII/1000Base-X code word, so you can do auto-negotiation, or know if you need to send each bit 10 or 100 times in order to do 100Mbps or 10Mbps. If you are connecting to a PHY which can do > 1Gbps, you need to change the SERDES between SGMII, 1000Base-X, 2500Base-X, etc. Before you can say the link is up, you want the PHY to tell you it has link to its peer PHY, and you want to know the SERDES is ready. Typically the SERDES is last, since you don't know what to configure the SERDES to until the PHY is finished negotiating the link to its peer. If you look at any of the Marvell SERDES interfaces, found in PHYs or switches, there are dozens of registers for controlling the SERDES. Now, it could be we don't have a clear definition of what a SERDES is. The Marvell documents has a lot in its definition of SERDES, where as what you could be purely a 'dumb' parallel to serial convert, and all the rest of the logic is in the Ethernet MAC and the PCIe device? Now, back to my original point. Where are the registers for 'the rest of this logic'? If they are in the MAC address space, we don't have a problem. If they are somewhere else, maybe you will need to add another device. What is this device called? That is why i'm trying to differentiate between the 'SERDES-MUX' and the 'SERDES'. Andrew -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html