mbox series

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

Message ID 20210721155849.20994-1-kishon@ti.com
Headers show
Series TI/Cadence: Add Sierra/Torrent SERDES driver | expand

Message

Kishon Vijay Abraham I July 21, 2021, 3:58 p.m. UTC
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

Comments

Lokesh Vutla July 29, 2021, 5:14 a.m. UTC | #1
On Wed, 21 Jul 2021 21:28:29 +0530, Kishon Vijay Abraham I wrote:
> 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
> 
> [...]
 
Applied to https://source.denx.de/u-boot/custodians/u-boot-ti.git for-rc, thanks!
[01/20] dm: core: Add helper to compare node names
        https://source.denx.de/u-boot/custodians/u-boot-ti/-/commit/77cbaf8837
[02/20] dm: test: Add test case to check node name ignoring unit address
        https://source.denx.de/u-boot/custodians/u-boot-ti/-/commit/9f6ae6dec2
[03/20] dt-bindings: phy: Add definitions for additional phy types
        https://source.denx.de/u-boot/custodians/u-boot-ti/-/commit/4f2c79e42c
[04/20] dt-bindings: phy: Add defines for AM64 SERDES Wrapper
        https://source.denx.de/u-boot/custodians/u-boot-ti/-/commit/2b6b37032c
[05/20] dt-bindings: phy: cadence-torrent: Add defines for refclk driver
        https://source.denx.de/u-boot/custodians/u-boot-ti/-/commit/0b5ea853be
[06/20] dt-bindings: ti-serdes-mux: Add defines for AM64 SoC
        https://source.denx.de/u-boot/custodians/u-boot-ti/-/commit/2b0f7dee5f
[07/20] phy: cadence: Add driver for Sierra PHY
        https://source.denx.de/u-boot/custodians/u-boot-ti/-/commit/39b823381d
[08/20] phy: cadence: Add driver for Torrent SERDES
        https://source.denx.de/u-boot/custodians/u-boot-ti/-/commit/193c735162
[09/20] phy: ti: j721e-wiz: Add support for WIZ module present in TI J721E SoC
        https://source.denx.de/u-boot/custodians/u-boot-ti/-/commit/1a83f9931e
[10/20] board: ti: j721e: Add support for probing and configuring Torrent serdes on J7200
        https://source.denx.de/u-boot/custodians/u-boot-ti/-/commit/6cfabddc3b
[11/20] ARM: dts: k3-j721e: Add support for USB3 in USB0 instance
        https://source.denx.de/u-boot/custodians/u-boot-ti/-/commit/ad256cc894
[12/20] arm: dts: k3-j7200-main: Add DT node for torrent serdes
        https://source.denx.de/u-boot/custodians/u-boot-ti/-/commit/6c4be8eb7e
[13/20] arm: dts: k3-j7200-common-proc-board: Enable SERDES DT
        https://source.denx.de/u-boot/custodians/u-boot-ti/-/commit/cbea79867e
[14/20] arm: dts: k3-j7200-common-proc-board-u-boot: Add u-boot tags for torrent serdes
        https://source.denx.de/u-boot/custodians/u-boot-ti/-/commit/08189ffd15
[15/20] configs: j721e_evm_a72_defconfig: Enable the drivers required for the USB3 support
        https://source.denx.de/u-boot/custodians/u-boot-ti/-/commit/a9ed736cfa
[16/20] configs: j7200_evm_a72_defconfig: Add config for torrent serdes and common clock framework
        https://source.denx.de/u-boot/custodians/u-boot-ti/-/commit/0e64ecd703
[17/20] env: ti: j721e-evm: Add env variable to power on & reset QSGMII PHY in J7200 EVM
        https://source.denx.de/u-boot/custodians/u-boot-ti/-/commit/15f4193fff
[18/20] configs: j7200_evm_a72: Add CONFIG_PREBOOT to configure ethernet PHY
        https://source.denx.de/u-boot/custodians/u-boot-ti/-/commit/8fa3286408
[19/20] doc: board: Move j721e document to doc/board/ti/ directory
        https://source.denx.de/u-boot/custodians/u-boot-ti/-/commit/8baeeecbe3
[20/20] doc: board: j721e_evm: Add documentation for firmware loading
        https://source.denx.de/u-boot/custodians/u-boot-ti/-/commit/4689aabbe4
 
--
Thanks and Regards,
Lokesh