Hi All, Any comments on my query? @Joe : Your comments ?
Regards, Pankaj Bansal From: Pankaj Bansal Sent: Friday, August 3, 2018 12:29 PM To: Priyanka Jain <priyanka.j...@nxp.com>; joe.hershber...@ni.com; u-boot <u-boot@lists.denx.de> Cc: Varun Sethi <v.se...@nxp.com> Subject: RE: Get Phy device ID for non standard phy Hi Priyanka, Yes this patch takes care of cortina phy id. The problem arises, when we have two or more phys in one system that implement the phy ID at two different non-standard location. Like we have in our upcoming boards LX2160AQDS/LX2160ARDB : inphi phy and cortina phy. In which file we should implement the get_phy_id function? Inphi.c or cortina.c ? Regards, Pankaj Bansal From: Priyanka Jain Sent: Friday, August 3, 2018 12:18 PM To: Pankaj Bansal <pankaj.ban...@nxp.com<mailto:pankaj.ban...@nxp.com>>; joe.hershber...@ni.com<mailto:joe.hershber...@ni.com>; u-boot <u-boot@lists.denx.de<mailto:u-boot@lists.denx.de>> Cc: Varun Sethi <v.se...@nxp.com<mailto:v.se...@nxp.com>> Subject: RE: Get Phy device ID for non standard phy Hello Pankaj, The requirement of LX2160ARD, LX2160AQDS has been taken care by the patch http://patchwork.ozlabs.org/patch/867403/ in upstream u-boot. Regards Priyanka From: Pankaj Bansal Sent: Friday, August 3, 2018 12:09 PM To: joe.hershber...@ni.com<mailto:joe.hershber...@ni.com>; u-boot <u-boot@lists.denx.de<mailto:u-boot@lists.denx.de>> Cc: Varun Sethi <v.se...@nxp.com<mailto:v.se...@nxp.com>>; Priyanka Jain <priyanka.j...@nxp.com<mailto:priyanka.j...@nxp.com>> Subject: Get Phy device ID for non standard phy Hi All, I have a query about phy devices that implement phy identification registers at non-standard locations. The IEEE 802.3 specifies these registers as phy ID registers: 22.2.4.3.1 PHY Identifier (Registers 2 and 3) Registers 2 and 3 provide a 32-bit value, which shall constitute a unique identifier for a particular type of PHY. A PHY may return a value of zero in each of the 32 bits of the PHY Identifier. Bit 2.15 shall be the MSB of the PHY Identifier, and bit 3.0 shall be the LSB of the PHY Identifier. But there are phys that implement this 32 bit ID in nonstandard locations. In u-boot there is a weak function get_phy_id (https://elixir.bootlin.com/u-boot/v2018.09-rc1/source/drivers/net/phy/phy.c#L673) This function can be overridden to get the phy id for nonstandard phys. Now If this function is overridden with our own function, then it's the job of our own function to get the phy id from all phy devices (standard or nonstandard) Till date, this function has been overridden by two files : https://elixir.bootlin.com/u-boot/v2018.09-rc1/source/drivers/net/phy/cortina.c#L353 https://elixir.bootlin.com/u-boot/v2018.09-rc1/source/drivers/net/phy/mv88e61xx.c#L1055 Now the problem arises, when we have two or more phys in one system that implement the phy ID at two different non-standard location. Like we have in our upcoming boards LX2160AQDS/LX2160ARDB : inphi phy and cortina phy. In which file we should implement the get_phy_id function? I suggest that we should implement get_phy_id function in board file,. As the board manufacturer knows the phys in his system and the various non-standard locations these phy implement the 32 bit phy identifier. Any suggestion ? Regards, Pankaj Bansal _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot