Re: [PATCH v3 0/6] Generic PHY Framework

From: Kishon Vijay Abraham I
Date: Mon Apr 15 2013 - 08:33:48 EST


Hi,

On Monday 15 April 2013 05:56 PM, Grant Likely wrote:
On Mon, 15 Apr 2013 16:06:37 +0530, Kishon Vijay Abraham I <kishon@xxxxxx> wrote:
Hi,

On Monday 15 April 2013 03:50 PM, Grant Likely wrote:
On Wed, 20 Mar 2013 14:41:59 +0530, Kishon Vijay Abraham I <kishon@xxxxxx> wrote:
Added a generic PHY framework that provides a set of APIs for the PHY drivers
to create/destroy a PHY and APIs for the PHY users to obtain a reference to
the PHY with or without using phandle. To obtain a reference to the PHY
without using phandle, the platform specfic intialization code (say from board
file) should have already called phy_bind with the binding information. The
binding information consists of phy's device name, phy user device name and an
index. The index is used when the same phy user binds to mulitple phys.

This framework will be of use only to devices that uses external PHY (PHY
functionality is not embedded within the controller).

The intention of creating this framework is to bring the phy drivers spread
all over the Linux kernel to drivers/phy to increase code re-use and to
increase code maintainability.

Comments to make PHY as bus wasn't done because PHY devices can be part of
other bus and making a same device attached to multiple bus leads to bad
design.

Making omap-usb2 and twl4030 to use this framework is provided as a sample.

This patch series is developed on 3.9-rc3. Once the patch series gets finalised
I'll resend omap-usb2 and twl4030 part based on Felipe's tree.


[...]

drivers/Kconfig | 2 +
drivers/Makefile | 2 +
drivers/phy/Kconfig | 13 +
drivers/phy/Makefile | 5 +
drivers/phy/phy-core.c | 574 ++++++++++++++++++++

This looks to be very specific for USB PHYs. Are you intending it to be
used for other types of PHYs, like Ethernet PHYs? If not, then this

Not really. This can be used by USB, SATA and Sylwester was planning to
use it for video PHY's.

So what are the common bits that are shared between those phys? Merely
matching phys to controllers? Besides that, each of those devices have

The same PIPE3 PHY IP is used for USB (usb3) and SATA in OMAP5. Even for just matching PHYs to controllers you need a simple framework (like this) or else we'll end up in creating such frameworks for lot of these subsystems.

Thanks
Kishon
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/