Thread (18 messages) flat view 18 messages, 3 authors, 2021-06-07

Re: [PATCH v2] net: phy: add Maxlinear GPY115/21x/24x driver

From: Liang Xu <lxu@maxlinear.com>
Date: 2021-06-05 03:46:24

On 5/6/2021 4:39 am, Andrew Lunn wrote:
This email was sent from outside of MaxLinear.


On Fri, Jun 04, 2021 at 12:52:02PM +0000, Liang Xu wrote:
quoted
On 4/6/2021 8:15 pm, Andrew Lunn wrote:
quoted
This email was sent from outside of MaxLinear.

quoted
+config MXL_GPHY
+     tristate "Maxlinear PHYs"
+     help
+       Support for the Maxlinear GPY115, GPY211, GPY212, GPY215,
+       GPY241, GPY245 PHYs.
Do these PHYs have unique IDs in register 2 and 3? What is the format
of these IDs?

The OUI is fixed. But often the rest is split into two. The higher
part indicates the product, and the lower part is the revision. We
then have a struct phy_driver for each product, and the mask is used
to match on all the revisions of the product.

       Andrew
Register 2, Register 3 bit 10~15 - OUI

Register 3 bit 4~9 - product number

Register 3 bit 0~3 - revision number

These PHYs have same ID in register 2 and 3.
O.K, that is pretty normal. Please add a phy_device for each
individual PHY. There are macros to help you do this.

         Andrew
Sorry, I didn't get the point.

Do you mean create the MDIO device for each PHY like below?

static struct mdio_device_id __maybe_unused gpy_tbl[] = {
         {PHY_ID_MATCH_MODEL(PHY_ID_GPY)},
         { }
};
MODULE_DEVICE_TABLE(mdio, gpy_tbl);

These PHYs have same ID and no difference OUI, product number, revision 
number.

Please give me more guidance if my understanding is wrong.

Thank you.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help