Thread (1 message) 1 message, 1 author, 2017-08-21

Re: Re: [PATCH 2/4] dt-bindings: add binding for RTL8211E Ethernet PHY

From: <hidden>
Date: 2017-08-21 14:53:24
Also in: netdev

在 2017-05-05 02:29,Florian Fainelli 写道:
On 05/04/2017 11:26 AM, Icenowy Zheng wrote:
quoted

于 2017年5月5日 GMT+08:00 上午2:21:29, Florian Fainelli 
[off-list ref] 写到:
quoted
On 05/04/2017 11:10 AM, icenowy-h8G6r0blFSE@public.gmane.org wrote:
quoted
在 2017-04-22 08:22,Florian Fainelli 写道:
quoted
On 04/21/2017 04:24 PM, Icenowy Zheng wrote:
quoted
From: Icenowy Zheng <redacted>

Some RTL8211E Ethernet PHY have an issue that needs a workaround
indicated with device tree.

Add the binding for a property that indicates this workaround.

Signed-off-by: Icenowy Zheng <redacted>
---
 .../devicetree/bindings/net/realtek,rtl8211e.txt   | 22
++++++++++++++++++++++
 1 file changed, 22 insertions(+)
 create mode 100644
Documentation/devicetree/bindings/net/realtek,rtl8211e.txt

diff --git
a/Documentation/devicetree/bindings/net/realtek,rtl8211e.txt
b/Documentation/devicetree/bindings/net/realtek,rtl8211e.txt
new file mode 100644
index 000000000000..c1913301bfe8
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/realtek,rtl8211e.txt
@@ -0,0 +1,22 @@
+Realtek RTL8211E Ethernet PHY
+
+One batch of RTL8211E is slight broken, that needs some special
(and
quoted
quoted
quoted
+full of magic numbers) tweaking in order to make GbE to operate
properly.
+The only well-known board that used the broken batch is Pine64+.
+Configure it through an Ethernet OF device node.
+
+Optional properties:
+
+- realtek,disable-rx-delay:
+  If set, RX delay will be completely disabled (according to
Realtek). This
+  will affect the performance on non-broken boards.
+  default: do not disable RX delay.
Please don't introduce custom properties to do that, instead 
correct
specify the "phy-mode" such that it is e.g: "rgmii-txid" which
indicates
quoted
quoted
that there should be no RX internal delay, but a TX internal delay
added
quoted
quoted
by the PHY.
Checked the document, the meaning of "rgmii-txid" is not correct
here.
quoted
This doesn't effect the MAC, and the MAC should still add TX delay.

The definition of "rgmii-txid" in
Documentation/devicetree/binding/net/ethernet.txt is "RGMII with
internal TX delay provided by the PHY, the MAC should not add an TX
delay
quoted
in this case". However, this do not indicate that the MAC doesn't 
add
TX
quoted
delay; in fact that just totally disabled the PHY to provide the RX
delay.
quoted
MAC still should to add delay on both TX/RX, which is the semantic 
of
standard "rgmii".

So I cannot used "rgmii-txid" here, but should continue to use this
custom property.
Sorry for replying an old email, but it's because the driver of the MAC 
I
used is merged (dwmac-sun8i).

The driver of the MAC currently only supports "mii", "rmii", and 
"rgmii",
and according to the SoC's user manual, the MAC cannot has its delays
disabled.

How should it handle this "rgmii-txid" here? Just treat it as "rgmii"?
quoted
quoted
This is absolutely not a correct understanding. The 'phy-mode' 
property
defines the contract between the MAC and PHY. It is defined from the
PHY's perspective of the delay, which means that the MAC has to 
either
also provide an adequate delay (RX or TX) or not (RX or TX). So if 
you
specified 'phy-mode' = "rgmii" this means that the MAC needs to adds
the
TX and RX delay, so implcitly this means that your MAC operates in
The MAC doesn't lose its responsibility to tweak RX/TX delays with 
this property set.
No it does not but now there is no contract binding the MAC and the PHY
together was to what an appropriate delay configuration there should 
be.
This is why using phydev->interface (directly inherited from 
'phy-mode')
is important because it binds the PHY and MAC on a contract.
quoted
This situation is that, the PHY's RX delay tweaking function is 
broken. But it doesn't mean that the PHY can take over *all* 
responsibility to tweak TX, it still needs MAC to tweak TX.
Correct, so what part of my answer was not clear in that sense?
quoted
quoted
"rgmii-id", if the property was defined from the perspective of the
MAC,
which it is not.

Both the Ethernet PHY driver and the MAC driver need to take care of
adjusting the delays based on the phydev->interface value.

The property you are introducing here is absolutely not appropriate
because it is entirely redundant with what 'phy-mode' already 
defines,
except the latter also covers a lot more cases.
-- 
You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
For more options, visit https://groups.google.com/d/optout.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help