If the GEM is used, however only FE featuren enabled, then it can not support FBLDO configured as 16, and no RGMII/GMII configuratin bit. So, in order to support GEM only with FE feature enabled, we do: - using default value for FBLDO. - using same bit for RMII/MII configuration as GEM for RGMII/GMII. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> --- Changes in v2: - using the same bit for RMII/MII configuration for GEM only with FE feature. drivers/net/macb.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/net/macb.c b/drivers/net/macb.c index 12a2a3c..876af0d 100644 --- a/drivers/net/macb.c +++ b/drivers/net/macb.c @@ -304,7 +304,6 @@ static void macb_configure_dma(struct macb_device *bp) if (macb_is_gem(bp)) { dmacfg = gem_readl(bp, DMACFG) & ~GEM_BF(RXBS, -1L); dmacfg |= GEM_BF(RXBS, bp->rx_buffer_size / RX_BUFFER_MULTIPLE); - dmacfg |= GEM_BF(FBLDO, 16); dmacfg |= GEM_BIT(TXPBMS) | GEM_BF(RXBMS, -1L); dmacfg |= GEM_BIT(DDRP); dmacfg &= ~GEM_BIT(ENDIA); @@ -352,7 +351,10 @@ static void macb_init(struct macb_device *macb) break; case PHY_INTERFACE_MODE_RMII: if (IS_ENABLED(CONFIG_ARCH_AT91)) - val = MACB_BIT(RMII) | MACB_BIT(CLKEN); + if (macb_is_gem(macb)) + val = GEM_BIT(RGMII); + else + val = MACB_BIT(RMII) | MACB_BIT(CLKEN); else val = 0; break; -- 2.1.0.24.g4109c28 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox