Thread (20 messages) 20 messages, 5 authors, 2020-03-11

Re: [PATCH v4 00/13] PHY: Update Cadence Torrent PHY driver with reconfiguration

From: Kishon Vijay Abraham I <hidden>
Date: 2020-03-04 12:01:36
Also in: lkml


On 06/02/20 11:40 am, Yuti Amonkar wrote:
This patch series applies to the Cadence SD0801 PHY driver.
Cadence SD0801 PHY is also known as Torrent PHY. Torrent PHY
is a multiprotocol PHY supporting PHY configurations including
Display Port, USB and PCIe.

This patch series converts SD0801 PHY driver for DisplayPort into a
generic Torrent PHY driver, updates DisplayPort functionality with
reconfiguration support and finally adds platform dependent initialization
for TI J7 SoCs.
merged now, Thanks!

-Kishon
The patch series has following patches which applies the changes
in the below sequence
1. 001-dt-bindings-phy-Remove-Cadence-MHDP-PHY-dt-binding
This patch removes the MHDP PHY binding.
2. 002-dt-bindings-phy-Add-Cadence-MHDP-PHY-bindings-in-YAML-format.
This patch converts the MHDP PHY device tree bindings to yaml schemas
3. 003-phy-cadence-dp-Rename-to-phy-Cadence-Torrent
Rename Cadence DP PHY driver from phy-cadence-dp to phy-cadence-torrent
4. 004-phy-cadence-torrent-Adopt-Torrent-nomenclature
Update private data structures, module descriptions and functions prefix to Torrent
5. 005-phy-cadence-torrent-Add-wrapper-for-PHY-register-access
Add a wrapper function to write Torrent PHY registers to improve code readability.
6. 006-phy-cadence-torrent-Add-wrapper-for-DPTX-register-access
Add wrapper functions to read, write DisplayPort specific PHY registers to improve code
readability.
7. 007-phy-cadence-torrent-Refactor-code-for-reusability
Add separate function to set different power state values.
Use of uniform polling timeout value. Check return values of functions for error handling.
8. 008-phy-cadence-torrent-Add-19.2-MHz-reference-clock-support
Add configuration functions for 19.2 MHz reference clock support. Add register configurations
for SSC support.
9. 009-phy-cadence-torrent-Implement-phy-configure-APIs
Add PHY configuration APIs for link rate, number of lanes, voltage swing and pre-emphasis values.
10. 010-phy-cadence-torrent-Use-regmap-to-read-and-write-Torrent-PHY-registers 
Use regmap for accessing Torrent PHY registers. Update register offsets. Abstract address
calculation using regmap APIs.
11. 011-phy: cadence-torrent-Use-regmap-to-read-and-write-DPTX-PHY-registers
Use regmap to read and write DPTX specific PHY registers.
12. 012-phy-cadence-torrent-Add-platform-dependent-initialization-structure
Add platform dependent initialization data for Torrent PHY used in TI's J721E SoC.
13. 013-phy: cadence-torrent-Add-support-for-subnode-bindings
Implement single link subnode support to the phy driver.

Version History:

v4:
- Add separate patch to remove old binding.
- Add new patch to add new binding in YAML format.
- Squashed "dt-bindings: phy: phy-cadence-torrent: Add platform dependent
  compatible string" with "dt-bindings: phy: Add Cadence MHDP PHY bindings
  in YAML format".
- Added SPDX dual license tag to YAML bindings.
- Updated resets property description and removed reset-names
  property.
- Added enum to cdns,phy-type property adding all the currently
  known phy-type values.
- Updated the child node resets property to support one reset
  per lane.
- Added default values for cdns,num-lanes and cdns,max-bit-rate properties.


v3:
- Removed "Add clock binding" patch from the series and merged it with
  "Convert-Cadence-MHDP-PHY-bindings-to-YAML" patch.
- Added reset and reset-names properties to YAML file.
- Updated dptx_phy reg entry as optional in YAML.
- Renamed reg-names from sd0801_phy to torrent_phy.
- Added subnode property for each group of PHY lanes based on PHY
  type to the YAML. Renamed num_lanes and max_bit_rate to cdns,num-lanes
  and cdns,max-bit-rate and moved it to subnode properties.
- Added cdns,phy-type property in subnode. Currently cdns,phy-type supports only
  PHY_TYPE_DP.
- Added subnode instance structure to the driver in reference to the dts change.
- Updated functions to read properties from child node instead of parent node.
- Added num_lanes as argument to the cdns_torrent_dp_run function.

v2:
- Remove patch [1] from this series and send for a separate review.
- Use enum in compatible property of YAML file.
- Remove quotes in clock-names property "refclk" -> refclk in YAML file.
- Add reg-names property to YAML file
- Add additionalProperties:false to YAML file.
- No change in the driver code.

This patch series is dependent on PHY DisplayPort configuration patch [1].

[1]

https://lkml.org/lkml/2020/1/6/279

Swapnil Jakhade (10):
  phy: cadence-torrent: Adopt Torrent nomenclature
  phy: cadence-torrent: Add wrapper for PHY register access
  phy: cadence-torrent: Add wrapper for DPTX register access
  phy: cadence-torrent: Refactor code for reusability
  phy: cadence-torrent: Add 19.2 MHz reference clock support
  phy: cadence-torrent: Implement PHY configure APIs
  phy: cadence-torrent: Use regmap to read and write Torrent PHY
    registers
  phy: cadence-torrent: Use regmap to read and write DPTX PHY registers
  phy: cadence-torrent: Add platform dependent initialization structure
  phy: cadence-torrent: Add support for subnode bindings

Yuti Amonkar (3):
  dt-bindings: phy: Remove Cadence MHDP PHY dt binding
  dt-bindings: phy: Add Cadence MHDP PHY bindings in YAML format.
  phy: cadence-dp: Rename to phy-cadence-torrent

 .../bindings/phy/phy-cadence-dp.txt           |   30 -
 .../bindings/phy/phy-cadence-torrent.yaml     |  143 ++
 drivers/phy/cadence/Kconfig                   |    6 +-
 drivers/phy/cadence/Makefile                  |    2 +-
 drivers/phy/cadence/phy-cadence-dp.c          |  541 -----
 drivers/phy/cadence/phy-cadence-torrent.c     | 1944 +++++++++++++++++
 6 files changed, 2091 insertions(+), 575 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/phy/phy-cadence-dp.txt
 create mode 100644 Documentation/devicetree/bindings/phy/phy-cadence-torrent.yaml
 delete mode 100644 drivers/phy/cadence/phy-cadence-dp.c
 create mode 100644 drivers/phy/cadence/phy-cadence-torrent.c
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help