From: andrew@lunn.ch (Andrew Lunn)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 3/4] net: stmmac: register parent MDIO node for sun8i-h3-emac
Date: Mon, 21 Aug 2017 16:23:21 +0200 [thread overview]
Message-ID: <20170821142321.GE1703@lunn.ch> (raw)
In-Reply-To: <20170821133104.qvrhvwin2rdg4aqo@flea.lan>
> All muxes are mostly always represented the same way afaik, or do you
> want to simply introduce a new compatible / property?
+ mdio-mux {
+ compatible = "allwinner,sun8i-h3-mdio-switch";
+ mdio-parent-bus = <&mdio_parent>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ internal_mdio: mdio at 1 {
reg = <1>;
- clocks = <&ccu CLK_BUS_EPHY>;
- resets = <&ccu RST_BUS_EPHY>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ int_mii_phy: ethernet-phy at 1 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <1>;
+ clocks = <&ccu CLK_BUS_EPHY>;
+ resets = <&ccu RST_BUS_EPHY>;
+ phy-is-integrated;
+ };
+ };
+ mdio: mdio at 0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
};
Hi Maxim
Anybody who knows the MDIO-mux code/binding, knows that it is a run
time mux. You swap the mux per MDIO transaction. You can access all
the PHY and switches on the mux'ed MDIO bus.
However here, it is effectively a boot-time MUX. You cannot change it
on the fly. What happens when somebody has a phandle to a PHY on the
internal and a phandle to a phy on the external? Does the driver at
least return -EINVAL, or -EBUSY? Is there a representation which
eliminates this possibility?
Andrew
WARNING: multiple messages have this Message-ID (diff)
From: Andrew Lunn <andrew-g2DYL2Zd6BY@public.gmane.org>
To: Maxime Ripard
<maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
Cc: Chen-Yu Tsai <wens-jdAy2FN1RRM@public.gmane.org>,
Corentin Labbe
<clabbe.montjoie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
Russell King <linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org>,
Giuseppe Cavallaro <peppe.cavallaro-qxv4g6HH51o@public.gmane.org>,
Alexandre Torgue <alexandre.torgue-qxv4g6HH51o@public.gmane.org>,
devicetree <devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
linux-arm-kernel
<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
linux-kernel
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
netdev <netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH v3 3/4] net: stmmac: register parent MDIO node for sun8i-h3-emac
Date: Mon, 21 Aug 2017 16:23:21 +0200 [thread overview]
Message-ID: <20170821142321.GE1703@lunn.ch> (raw)
In-Reply-To: <20170821133104.qvrhvwin2rdg4aqo-ZC1Zs529Oq4@public.gmane.org>
> All muxes are mostly always represented the same way afaik, or do you
> want to simply introduce a new compatible / property?
+ mdio-mux {
+ compatible = "allwinner,sun8i-h3-mdio-switch";
+ mdio-parent-bus = <&mdio_parent>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ internal_mdio: mdio@1 {
reg = <1>;
- clocks = <&ccu CLK_BUS_EPHY>;
- resets = <&ccu RST_BUS_EPHY>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ int_mii_phy: ethernet-phy@1 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <1>;
+ clocks = <&ccu CLK_BUS_EPHY>;
+ resets = <&ccu RST_BUS_EPHY>;
+ phy-is-integrated;
+ };
+ };
+ mdio: mdio@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
};
Hi Maxim
Anybody who knows the MDIO-mux code/binding, knows that it is a run
time mux. You swap the mux per MDIO transaction. You can access all
the PHY and switches on the mux'ed MDIO bus.
However here, it is effectively a boot-time MUX. You cannot change it
on the fly. What happens when somebody has a phandle to a PHY on the
internal and a phandle to a phy on the external? Does the driver at
least return -EINVAL, or -EBUSY? Is there a representation which
eliminates this possibility?
Andrew
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: Andrew Lunn <andrew@lunn.ch>
To: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Chen-Yu Tsai <wens@csie.org>,
Corentin Labbe <clabbe.montjoie@gmail.com>,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Russell King <linux@armlinux.org.uk>,
Giuseppe Cavallaro <peppe.cavallaro@st.com>,
Alexandre Torgue <alexandre.torgue@st.com>,
devicetree <devicetree@vger.kernel.org>,
linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
linux-kernel <linux-kernel@vger.kernel.org>,
netdev <netdev@vger.kernel.org>
Subject: Re: [PATCH v3 3/4] net: stmmac: register parent MDIO node for sun8i-h3-emac
Date: Mon, 21 Aug 2017 16:23:21 +0200 [thread overview]
Message-ID: <20170821142321.GE1703@lunn.ch> (raw)
In-Reply-To: <20170821133104.qvrhvwin2rdg4aqo@flea.lan>
> All muxes are mostly always represented the same way afaik, or do you
> want to simply introduce a new compatible / property?
+ mdio-mux {
+ compatible = "allwinner,sun8i-h3-mdio-switch";
+ mdio-parent-bus = <&mdio_parent>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ internal_mdio: mdio@1 {
reg = <1>;
- clocks = <&ccu CLK_BUS_EPHY>;
- resets = <&ccu RST_BUS_EPHY>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ int_mii_phy: ethernet-phy@1 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <1>;
+ clocks = <&ccu CLK_BUS_EPHY>;
+ resets = <&ccu RST_BUS_EPHY>;
+ phy-is-integrated;
+ };
+ };
+ mdio: mdio@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
};
Hi Maxim
Anybody who knows the MDIO-mux code/binding, knows that it is a run
time mux. You swap the mux per MDIO transaction. You can access all
the PHY and switches on the mux'ed MDIO bus.
However here, it is effectively a boot-time MUX. You cannot change it
on the fly. What happens when somebody has a phandle to a PHY on the
internal and a phandle to a phy on the external? Does the driver at
least return -EINVAL, or -EBUSY? Is there a representation which
eliminates this possibility?
Andrew
next prev parent reply other threads:[~2017-08-21 14:23 UTC|newest]
Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-18 12:21 [PATCH v3 0/4] net: stmmac: Detect PHY location with phy-is-integrated Corentin Labbe
2017-08-18 12:21 ` Corentin Labbe
2017-08-18 12:21 ` [PATCH v3 1/4] ARM: dts: sunxi: h3/h5: represent the mdio switch used by sun8i-h3-emac Corentin Labbe
2017-08-18 12:21 ` Corentin Labbe
2017-08-18 12:21 ` [PATCH v3 2/4] net: stmmac: dwmac-sun8i: choose internal PHY via phy-is-integrated Corentin Labbe
2017-08-18 12:21 ` Corentin Labbe
2017-08-18 16:58 ` Chen-Yu Tsai
2017-08-18 16:58 ` Chen-Yu Tsai
2017-08-22 16:40 ` Florian Fainelli
2017-08-22 16:40 ` Florian Fainelli
2017-08-18 12:21 ` [PATCH v3 3/4] net: stmmac: register parent MDIO node for sun8i-h3-emac Corentin Labbe
2017-08-18 12:21 ` Corentin Labbe
2017-08-18 17:05 ` Chen-Yu Tsai
2017-08-18 17:05 ` Chen-Yu Tsai
2017-08-19 18:50 ` Corentin Labbe
2017-08-19 18:50 ` Corentin Labbe
2017-08-19 20:38 ` Andrew Lunn
2017-08-19 20:38 ` Andrew Lunn
2017-08-20 6:57 ` Corentin Labbe
2017-08-20 6:57 ` Corentin Labbe
2017-08-20 6:57 ` Corentin Labbe
2017-08-20 14:25 ` Andrew Lunn
2017-08-20 14:25 ` Andrew Lunn
2017-08-20 14:25 ` Andrew Lunn
2017-08-21 8:10 ` Chen-Yu Tsai
2017-08-21 8:10 ` Chen-Yu Tsai
2017-08-21 13:20 ` Andrew Lunn
2017-08-21 13:20 ` Andrew Lunn
2017-08-21 13:31 ` Maxime Ripard
2017-08-21 13:31 ` Maxime Ripard
2017-08-21 14:23 ` Andrew Lunn [this message]
2017-08-21 14:23 ` Andrew Lunn
2017-08-21 14:23 ` Andrew Lunn
2017-08-22 7:59 ` Corentin Labbe
2017-08-22 7:59 ` Corentin Labbe
2017-08-22 15:39 ` Chen-Yu Tsai
2017-08-22 15:39 ` Chen-Yu Tsai
2017-08-22 15:39 ` Chen-Yu Tsai
2017-08-22 16:40 ` Florian Fainelli
2017-08-22 16:40 ` Florian Fainelli
2017-08-22 16:40 ` Florian Fainelli
2017-08-22 18:11 ` Corentin Labbe
2017-08-22 18:11 ` Corentin Labbe
2017-08-22 18:35 ` Florian Fainelli
2017-08-22 18:35 ` Florian Fainelli
2017-08-22 19:37 ` Corentin Labbe
2017-08-22 19:37 ` Corentin Labbe
2017-08-23 7:49 ` Maxime Ripard
2017-08-23 7:49 ` Maxime Ripard
2017-08-23 16:31 ` Florian Fainelli
2017-08-23 16:31 ` Florian Fainelli
2017-08-24 8:12 ` Maxime Ripard
2017-08-24 8:12 ` Maxime Ripard
2017-08-24 8:12 ` Maxime Ripard
2017-08-24 8:21 ` Corentin Labbe
2017-08-24 8:21 ` Corentin Labbe
2017-08-24 19:44 ` Corentin Labbe
2017-08-24 19:44 ` Corentin Labbe
2017-08-24 19:59 ` Florian Fainelli
2017-08-24 19:59 ` Florian Fainelli
2017-08-24 19:59 ` Florian Fainelli
2017-08-25 2:54 ` Chen-Yu Tsai
2017-08-25 2:54 ` Chen-Yu Tsai
2017-08-25 3:05 ` Florian Fainelli
2017-08-25 3:05 ` Florian Fainelli
2017-08-25 3:05 ` Florian Fainelli
2017-08-25 3:41 ` Chen-Yu Tsai
2017-08-25 3:41 ` Chen-Yu Tsai
2017-08-25 3:41 ` Chen-Yu Tsai
2017-08-25 3:59 ` Florian Fainelli
2017-08-25 3:59 ` Florian Fainelli
2017-08-25 13:26 ` Andrew Lunn
2017-08-25 13:26 ` Andrew Lunn
2017-08-22 16:50 ` Maxime Ripard
2017-08-22 16:50 ` Maxime Ripard
2017-08-22 16:50 ` Maxime Ripard
2017-08-18 12:21 ` [PATCH v3 4/4] dt-bindings: net: dwmac-sun8i: update documentation about integrated PHY Corentin Labbe
2017-08-18 12:21 ` Corentin Labbe
2017-08-18 16:57 ` Chen-Yu Tsai
2017-08-18 16:57 ` Chen-Yu Tsai
2017-08-19 18:33 ` Corentin Labbe
2017-08-19 18:33 ` Corentin Labbe
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=20170821142321.GE1703@lunn.ch \
--to=andrew@lunn.ch \
--cc=linux-arm-kernel@lists.infradead.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.