GMAC in A20 SoC supports MII and RGMII modes.
Support both so we can use GMAC in different boards.

Signed-off-by: Chen-Yu Tsai <w...@csie.org>
---
 arch/arm/cpu/armv7/sunxi/board.c | 9 +++++++++
 boards.cfg                       | 4 ++--
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/arch/arm/cpu/armv7/sunxi/board.c b/arch/arm/cpu/armv7/sunxi/board.c
index 6d555f0..386b16e 100644
--- a/arch/arm/cpu/armv7/sunxi/board.c
+++ b/arch/arm/cpu/armv7/sunxi/board.c
@@ -153,7 +153,11 @@ int cpu_eth_init(bd_t *bis)
        setbits_le32(&ccm->ahb_gate1, 0x1 << AHB_GATE_OFFSET_GMAC);
 
        /* Set MII clock */
+#ifdef CONFIG_RGMII
        setbits_le32(&ccm->gmac_clk_cfg, (0x1 << 2) | (0x2 << 0));
+#else
+       setbits_le32(&ccm->gmac_clk_cfg, 0);
+#endif
 
        /* Configure pin mux settings for GMAC */
        for (pin = SUNXI_GPA(0); pin <= SUNXI_GPA(17); pin++) {
@@ -161,7 +165,12 @@ int cpu_eth_init(bd_t *bis)
                sunxi_gpio_set_drv(pin, 3);
        }
 
+#ifdef CONFIG_RGMII
        designware_initialize(0, SUNXI_GMAC_BASE, 0x1, 
PHY_INTERFACE_MODE_RGMII);
+#else
+       designware_initialize(0, SUNXI_GMAC_BASE, 0x1, PHY_INTERFACE_MODE_MII);
+#endif
+
 #endif
 
        return 0;
diff --git a/boards.cfg b/boards.cfg
index 405cf56..044e5ca 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -364,8 +364,8 @@ Active  arm         armv7          sunxi       -            
   sunxi
 Active  arm         armv7          sunxi       -               sunxi           
    Cubieboard                           
sun4i:CUBIEBOARD,SPL,SUNXI_EMAC,STATUSLED=244,STATUSLED1=245                    
                                                  -
 Active  arm         armv7          sunxi       -               sunxi           
    Cubieboard2                          
sun7i:CUBIEBOARD2,SPL,SUNXI_EMAC,STATUSLED=244,STATUSLED1=245,FAST_MBUS         
                                                  -
 Active  arm         armv7          sunxi       -               sunxi           
    Cubieboard2_FEL                      
sun7i:CUBIEBOARD2,SPL_FEL,SUNXI_EMAC,STATUSLED=244,STATUSLED1=245,FAST_MBUS     
                                                  -
-Active  arm         armv7          sunxi       -               sunxi           
    Cubietruck                           
sun7i:CUBIETRUCK,SPL,SUNXI_GMAC,STATUSLED=245,STATUSLED1=244,STATUSLED2=235,STATUSLED3=231,FAST_MBUS
                              -
-Active  arm         armv7          sunxi       -               sunxi           
    Cubietruck_FEL                       
sun7i:CUBIETRUCK,SPL_FEL,SUNXI_GMAC,STATUSLED=245,STATUSLED1=244,STATUSLED2=235,STATUSLED3=231,FAST_MBUS
                          -
+Active  arm         armv7          sunxi       -               sunxi           
    Cubietruck                           
sun7i:CUBIETRUCK,SPL,SUNXI_GMAC,RGMII,STATUSLED=245,STATUSLED1=244,STATUSLED2=235,STATUSLED3=231,FAST_MBUS
                        -
+Active  arm         armv7          sunxi       -               sunxi           
    Cubietruck_FEL                       
sun7i:CUBIETRUCK,SPL_FEL,SUNXI_GMAC,RGMII,STATUSLED=245,STATUSLED1=244,STATUSLED2=235,STATUSLED3=231,FAST_MBUS
                    -
 Active  arm         armv7          sunxi       -               sunxi           
    Cubieboard_512                       
sun4i:CUBIEBOARD_512,SPL,SUNXI_EMAC,STATUSLED=244,STATUSLED1=245                
                                                  -
 Active  arm         armv7          sunxi       -               sunxi           
    Cubieboard_FEL                       
sun4i:CUBIEBOARD,SPL_FEL,SUNXI_EMAC,STATUSLED=244,STATUSLED1=245                
                                                  -
 Active  arm         armv7          sunxi       -               sunxi           
    DNS_M82                              sun4i:DNS_M82,SPL                      
                                                                                
           -
-- 
1.8.5.1

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to