public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jie Luo <quic_luoj@quicinc.com>
To: Andrew Lunn <andrew@lunn.ch>, Sergey Ryazanov <ryazanov.s.a@gmail.com>
Cc: <agross@kernel.org>, <andersson@kernel.org>,
	<konrad.dybcio@linaro.org>, <davem@davemloft.net>,
	<edumazet@google.com>, <kuba@kernel.org>, <pabeni@redhat.com>,
	<robh+dt@kernel.org>, <krzysztof.kozlowski+dt@linaro.org>,
	<conor+dt@kernel.org>, <hkallweit1@gmail.com>,
	<linux@armlinux.org.uk>, <robert.marko@sartura.hr>,
	<linux-arm-msm@vger.kernel.org>, <netdev@vger.kernel.org>,
	<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<quic_srichara@quicinc.com>
Subject: Re: [PATCH v4 0/5] support ipq5332 platform
Date: Mon, 8 Jan 2024 17:01:14 +0800	[thread overview]
Message-ID: <e8722b79-e58a-4856-ae56-e44e2860c2f6@quicinc.com> (raw)
In-Reply-To: <895eadd7-1631-4b6b-8db4-d371f2e52611@lunn.ch>



On 1/6/2024 11:45 PM, Andrew Lunn wrote:
>> I just realized that the UNIPHY block is a MII (probably SGMII) controller.
>> Isn't it? And I expect that it responsible more then just for clock
>> enabling. It should also activate and perform a basic configuration of MII
>> for actual data transmission. If so, then it should placed somewhere under
>> drivers/net/phy or drivers/net/pcs.

UNIPHY is located in PPE, which controls the interface mode for
connecting with external PHY, the hardware register(4 bytes) of UNIPHY
is accessed by local bus(ioremap).

> 
> Before we decide that, we need a description of what the UNIPHY
> actually does, what registers it has, etc. Sometimes blocks like this
> get split into a generic PHY, aka drivers/phy/ and a PCS driver. This
> would be true if the UNIPHY is also used for USB SERDES, SATA SERDES
> etc. The SERDES parts go into a generic PHY driver, and the SGMII on
> to of the SERDES is placed is a PCS driver.

Hi Andrew,
the UNIPHY is the hardware part of PPE(packet process engine) in IPQ
platform, which can't be used for USB, SATA serdes, the UNIPHY of
PPE is dedicated for connecting with external PHY CHIP.

> 
> The problem i have so far is that there is no usable description of
> any of this hardware, and the developers trying to produce drivers for
> this hardware don't actually seem to understand the Linux architecture
> for things like this.

Sorry for missing this description of UNIPHY, since the UNIPHY block is
the part of PPE, PPE driver will be posted as the independent driver for
review, so i did not give the description of UNIPHY.

The IPQ PPE includes MAC and UNIPHY integrated, the connection with
external PHY is as below.
MAC ---- UNIPHY(PCS) ---- (PCS)external PHY.

The UNIPHY here is the Ethernet dedicated SERDES for connecting with
external PHY.

> 
>> As far as I understand, we basically agree that clocks configuration can be
>> implemented based on the clock API using a more specialized driver(s) than
>> MDIO. The only obstacle is the PHY chip initialization issue explained
>> below.
>> Thank you for this compact yet detailed summary. Now it much more clear,
>> what this phy chip requires to be initialized.
>>
>> Looks like you need to implement at least two drivers:
>> 1. chip (package) level driver that is responsible for basic "package"
>> initialization;
>> 2. phy driver to handle actual phy capabilities.
> 
> Nope. As i keep saying, please look at the work Christian is
> doing. phylib already has the concept of a PHY package, e.g. look at
> the MSCC driver, and how it uses devm_phy_package_join(). What is
> missing is a DT binding which allows package properties to be
> expressed in DT. And this is what Christian is adding.
> 
> 	  Andrew

Thanks Andrew, the driver of qca8084 will be updated based on the
concept of PHY package.

  parent reply	other threads:[~2024-01-08  9:01 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-25  8:44 [PATCH v4 0/5] support ipq5332 platform Luo Jie
2023-12-25  8:44 ` [PATCH v4 1/5] net: mdio: ipq4019: move eth_ldo_rdy before MDIO bus register Luo Jie
2023-12-28  9:49   ` Konrad Dybcio
2023-12-30  3:15     ` Jie Luo
2024-01-02 17:24   ` Russell King (Oracle)
2024-01-03 13:27     ` Jie Luo
2023-12-25  8:44 ` [PATCH v4 2/5] net: mdio: ipq4019: enable the SoC uniphy clocks for ipq5332 platform Luo Jie
2024-01-03  9:48   ` Bryan O'Donoghue
2024-01-03 13:25     ` Jie Luo
2023-12-25  8:44 ` [PATCH v4 3/5] net: mdio: ipq4019: configure CMN PLL clock for ipq5332 Luo Jie
2024-01-03  9:50   ` Bryan O'Donoghue
2024-01-03 13:06     ` Jie Luo
2023-12-25  8:44 ` [PATCH v4 4/5] net: mdio: ipq4019: support MDIO clock frequency divider Luo Jie
2023-12-25  8:44 ` [PATCH v4 5/5] dt-bindings: net: ipq4019-mdio: Document ipq5332 platform Luo Jie
2023-12-25 10:29   ` Krzysztof Kozlowski
2023-12-26  7:25     ` Jie Luo
2023-12-26  9:28       ` Krzysztof Kozlowski
2023-12-26 12:21         ` Conor Dooley
2023-12-26 13:14           ` Jie Luo
2023-12-26 13:19             ` Krzysztof Kozlowski
2023-12-28  7:36               ` Jie Luo
2023-12-26 13:06         ` Jie Luo
2023-12-26 13:18           ` Krzysztof Kozlowski
2023-12-28  7:38             ` Jie Luo
2024-01-04  7:47               ` Krzysztof Kozlowski
2024-01-04 10:06                 ` Jie Luo
2024-01-01 23:01 ` [PATCH v4 0/5] support " Sergey Ryazanov
2024-01-03 13:31   ` Jie Luo
2024-01-05  2:48     ` Sergey Ryazanov
2024-01-05 10:34       ` Jie Luo
2024-01-06  1:24         ` Sergey Ryazanov
2024-01-06 15:45           ` Andrew Lunn
2024-01-06 22:03             ` Sergey Ryazanov
2024-01-07 16:08               ` Andrew Lunn
2024-01-08  9:06               ` Jie Luo
2024-01-08  9:01             ` Jie Luo [this message]
2024-01-08 13:27               ` Andrew Lunn
2024-01-09 11:33                 ` Jie Luo
2024-01-08 15:53             ` Russell King (Oracle)
2024-01-09 11:35               ` Jie Luo
2024-01-05 13:52       ` Andrew Lunn
2024-01-05 15:42         ` Alex Elder
2024-01-05 20:14         ` Sergey Ryazanov
2024-01-08  9:30           ` Jie Luo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e8722b79-e58a-4856-ae56-e44e2860c2f6@quicinc.com \
    --to=quic_luoj@quicinc.com \
    --cc=agross@kernel.org \
    --cc=andersson@kernel.org \
    --cc=andrew@lunn.ch \
    --cc=conor+dt@kernel.org \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=edumazet@google.com \
    --cc=hkallweit1@gmail.com \
    --cc=konrad.dybcio@linaro.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=kuba@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=quic_srichara@quicinc.com \
    --cc=robert.marko@sartura.hr \
    --cc=robh+dt@kernel.org \
    --cc=ryazanov.s.a@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox