Re: [PATCH 5/5] bgmac: add support for Northstar SoC (BCM4707, BCM53018)
From: Hauke Mehrtens <hauke@hauke-m.de>
Date: 2014-01-02 22:21:57
On 01/02/2014 09:40 PM, Rafał Miłecki wrote:
> + if (ci->id == BCMA_CHIP_ID_BCM4707 ||quoted
+ ci->id == BCMA_CHIP_ID_BCM53018) {Please add a missing if (bgmac->phyaddr != BGMAC_PHY_NOREGS) return; at the beginning of this 4707/53018 block
Why should I add that there?
quoted
+ bcma_awrite32(core, BCMA_IOCTL, + bcma_aread32(core, BCMA_IOCTL) | 0x44);Please use BGMAC_BCMA_IOCTL_SW_CLKEN | 0x40 (unless you know 0x40, then replace it too).
The Documentation says this is: * Bit 2 : TX_CLK_OUT_INVERT_EN - If set, this will invert the TX clock out of AMAC. And the other is: * Bit 12:8 "interface_mode" This field is programmed through IDM control bits [6:2] see this: https://github.com/RMerl/asuswrt-merlin/blob/master/release/src-rt-6.x.4708/et/sys/etcgmac.c#L1039
quoted
+ bgmac->mac_speed = SPEED_2500; + bgmac->mac_duplex = DUPLEX_FULL; + bgmac_mac_speed(bgmac);Wrong indent above.
fixed
quoted
@@ -911,7 +926,8 @@ static void bgmac_chip_reset(struct bgmac *bgmac) bcma_core_enable(core, flags);Look closer. Don't calculate flags and don't call bcma_core_enable for 4707 (but call it for 53018).
I haven't seen that condition, strange.
quoted
- if (core->id.rev > 2) { + if (core->id.rev > 2 && ci->id != BCMA_CHIP_ID_BCM4707 && + ci->id != BCMA_CHIP_ID_BCM53018) {Could you put 4707 check on the separated line? I'm not pushing however.
changed Hauke