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

From: Kishon Vijay Abraham I
Date: Wed Mar 04 2020 - 07:01:36 EST




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
>