[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2f2328ee-205b-4b4f-a683-2df4fbb22dde@lunn.ch>
Date: Tue, 9 Jan 2024 14:48:16 +0100
From: Andrew Lunn <andrew@...n.ch>
To: Jie Luo <quic_luoj@...cinc.com>
Cc: Sergey Ryazanov <ryazanov.s.a@...il.com>,
Christian Marangi <ansuelsmth@...il.com>,
Robert Marko <robert.marko@...tura.hr>,
Vladimir Oltean <olteanv@...il.com>,
Rob Herring <robh+dt@...nel.org>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Conor Dooley <conor+dt@...nel.org>, Andy Gross <agross@...nel.org>,
Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konrad.dybcio@...aro.org>,
Heiner Kallweit <hkallweit1@...il.com>,
Russell King <linux@...linux.org.uk>,
Matthias Brugger <matthias.bgg@...il.com>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>,
netdev@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-msm@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
linux-mediatek@...ts.infradead.org
Subject: Re: [net-next PATCH RFC v3 1/8] dt-bindings: net: document ethernet
PHY package nodes
>
> __| |_______________| |__
> | PCS0 | |PCS1 |
> |______| |_____|
> |_______ |<---- REF clock 50MHZ
> | |------------ |
> |NSSCC | |clks |rsts|<---- GPIO reset
> |______| | | |
> | V V |
> |_______________________|
> | | | | |
> |PHY1 |PHY2 |PHY3 |PHY4 |
> |_____|_____|_____|_____|
Not the best of improvements. So the ref clock goes to the package,
and then magically somehow gets to the NSSCC? Are there any more
blocks it goes through before reaching the NSSCC? How does the GPIO
reset get converted into multiple reset inside the package? Details,
details, details.
> There are difference clock trees generated from NSSCC for the different
> PHYs, all clocks and resets for qca8084 CHIP working are internally
> provided by the NSSCC.
So show this in the block diagram.
> Yes, Andrew, the NSSCC provider driver is probed based on the MDIO
> device, the PHY CHIP occupies the MDIO addresses, so the NSSCC is
> registered as the MDIO device.
>
> DT of the NSSCC device node:
> mdio {
> #address-cells = <1>;
> #size-cells = <0>;
>
> clock-controller@18 {
> compatible = "qcom,qca8084-nsscc";
> reg = <0x18>;
> clocks = <&qca8k_xo>,
> <&qca8k_uniphy0_rx>,
> <&qca8k_uniphy0_tx>,
> <&qca8k_uniphy1_rx>,
> <&qca8k_uniphy1_tx>,
> <&qca8k_uniphy1_rx312p5m>,
> <&qca8k_uniphy1_tx312p5m>;
> #clock-cells = <1>;
> #reset-cells = <1>;
> #power-domain-cells = <1>;
> };
> };
This does not make any sense. You have one clock input, 50MHz. So why
are you listing 6 consumer clocks, not one? And where are the clocks
this clock controller provides, clock-output-names=<...>;
I give up. Please consider this PHY driver NACKed.
Get Linaro, or some other organisation with a lot of experience with
mainline to take over the work.
Andrew
Powered by blists - more mailing lists