On Thursday 22 October 2015 15:27:05 Loc Ho wrote:It is in embedded space predominantly. From our experience, this has to be a Linux driver and moving this to boot loader doesn't make sense.
phy-xgene.c
-----------
Looking at other drivers under drivers/phy, I could find phy-xgene.c which
is close Keystone SerDes driver (. This is called APM X-Gene Multi-Purpose
PHY driver. It defines following mode per the driver code
MODE_SATA = 0, /* List them for simple reference */
MODE_SGMII = 1,
MODE_PCIE = 2,
MODE_USB = 3,
MODE_XFI = 4,
But seems to support only MODE_SATA. From the code, it appears, this driver
is expected to be enhanced in the future to support additional modes. I have
copied the author to this email to participate in this discussion.
Let me comment on this APM X-Gene driver. This driver is dead and
won't be supported in near or foreseeable future. And someday, it will
be ripped out. Based on experience, this solution (having PHY driver
in Linux) can't be supported across boards and etc as it is just too
much maintenance. And therefore, we followed Arnd B guidance and move
all this into the boot loader. From Linux or OS perspective, it only
cares about the interface in which its interface with. This is just
your reference and may be this will help you as well.
This depends a lot on the use case. If the chip is only used on server
parts that have a real firmware and you can deliver bug fixes for the
firmware if necessary, it's always best to do as much of the setup as
possible there, and let Linux see a simplified view of the hardware.
However, for embedded systems that tend to ship with a minimal binary
bootloader and no way to update that as an end-user, we rely on Linux
to know about all the hardware that requires some form of setup, which
is why we have all sorts of drivers and frameworks in the kernel that
a server can easily ignore.
While keystone can show up in servers that won't use this driver, my
impression is that its main market is actually in embedded space.
Arnd