在 2016年03月12日 02:46, Sergei Shtylyov 写道:
Hello.
On 03/11/2016 05:48 PM, Caesar Wang wrote:
[...]
Hi Rob, David:
PATCH[1/6-2/6]: ====>
net: arc_emac: make the rockchip emac document more compatible
net: arc_emac: add phy-reset-* are optional for device tree
The patches change the rockchip emac document for more compatible and
Add the phy-reset-* property for document.
This patch adds the following property for arc_emac.
phy-reset-* include the following:
1) phy-reset-gpios:
The phy-reset-gpios is an optional property for arc emac device
tree boot.
Change the binding document to match the driver code.
2) phy-reset-duration:
Different boards may require different phy reset duration. Add
property
phy-reset-duration for device tree probe, so that the boards that need
a longer reset duration can specify it in their device tree.
3) phy-reset-active-high:
We need that for a custom hardware that needs the reverse reset
sequence.
Why not infer this from the "phy-reset-gpios" prop?
See:
https://patchwork.kernel.org/patch/8564511/
>
phy-reset-active-high : If present then the reset sequence using the
GPIO
specified in the "phy-reset-gpios" property is reversed (H=reset
state,
L=operation state).
Referring to your own suggested bindings isn't an answer. If the
driver that you're copying from here (fec) had a reason to handle the
GPIO sense with the help of an extra prop (legacy code), it doesn't
mean your new driver needs to mimic this as well, AFAIU...
I know your suggestion is a fair request.
Oh, that copy from the 'freescale/fec_main.c' ....
So, The exist way was old and unwise in mainline. :(
wxt@nb:~/kernel/drivers/net/ethernet$ ag reset-gpios
micrel/ks8851.c
1427: gpio = of_get_named_gpio_flags(spi->dev.of_node, "reset-gpios",
arc/emac_main.c
787: phy_reset = of_get_named_gpio(np, "phy-reset-gpios", 0);
797: dev_err(dev, "failed to get phy-reset-gpios: %d\n", err);
arc/emac_main.c~
784: phy_reset = of_get_named_gpio(np, "phy-reset-gpios", 0);
794: dev_err(dev, "failed to get phy-reset-gpios: %d\n", err);
davicom/dm9000.c
1451: reset_gpios = of_get_named_gpio_flags(dev->of_node,
"reset-gpios", 0,
freescale/fec_main.c
3206: phy_reset = of_get_named_gpio(np, "phy-reset-gpios", 0);
3216: dev_err(&pdev->dev, "failed to get phy-reset-gpios: %d\n",
err);
cadence/macb.c
2958: int gpio = of_get_named_gpio(phy_node, "reset-gpios", 0);
...
Anyway, I will update it with your suggestion.
Thanks,
Caesar
Thanks,
Caesar
MBR, Sergei
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-rockchip
--
Thanks,
Caesar
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html