Subject: Re: [PATCH v3 4/5] bgmac: reset all cores on Northstar SoC

From: Sergei Shtylyov <[email-masked]>
Date: Sun, 05 Jan 2014 17:10:04 +0400

Hello.

On 05-01-2014 4:10, Hauke Mehrtens wrote:

> On the Northstar SoC (BCM4707 and BCM53018) we have to enable all GMAC
> cores when we just want to use on. We iterate over all the cores and
> activate them.

> Signed-off-by: Hauke Mehrtens <[email-masked]>
> Acked-by: Rafał Miłecki <[email-masked]>
> ---
>   drivers/net/ethernet/broadcom/bgmac.c |   21 +++++++++++++++++++++
>   1 file changed, 21 insertions(+)

> diff --git a/drivers/net/ethernet/broadcom/bgmac.c b/drivers/net/ethernet/broadcom/bgmac.c
> index 88ec69e..2cdacb8 100644
> --- a/drivers/net/ethernet/broadcom/bgmac.c
> +++ b/drivers/net/ethernet/broadcom/bgmac.c
> @@ -1446,6 +1446,27 @@ static int bgmac_probe(struct bcma_device *core)
>
>   	bgmac_chip_reset(bgmac);
>
> +	/* For Northstar, we have to take all GMAC core out of reset */
> +	if (core->id.id == BCMA_CHIP_ID_BCM4707 ||
> +	    core->id.id == BCMA_CHIP_ID_BCM53018) {
> +		struct bcma_device *ns_core;
> +		int ns_gmac;
> +
> +		/* Northstar has 4 GMAC cores */
> +		for (ns_gmac = 0; ns_gmac < 4; ns_gmac++) {
> +			/* As northstar requirement, we have to reset all GAMCs

    Sorry for grammar nitpicking but s/GAMCs/GMACs/? And "northstar" probaby 
should be capitalized.

> +			 * before accessing one. bgmac_chip_reset() call
> +			 * bcma_core_enable() for this core. Then the other
> +			 * three GAMCs didn't reset.  We do it here.

    GMACs again?

> +			 */
> +			ns_core = bcma_find_core_unit(core->bus,
> +						      BCMA_CORE_MAC_GBIT,
> +						      ns_gmac);
> +			if (ns_core && !bcma_core_is_enabled(ns_core))
> +				bcma_core_enable(ns_core, 0);
> +		}
> +	}
> +

WBR, Sergei