Message ID | 20181004122208.32272-1-quentin.schulz@bootlin.com |
---|---|
Headers | show |
Series | mscc: ocelot: add support for SerDes muxing configuration | expand |
On 10/04/2018 05:22 AM, Quentin Schulz wrote: > Previously, the SerDes muxing was hardcoded to a given mode in the MAC > controller driver. Now, the SerDes muxing is configured within the > Device Tree and is enforced in the MAC controller driver so we can have > a lot of different SerDes configurations. > > Make use of the SerDes PHYs in the MAC controller to set up the SerDes > according to the SerDes<->switch port mapping and the communication mode > with the Ethernet PHY. > > Signed-off-by: Quentin Schulz <quentin.schulz@bootlin.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
From: Quentin Schulz <quentin.schulz@bootlin.com> Date: Thu, 4 Oct 2018 14:21:57 +0200 > The Ocelot switch has currently an hardcoded SerDes muxing that suits only > a particular use case. Any other board setup will fail to work. > > To prepare for upcoming boards' support that do not have the same muxing, > create a PHY driver that will handle all possible cases. > > A SerDes can work in SGMII, QSGMII or PCIe and is also muxed to use a > given port depending on the selected mode or board design. > > The SerDes configuration is in the middle of an address space (HSIO) that > is used to configure some parts in the MAC controller driver, that is why > we need to use a syscon so that we can write to the same address space from > different drivers safely using regmap. > > This breaks backward compatibility but it's fine because there's only one > board at the moment that is using what's modified in this patch series. > This will break git bisect. > > Even though this patch series is about SerDes __muxing__ configuration, the > DT node is named serdes for the simple reason that I couldn't find any > mention to SerDes anywhere else from the address space handled by this > driver. Series applied to net-next, thanks.