]> git.dujemihanovic.xyz Git - u-boot.git/commit
phy: cadence: Add driver for Sierra PHY
authorAlan Douglas <adouglas@cadence.com>
Wed, 21 Jul 2021 15:58:36 +0000 (21:28 +0530)
committerLokesh Vutla <lokeshvutla@ti.com>
Tue, 27 Jul 2021 05:27:12 +0000 (10:57 +0530)
commit39b823381d9d27537c032010bdaf005aa60df9a3
treebec45f0d66be0560b417b9a7283801de01c90b2a
parent2b0f7dee5fcd71de11faf2d096d22b241ce920d7
phy: cadence: Add driver for Sierra PHY

Add a Sierra PHY driver with PCIe and USB support.
This driver is a port from the mainline linux driver.

The PHY has multiple lanes, which can be configured into
groups, and a generic PHY device is created for each group.

There are two resets controlling the overall PHY block, one
to enable the APB interface for programming registers, and
another to enable the PHY itself.  Additionally there are
resets for each PHY lane.

The PHY can be configured in hardware to read register
settings from ROM, or they can be written by the driver.

The sequence of operation on startup is to enable the APB
bus, write the PHY registers (if required)  for each lane
group, and then enable the PHY.  Each group of lanes
can then be individually controlled using the power_on()/
power_off() function for that generic PHY

One difference with the linux driver is that the PHY is
always reset after it is powered-on. This is because role
switching is not supported in u-boot and the cable
orientation is handled by the PHY reset.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Signed-off-by: Alan Douglas <adouglas@cadence.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Link: https://lore.kernel.org/r/20210721155849.20994-8-kishon@ti.com
drivers/phy/Kconfig
drivers/phy/Makefile
drivers/phy/cadence/Kconfig [new file with mode: 0644]
drivers/phy/cadence/Makefile [new file with mode: 0644]
drivers/phy/cadence/phy-cadence-sierra.c [new file with mode: 0644]