From: Christian Lamparter <chunkeey@googlemail.com>
To: Florian Fainelli <f.fainelli@gmail.com>
Cc: netdev@vger.kernel.org, "David S . Miller" <davem@davemloft.net>,
Ivan Mikhaylov <ivan@de.ibm.com>
Subject: Re: [RFC 1/2] dt: emac: document device-tree based phy discovery and setup
Date: Sun, 19 Feb 2017 16:20:58 +0100 [thread overview]
Message-ID: <2476200.DrVWeKAC8k@debian64> (raw)
In-Reply-To: <23e29bef-4c49-8ff6-b156-3b028ed592c4@gmail.com>
On Sunday, February 5, 2017 2:33:44 PM CET Florian Fainelli wrote:
> Le 02/05/17 à 14:25, Christian Lamparter a écrit :
> > This patch adds documentation for a new "phy-handler" property
> > and "mdio" sub-node. These allows the enumeration of PHYs which
> > are supported by the phy library under drivers/net/phy.
> >
> > The EMAC ethernet controller in IBM and AMCC 4xx chips is
> > currently stuck with a few privately defined phy
> > implementations. It has no support for PHYs which
> > are supported by the generic phylib.
> >
> > Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
> > ---
> > .../devicetree/bindings/powerpc/4xx/emac.txt | 60 +++++++++++++++++++++-
> > 1 file changed, 58 insertions(+), 2 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/powerpc/4xx/emac.txt b/Documentation/devicetree/bindings/powerpc/4xx/emac.txt
> > index 712baf6c3e24..0572d053c35a 100644
> > --- a/Documentation/devicetree/bindings/powerpc/4xx/emac.txt
> > +++ b/Documentation/devicetree/bindings/powerpc/4xx/emac.txt
> > @@ -71,6 +71,8 @@
> > For Axon it can be absent, though my current driver
> > doesn't handle phy-address yet so for now, keep
> > 0x00ffffff in it.
> > + - phy-handle : See net/ethernet.txt file; used to describe
> > + configurations where a external PHY is used.
> > - rx-fifo-size-gige : 1 cell, Rx fifo size in bytes for 1000 Mb/sec
> > operations (if absent the value is the same as
> > rx-fifo-size). For Axon, either absent or 2048.
> > @@ -82,7 +84,18 @@
> > - tah-channel : 1 cell, optional. If appropriate, channel used on the
> > TAH engine.
> >
> > - Example:
> > + - mdio subnode : When the EMAC has a phy connected to its local
> > + mdio, which us supported by the kernel's network
> > + PHY library in drivers/net/phy, there must be device
> > + tree subnode with the following required properties:
> > + - #address-cells: Must be <1>.
> > + - #size-cells: Must be <0>.
> > +
> > + For each phy on the mdio bus, there must be a node
> > + with the following fields:
> > + - reg: phy id used to communicate to phy.
> > + - device_type: Must be "ethernet-phy".
>
> Just provide a reference to
> Documentation/devicetree/bindings/net/phy.txt and
> Documentation/devicetree/bindings/net/ethernet.txt here. device_type is
> not required.
Yes, I added a reference there.
>
> > + Examples:
> >
> > EMAC0: ethernet@40000800 {
> > device_type = "network";
> > @@ -104,6 +117,50 @@
> > zmii-channel = <0>;
> > };
> >
> > + EMAC1: ethernet@ef600c00 {
> > + device_type = "network";
> > + compatible = "ibm,emac-apm821xx", "ibm,emac4sync";
> > + interrupt-parent = <&EMAC1>;
> > + interrupts = <0 1>;
> > + #interrupt-cells = <1>;
> > + #address-cells = <0>;
> > + #size-cells = <0>;
> > + interrupt-map = <0 &UIC2 0x10 IRQ_TYPE_LEVEL_HIGH /* Status */
> > + 1 &UIC2 0x14 IRQ_TYPE_LEVEL_HIGH /* Wake */>;
> > + reg = <0xef600c00 0x000000c4>;
> > + local-mac-address = [000000000000]; /* Filled in by U-Boot */
> > + mal-device = <&MAL0>;
> > + mal-tx-channel = <0>;
> > + mal-rx-channel = <0>;
> > + cell-index = <0>;
> > + max-frame-size = <9000>;
> > + rx-fifo-size = <16384>;
> > + tx-fifo-size = <2048>;
> > + fifo-entry-size = <10>;
> > + phy-mode = "rgmii";
> > + phy-map = <0x00000000>;
>
> If you have a proper mdio subnode, this property becomes irrelevant and
> should be unused.
This is emac.c doing. It defaults to 0xffff... if the property is absent.
<http://lxr.free-electrons.com/source/drivers/net/ethernet/ibm/emac/core.c#L2578>
> > + phy-handle = <&phy0>;
> > + rgmii-device = <&RGMII0>;
> > + rgmii-channel = <0>;
> > + tah-device = <&TAH0>;
> > + tah-channel = <0>;
> > + has-inverted-stacr-oc;
> > + has-new-stacr-staopc;
> > +
> > + mdio {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + phy0: ethernet-phy@0 {
> > + device_type = "ethernet-phy";
> > + reg = <0>;
> > +
> > + qca,ar8327-initvals = <
> > + 0x0010 0x40000000>;
> > + };
> > + };
> > +
> > +
> > ii) McMAL node
> >
> > Required properties:
> > @@ -145,4 +202,3 @@
> > - revision : as provided by the RGMII new version register if
> > available.
> > For Axon: 0x0000012a
> > -
> >
>
>
>
next prev parent reply other threads:[~2017-02-19 15:23 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-05 22:25 [RFC 1/2] dt: emac: document device-tree based phy discovery and setup Christian Lamparter
[not found] ` <f57a340f615991ed2771d8af4b1a908dec436a5e.1486333475.git.chunkeey-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2017-02-05 22:25 ` [RFC 2/2] net: emac: add support for device-tree based PHY " Christian Lamparter
[not found] ` <710c7971cb7dcef54058b61dced03b5d27553380.1486333475.git.chunkeey-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2017-02-05 22:44 ` Florian Fainelli
[not found] ` <7143c86d-6a3c-5e55-70cd-7424f28e1d78-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-02-11 22:45 ` Christian Lamparter
2017-02-11 23:07 ` Florian Fainelli
2017-02-13 23:38 ` Christian Lamparter
2017-02-15 0:16 ` Christian Lamparter
2017-02-15 0:24 ` Florian Fainelli
2017-02-15 14:23 ` Andrew Lunn
2017-02-19 14:44 ` Christian Lamparter
2017-02-05 22:33 ` [RFC 1/2] dt: emac: document device-tree based phy " Florian Fainelli
2017-02-19 15:20 ` Christian Lamparter [this message]
2017-02-08 23:00 ` Rob Herring
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=2476200.DrVWeKAC8k@debian64 \
--to=chunkeey@googlemail.com \
--cc=davem@davemloft.net \
--cc=f.fainelli@gmail.com \
--cc=ivan@de.ibm.com \
--cc=netdev@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.