[PATCH v5 00/20] TI/Cadence: Add Sierra/Torrent SERDES driver

Kishon Vijay Abraham I
2021-07-21T15:59:08Z

Patch series adds Sierra and Torrent SERDES driver for the SERDES
used in TI's K3 platforms. This SERDES is used by USB3, PCIe and
Ethernet. This series is mostly an adaptation of drivers added in
upstream Linux kernel.

Changes from v4:
1) Dropped `[PATCH v4 01/21] drivers: reset: Add devm_to_reset() to
return dummy "struct reset_ctl"` and will be worked independently of
this series. This was mainly introduced for handling optional reset
which is not mandatory for both Sierra and Torrent.
2) Fixed sectionauthor name for j721e_evm.rst

Changes from v3:
1) Dropped "drivers: reset: Handle gracefully NULL pointers" and added
"drivers: reset: Add devm_to_reset() to return dummy "struct reset_ctl"
2) Moved documentation from board/ti/j721e/README to doc/board/ti/j721e_evm.rst
3) Adapted Sierra and Torrent driver to 1).

Changes from v2:
1) Re-worked "Handle gracefully NULL pointers" to fix Simons comments
2) Ported the part that allows creating clocks without explicit
sub-nodes in DT from the upstream linux kernel.

Changes from v1:
1) Fixed string comparison strncmp() to remove "=="
2) Added a test for node name comparison to ignore unit address
in test/dm
3) Added better commit message in "drivers: reset: Handle gracefully
NULL pointers"

Alan Douglas (1):
phy: cadence: Add driver for Sierra PHY

Aswath Govindraju (7):
dt-bindings: phy: Add definitions for additional phy types
phy: cadence: Add driver for Torrent SERDES
board: ti: j721e: Add support for probing and configuring Torrent
serdes on J7200
arm: dts: k3-j7200-main: Add DT node for torrent serdes
arm: dts: k3-j7200-common-proc-board: Enable SERDES DT
arm: dts: k3-j7200-common-proc-board-u-boot: Add u-boot tags for
torrent serdes
configs: j7200_evm_a72_defconfig: Add config for torrent serdes and
common clock framework

Jean-Jacques Hiblot (2):
phy: ti: j721e-wiz: Add support for WIZ module present in TI J721E SoC
configs: j721e_evm_a72_defconfig: Enable the drivers required for the
USB3 support

Kishon Vijay Abraham I (10):
dm: core: Add helper to compare node names
dm: test: Add test case to check node name ignoring unit address
dt-bindings: phy: Add defines for AM64 SERDES Wrapper
dt-bindings: phy: cadence-torrent: Add defines for refclk driver
dt-bindings: ti-serdes-mux: Add defines for AM64 SoC
ARM: dts: k3-j721e: Add support for USB3 in USB0 instance
env: ti: j721e-evm: Add env variable to power on & reset QSGMII PHY in
J7200 EVM
configs: j7200_evm_a72: Add CONFIG_PREBOOT to configure ethernet PHY
doc: board: Move j721e document to doc/board/ti/ directory
doc: board: j721e_evm: Add documentation for firmware loading

.../k3-j7200-common-proc-board-u-boot.dtsi | 12 +
arch/arm/dts/k3-j7200-common-proc-board.dts | 23 +
arch/arm/dts/k3-j7200-main.dtsi | 63 +
.../k3-j721e-common-proc-board-u-boot.dtsi | 19 +-
board/ti/j721e/README | 277 --
board/ti/j721e/evm.c | 34 +-
configs/j7200_evm_a72_defconfig | 8 +
configs/j721e_evm_a72_defconfig | 6 +
doc/board/index.rst | 1 +
doc/board/ti/j721e_evm.rst | 331 +++
drivers/core/ofnode.c | 13 +
drivers/phy/Kconfig | 3 +
drivers/phy/Makefile | 2 +
drivers/phy/cadence/Kconfig | 11 +
drivers/phy/cadence/Makefile | 2 +
drivers/phy/cadence/phy-cadence-sierra.c | 751 +++++
drivers/phy/cadence/phy-cadence-torrent.c | 2463 +++++++++++++++++
drivers/phy/ti/Kconfig | 9 +
drivers/phy/ti/Makefile | 1 +
drivers/phy/ti/phy-j721e-wiz.c | 1156 ++++++++
include/configs/j721e_evm.h | 16 +-
include/dm/ofnode.h | 10 +
include/dt-bindings/mux/ti-serdes.h | 5 +
include/dt-bindings/phy/phy-cadence.h | 20 +
include/dt-bindings/phy/phy-ti.h | 21 +
include/dt-bindings/phy/phy.h | 1 +
test/dm/core.c | 14 +
27 files changed, 4992 insertions(+), 280 deletions(-)
delete mode 100644 board/ti/j721e/README
create mode 100644 doc/board/ti/j721e_evm.rst
create mode 100644 drivers/phy/cadence/Kconfig
create mode 100644 drivers/phy/cadence/Makefile
create mode 100644 drivers/phy/cadence/phy-cadence-sierra.c
create mode 100644 drivers/phy/cadence/phy-cadence-torrent.c
create mode 100644 drivers/phy/ti/Kconfig
create mode 100644 drivers/phy/ti/Makefile
create mode 100644 drivers/phy/ti/phy-j721e-wiz.c
create mode 100644 include/dt-bindings/phy/phy-cadence.h
create mode 100644 include/dt-bindings/phy/phy-ti.h

--
2.17.1