Subject: Re: [RFC PATCH 0/4] Add support for QMC HDLC and PHY

From: Herve Codina <[email-masked]>
Date: Thu, 6 Apr 2023 09:29:06 +0200

Hi all,

I haven't received any feedback on this RFC.
Have you had a chance to review it ?

Best regards,
Hervé

On Thu, 23 Mar 2023 11:31:50 +0100
Herve Codina <[email-masked]> wrote:

> Hi,
> 
> I have a system where I need to handle an HDLC interface.
> 
> The HDLC data are transferred using a TDM bus on which a PEF2256 is
> present. The PEF2256 transfers data from/to the TDM bus to/from E1 line.
> This PEF2256 is also connected to a PowerQUICC SoC for the control path
> and the TDM is connected to the SoC (QMC component) for the data path.
> 
> From the HDLC driver, I need to handle data using the QMC and carrier
> detection using the PEF2256 (E1 line carrier).
> 
> The HDLC driver consider the PEF2256 as a generic PHY.
> So, the design is the following:
> 
> +----------+          +-------------+              +---------+
> | HDLC drv | <-data-> | QMC channel | <-- TDM -->  | PEF2256 |
> +----------+          +-------------+              |         | <--> E1
>    ^   +---------+     +---------+                 |         |
>    +-> | Gen PHY | <-> | PEF2256 | <- local bus -> |         |
>        +---------+     | PHY drv |                 +---------+
>                        +---------+
> 
> In order to implement this, I had to:
>  1 - Extend the generic PHY API to support get_status() and notification
>      on status change.
>  2 - Introduce a new kind of generic PHY named "basic phy". This PHY
>      familly can provide a link status in the get_status() data.
>  3 - Support the PEF2256 PHY as a "basic phy"
> 
> The purpose of this RFC series is to discuss this design.
> 
> The QMC driver code is available on linux-next. In this series:
> - patch 1: driver HDLC using the QMC channel
> - patch 2: Extend the generic PHY API
> - patch 3: Use the "basic phy" in the HDLC driver
> - patch 4: Implement the PEF2256 PHY driver
> 
> I did 2 patches for the HDLC driver in order to point the new PHY family
> usage in the HDLC driver. In the end, these two patches will be squashed
> and the bindings will be added.
> 
> Hope to have some feedback on this proposal.
> 
> Best regards,
> Hervé
> 
> Herve Codina (4):
>   net: wan: Add support for QMC HDLC
>   phy: Extend API to support 'status' get and notification
>   net: wan: fsl_qmc_hdlc: Add PHY support
>   phy: lantiq: Add PEF2256 PHY support
> 
>  drivers/net/wan/Kconfig                 |  12 +
>  drivers/net/wan/Makefile                |   1 +
>  drivers/net/wan/fsl_qmc_hdlc.c          | 558 ++++++++++++++++++++++++
>  drivers/phy/lantiq/Kconfig              |  15 +
>  drivers/phy/lantiq/Makefile             |   1 +
>  drivers/phy/lantiq/phy-lantiq-pef2256.c | 131 ++++++
>  drivers/phy/phy-core.c                  |  88 ++++
>  include/linux/phy/phy-basic.h           |  27 ++
>  include/linux/phy/phy.h                 |  89 +++-
>  9 files changed, 921 insertions(+), 1 deletion(-)
>  create mode 100644 drivers/net/wan/fsl_qmc_hdlc.c
>  create mode 100644 drivers/phy/lantiq/phy-lantiq-pef2256.c
>  create mode 100644 include/linux/phy/phy-basic.h
>