[PATCH] net/macb: add support for resetting PHY using GPIO
Gregory CLEMENT
gregory.clement at free-electrons.com
Thu Dec 10 07:08:08 PST 2015
Hi Sascha,
On jeu., déc. 10 2015, Sascha Hauer <s.hauer at pengutronix.de> wrote:
> Hi Gregory,
>
> On Wed, Dec 09, 2015 at 06:49:43PM +0100, Gregory CLEMENT wrote:
>> With device tree it is no more possible to reset the PHY at board
>> level. Furthermore, doing in the driver allow to power down the PHY when
>> the network interface is no more used.
>>
>> The patch introduces a new optional property "phy-reset-gpio" inspired
>> from the one use for the FEC.
>
> I don't think it's a good idea to further extend the usage of this
> binding. The driver should use the phy-handle property and
> of_phy_connect() which gives you a proper device node for the phy. Then
> the phy device node should get the reset gpio. I know it's more work,
So you suggest to pass from this binding:
macb1: ethernet at fc028000 {
phy-mode = "rmii";
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
phy-reset-gpio = <&pioE 6 GPIO_ACTIVE_HIGH>;
ethernet-phy at 1 {
reg = <0x1>;
interrupt-parent = <&pioB>;
interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
};
};
to this binding
macb1: ethernet at fc028000 {
phy-mode = "rmii";
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
ethernet-phy at 1 {
reg = <0x1>;
interrupt-parent = <&pioB>;
interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
phy-reset-gpio = <&pioE 6 GPIO_ACTIVE_HIGH>;
};
};
> but doing it like this gives you additional goodies like proper handling
> of the max-speed property, a fixed-link if necessary and picking the
Currently there is phy_connect_direct so we can already handle the
preperty of the phy.
> correct phy if there are muliple phys on the bus.
but I agree with this one.
Gregory
>
> Sascha
>
> --
> Pengutronix e.K. | |
> Industrial Linux Solutions | http://www.pengutronix.de/ |
> Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
> Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
More information about the linux-arm-kernel
mailing list