Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1376249
| From | Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH RFT 1/2] phylib: add device reset GPIO support |
| Date | 2016-04-11 21:30 +0200 |
| Message-ID | <rmPH4-2Bx-19@gated-at.bofh.it> (permalink) |
| References | <rlN4B-2Mf-3@gated-at.bofh.it> <rlN4C-2Mf-11@gated-at.bofh.it> <rmPH5-2Bx-21@gated-at.bofh.it> |
| Organization | Cogent Embedded |
On 04/11/2016 10:25 PM, Rob Herring wrote:
>> The PHY devices sometimes do have their reset signal (maybe even power
>> supply?) tied to some GPIO and sometimes it also does happen that a boot
>> loader does not leave it deasserted. So far this issue has been attacked
>> from (as I believe) a wrong angle: by teaching the MAC driver to manipulate
>> the GPIO in question; that solution, when applied to the device trees,
>> led to adding the PHY reset GPIO properties to the MAC device node, with
>> one exception: Cadence MACB driver which could handle the "reset-gpios"
>> prop in a PHY device subnode. I believe that the correct approach is to
>> teach the 'phylib' to get the MDIO device reset GPIO from the device tree
>> node corresponding to this device -- which this patch is doing...
>>
>> Note that I had to modify the AT803x PHY driver as it would stop working
>> otherwise as it made use of the reset GPIO for its own purposes...
>
> Lots of double spaces in here. Please fix.
Oh, it's you again! :-D
>> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
>>
>> ---
>> Documentation/devicetree/bindings/net/phy.txt | 2 +
>> drivers/net/phy/at803x.c | 19 ++------------
>> drivers/net/phy/mdio_bus.c | 4 +++
>> drivers/net/phy/mdio_device.c | 27 +++++++++++++++++++--
>> drivers/net/phy/phy_device.c | 33 ++++++++++++++++++++++++--
>> drivers/of/of_mdio.c | 16 ++++++++++++
>> include/linux/mdio.h | 3 ++
>> include/linux/phy.h | 5 +++
>> 8 files changed, 89 insertions(+), 20 deletions(-)
>
> [...]
>
>> Index: net-next/drivers/of/of_mdio.c
>> ===================================================================
>> --- net-next.orig/drivers/of/of_mdio.c
>> +++ net-next/drivers/of/of_mdio.c
>> @@ -44,6 +44,7 @@ static int of_get_phy_id(struct device_n
>> static int of_mdiobus_register_phy(struct mii_bus *mdio, struct device_node *child,
>> u32 addr)
>> {
>> + struct gpio_desc *gpiod;
>> struct phy_device *phy;
>> bool is_c45;
>> int rc;
>> @@ -52,10 +53,17 @@ static int of_mdiobus_register_phy(struc
>> is_c45 = of_device_is_compatible(child,
>> "ethernet-phy-ieee802.3-c45");
>>
>> + gpiod = fwnode_get_named_gpiod(&child->fwnode, "reset-gpios");
>
> Calling fwnode_* functions in a DT specific file/function? That doesn't
> make sense.
Really?! 8-)
Where is a DT-only analog I wonder...
MBR, Sergei
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH RFT 0/2] Teach phylib hard-resetting devices Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> - 2016-04-09 00:30 +0200
[PATCH RFT 1/2] phylib: add device reset GPIO support Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> - 2016-04-09 00:30 +0200
Re: [PATCH RFT 1/2] phylib: add device reset GPIO support Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> - 2016-04-11 21:30 +0200
Re: [PATCH RFT 1/2] phylib: add device reset GPIO support Rob Herring <robh@kernel.org> - 2016-04-12 00:50 +0200
Re: [PATCH RFT 1/2] phylib: add device reset GPIO support Rob Herring <robh@kernel.org> - 2016-04-11 21:30 +0200
csiph-web