lkml.org 
[lkml]   [2020]   [Apr]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH net-next 2/3] net: phy: add Broadcom BCM54140 support
On Fri, Apr 17, 2020 at 09:28:57PM +0200, Michael Walle wrote:

> +static int bcm54140_get_base_addr_and_port(struct phy_device *phydev)
> +{
> + struct bcm54140_phy_priv *priv = phydev->priv;
> + struct mii_bus *bus = phydev->mdio.bus;
> + int addr, min_addr, max_addr;
> + int step = 1;
> + u32 phy_id;
> + int tmp;
> +
> + min_addr = phydev->mdio.addr;
> + max_addr = phydev->mdio.addr;
> + addr = phydev->mdio.addr;
> +
> + /* We scan forward and backwards and look for PHYs which have the
> + * same phy_id like we do. Step 1 will scan forward, step 2
> + * backwards. Once we are finished, we have a min_addr and
> + * max_addr which resembles the range of PHY addresses of the same
> + * type of PHY. There is one caveat; there may be many PHYs of
> + * the same type, but we know that each PHY takes exactly 4
> + * consecutive addresses. Therefore we can deduce our offset
> + * to the base address of this quad PHY.
> + */

Hi Michael

How much flexibility is there in setting the base address using
strapping etc? Is it limited to a multiple of 4?

\
 
 \ /
  Last update: 2020-04-17 21:39    [W:0.146 / U:0.176 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site