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

From: Herve Codina
Date: Thu Apr 06 2023 - 03:29:22 EST


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 <herve.codina@xxxxxxxxxxx> 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
>