From: Andrew Lunn <andrew@lunn.ch>
To: "Kiran Kumar C.S.K" <quic_kkumarcs@quicinc.com>
Cc: netdev@vger.kernel.org, Andy Gross <agross@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konrad.dybcio@linaro.org>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>,
Philipp Zabel <p.zabel@pengutronix.de>,
Russell King <linux@armlinux.org.uk>,
Jacob Keller <jacob.e.keller@intel.com>,
Bhupesh Sharma <bhupesh.sharma@linaro.org>,
linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, vsmuthu@qti.qualcomm.com,
arastogi@qti.qualcomm.com, linchen@qti.qualcomm.com,
john@phrozen.org, Luo Jie <quic_luoj@quicinc.com>,
Pavithra R <quic_pavir@quicinc.com>,
"Suruchi Agarwal (QUIC)" <quic_suruchia@quicinc.com>,
"Lei Wei (QUIC)" <quic_leiwei@quicinc.com>
Subject: Re: RFC: Advice on adding support for Qualcomm IPQ9574 SoC Ethernet
Date: Wed, 2 Oct 2024 23:28:59 +0200 [thread overview]
Message-ID: <817a0d2d-e3a6-422c-86d2-4e4216468fe6@lunn.ch> (raw)
In-Reply-To: <d2929bd2-bc9e-4733-a89f-2a187e8bf917@quicinc.com>
On Thu, Oct 03, 2024 at 02:07:10AM +0530, Kiran Kumar C.S.K wrote:
> Hello netdev,
>
> We are planning to publish driver patches for adding Ethernet support
> for Qualcomm's IPQ9574 SoC, and looking for some advice on the approach
> to follow. There are two new drivers (described below) split across four
> patch series, totaling to 40 patches. These two drivers depend on a
> couple of clock controller drivers which are currently in review with
> the community.
>
> Support is currently being added only for IPQ9574 SoC. However the
> drivers are written for the Qualcomm PPE (packet process engine)
> architecture, and are easily extendable for additional IPQ SoC (Ex:
> IPQ5332) that belong to the same network architecture family.
>
> Given the number of patches for IPQ9574, we were wondering whether it is
> preferred to publish the four series together, since having all the code
> available could help clarify the inter-workings of the code. Or whether
> it is preferred to publish the patches sequentially, depending on the
> review progress?
Sequentially. You are likely to learn about working with mainline code
from the first patch series, which will allow you to improve the
following series before posting them.
> +---------+
> | 48MHZ |
> +----+----+
> |(clock)
> v
> +----+----+
> +------| CMN PLL |
> | +----+----+
> | |(clock)
> | v
> | +----+----+ +----+----+ clock +----+----+
> | +---| NSSCC | | GCC |--------->| MDIO |
> | | +----+----+ +----+----+ +----+----+
> | | |(clock & reset) |(clock & reset)
> | | v v
> | | +-----------------------------+----------+----------+---------+
> | | | +-----+ |EDMA FIFO | | EIP FIFO|
> | | | | SCH | +----------+ +---------+
> | | | +-----+ | | |
> | | | +------+ +------+ +-------------------+ |
> | | | | BM | | QM | | L2/L3 Switch Core | |
> | | | +------+ +------+ +-------------------+ |
> | | | | |
> | | | +-------+ +-------+ +-------+ +-------+ +-------+ +-------+ |
> | | | | MAC0 | | MAC1 | | MAC2 | | MAC3 | | XGMAC4| |XGMAC5 | |
> | | | +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ |
> | | | | | | | | | |
> | | +-----+---------+---------+---------+---------+---------+-----+
> | | | | | | | |
> | | +---+---------+---------+---------+---+ +---+---+ +---+---+
> +--+---->| PCS0 | | PCS1 | | PCS2 |
> | clock +---+---------+---------+---------+---+ +---+---+ +---+---+
> | | | | | | |
> | +---+---------+---------+---------+---+ +---+---+ +---+---+
> | clock +----------------+ | | | | |
> +------->|Clock Controller| 4-port Eth PHY | | PHY4 | | PHY5 |
> +----------------+--------------------+ +-------+ +-------+
>
>
> 1.1 PPE: Internal blocks overview
> =================================
>
> The Switch core
> ---------------
> It has maximum 8 ports, comprising 6 GMAC ports and two DMA interfaces
> (for Ethernet DMA and EIP security processor) on the IPQ9574.
How are packets from the host directed to a specific egress port? Is
there bits in the DMA descriptor of the EDMA? Or is there an
additional header in the fields? This will determine if you are
writing a DSA switch driver, or a pure switchdev driver.
> GMAC/xGMAC
> ----------
> There are 6 GMAC and 6 XGMAC in IPQ9574. Depending on the board ethernet
> configuration, either GMAC or XGMAC is selected by the PPE driver to
> interface with the PCS. The PPE driver initializes and manages these
> GMACs, and registers one netdevice per GMAC.
That suggests you are doing a pure switchdev driver.
> 2. List of patch series and dependencies
> ========================================
>
> Clock drivers (currently in review)
> ===================================
> 1) CMN PLL driver patch series:
> Currently in review with community.
> https://lore.kernel.org/linux-arm-msm/20240827-qcom_ipq_cmnpll-v3-0-8e009cece8b2@quicinc.com/
>
>
> 2) NSS clock controller (NSSCC) driver patch series
> Currently in review with community.
> https://lore.kernel.org/linux-arm-msm/20240626143302.810632-1-quic_devipriy@quicinc.com/
>
>
> Networking drivers (to be posted for review next week)
> ======================================================
>
> The following patch series are planned to be pushed for the PPE and PCS
> drivers, to support ethernet function. These patch series are listed
> below in dependency order.
>
> 3) PCS driver patch series:
> Driver for the PCS block in IPQ9574. New IPQ PCS driver will
> be enabled in drivers/net/pcs/
> Dependent on NSS CC patch series (2).
I assume this dependency is pure at runtime? So the code will build
without the NSS CC patch series?
This should be a good way to start, PCS drivers are typically nice and
simple.
Andrew
next prev parent reply other threads:[~2024-10-02 21:29 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <f0f0c065-bf7c-4106-b5e2-bfafc6b52101@quicinc.com>
2024-10-02 20:37 ` Kiran Kumar C.S.K
2024-10-02 21:28 ` Andrew Lunn [this message]
2024-10-03 17:50 ` Kiran Kumar C.S.K
2024-10-03 18:42 ` Andrew Lunn
2024-10-04 13:06 ` Kiran Kumar C.S.K
2024-10-04 13:31 ` Andrew Lunn
2024-10-04 14:03 ` Krzysztof Kozlowski
2024-10-04 14:02 ` Krzysztof Kozlowski
2024-10-03 19:20 ` Bjorn Andersson
2024-10-04 14:17 ` Kiran Kumar C.S.K
2024-10-04 14:50 ` Andrew Lunn
2024-10-08 19:31 ` Kiran Kumar C.S.K
2024-10-05 18:30 ` Bjorn Andersson
2024-10-08 19:33 ` Kiran Kumar C.S.K
2024-10-04 14:24 ` Russell King (Oracle)
2024-10-22 9:59 ` Kiran Kumar C.S.K
2024-10-22 13:37 ` Andrew Lunn
2024-10-24 13:25 ` Kiran Kumar C.S.K
2024-10-24 14:27 ` Andrew Lunn
2024-10-25 13:03 ` Kiran Kumar C.S.K
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=817a0d2d-e3a6-422c-86d2-4e4216468fe6@lunn.ch \
--to=andrew@lunn.ch \
--cc=agross@kernel.org \
--cc=andersson@kernel.org \
--cc=arastogi@qti.qualcomm.com \
--cc=bhupesh.sharma@linaro.org \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=jacob.e.keller@intel.com \
--cc=john@phrozen.org \
--cc=konrad.dybcio@linaro.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=kuba@kernel.org \
--cc=linchen@qti.qualcomm.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=netdev@vger.kernel.org \
--cc=p.zabel@pengutronix.de \
--cc=pabeni@redhat.com \
--cc=quic_kkumarcs@quicinc.com \
--cc=quic_leiwei@quicinc.com \
--cc=quic_luoj@quicinc.com \
--cc=quic_pavir@quicinc.com \
--cc=quic_suruchia@quicinc.com \
--cc=robh+dt@kernel.org \
--cc=vsmuthu@qti.qualcomm.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
all inboxes | Powered by JetHome®