phy: ti: Add a new SERDES driver for TI's AM654x SoC
authorKishon Vijay Abraham I <kishon@ti.com>
Wed, 17 Apr 2019 06:19:39 +0000 (11:49 +0530)
committerKishon Vijay Abraham I <kishon@ti.com>
Wed, 17 Apr 2019 08:43:19 +0000 (14:13 +0530)
commit71e2f5c5c2249db05dd26b787b56c45f2a890740
treecc4291d27aa4443ee8d68b01594d1e8ef2d82af0
parent4e0ae876f77bc01a7e77724dea57b4b82bd53244
phy: ti: Add a new SERDES driver for TI's AM654x SoC

Add a new SERDES driver for TI's AM654x SoC which configures
the SERDES only for PCIe. Support fo USB3 will be added later.

SERDES in am654x has three input clocks (left input, externel reference
clock and right input) and two output clocks (left output and right
output) in addition to a PLL mux clock which the SERDES uses for Clock
Multiplier Unit (CMU refclock).

The PLL mux clock can select from one of the three input clocks.
The right output can select between left input and external reference
clock while the left output can select between the right input and
external reference clock.

The driver has support to select PLL mux and left/right output mux as
specified in device tree.

[rogerq@ti.com: Fix boot lockup caused by accessing a structure member
(hw->init) allocated in stack of probe() and accessed in get_parent]
[rogerq@ti.com: Fix "Failed to find the parent" warnings]
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
drivers/phy/ti/Kconfig
drivers/phy/ti/Makefile
drivers/phy/ti/phy-am654-serdes.c [new file with mode: 0644]