Skip to content

Commit 71e2f5c

Browse files
committed
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. [[email protected]: Fix boot lockup caused by accessing a structure member (hw->init) allocated in stack of probe() and accessed in get_parent] [[email protected]: Fix "Failed to find the parent" warnings] Signed-off-by: Roger Quadros <[email protected]> Signed-off-by: Kishon Vijay Abraham I <[email protected]>
1 parent 4e0ae87 commit 71e2f5c

File tree

3 files changed

+637
-0
lines changed

3 files changed

+637
-0
lines changed

drivers/phy/ti/Kconfig

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,18 @@ config PHY_DM816X_USB
2020
help
2121
Enable this for dm816x USB to work.
2222

23+
config PHY_AM654_SERDES
24+
tristate "TI AM654 SERDES support"
25+
depends on OF && ARCH_K3 || COMPILE_TEST
26+
depends on COMMON_CLK
27+
select GENERIC_PHY
28+
select MULTIPLEXER
29+
select REGMAP_MMIO
30+
select MUX_MMIO
31+
help
32+
This option enables support for TI AM654 SerDes PHY used for
33+
PCIe.
34+
2335
config OMAP_CONTROL_PHY
2436
tristate "OMAP CONTROL PHY Driver"
2537
depends on ARCH_OMAP2PLUS || COMPILE_TEST

drivers/phy/ti/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@ obj-$(CONFIG_OMAP_USB2) += phy-omap-usb2.o
66
obj-$(CONFIG_TI_PIPE3) += phy-ti-pipe3.o
77
obj-$(CONFIG_PHY_TUSB1210) += phy-tusb1210.o
88
obj-$(CONFIG_TWL4030_USB) += phy-twl4030-usb.o
9+
obj-$(CONFIG_PHY_AM654_SERDES) += phy-am654-serdes.o
910
obj-$(CONFIG_PHY_TI_GMII_SEL) += phy-gmii-sel.o

0 commit comments

Comments
 (0)