Re: [PATCH net-next 2/3] net: phy: add Broadcom BCM54140 support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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?




[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux