]> git.sur5r.net Git - u-boot/blobdiff - drivers/net/ldpaa_eth/ls1088a.c
Merge git://git.denx.de/u-boot-i2c
[u-boot] / drivers / net / ldpaa_eth / ls1088a.c
index 703945cec3ab45324f90be6ddd392c463b2b8b6b..780a23998ad944dcc2c4bfc25eb59627852f4bb0 100644 (file)
@@ -8,6 +8,7 @@
 #include <fsl-mc/ldpaa_wriop.h>
 #include <asm/io.h>
 #include <asm/arch/fsl_serdes.h>
+#include <asm/arch/soc.h>
 
 u32 dpmac_to_devdisr[] = {
        [WRIOP1_DPMAC1] = FSL_CHASSIS3_DEVDISR2_DPMAC1,
@@ -85,3 +86,29 @@ void wriop_init_dpmac_qsgmii(int sd, int lane_prtcl)
                break;
        }
 }
+
+#ifdef CONFIG_SYS_FSL_HAS_RGMII
+void fsl_rgmii_init(void)
+{
+       struct ccsr_gur __iomem *gur = (void *)(CONFIG_SYS_FSL_GUTS_ADDR);
+       u32 ec;
+
+#ifdef CONFIG_SYS_FSL_EC1
+       ec = gur_in32(&gur->rcwsr[FSL_CHASSIS3_EC1_REGSR - 1])
+               & FSL_CHASSIS3_RCWSR25_EC1_PRTCL_MASK;
+       ec >>= FSL_CHASSIS3_RCWSR25_EC1_PRTCL_SHIFT;
+
+       if (!ec)
+               wriop_init_dpmac_enet_if(4, PHY_INTERFACE_MODE_RGMII_ID);
+#endif
+
+#ifdef CONFIG_SYS_FSL_EC2
+       ec = gur_in32(&gur->rcwsr[FSL_CHASSIS3_EC2_REGSR - 1])
+               & FSL_CHASSIS3_RCWSR25_EC2_PRTCL_MASK;
+       ec >>= FSL_CHASSIS3_RCWSR25_EC2_PRTCL_SHIFT;
+
+       if (!ec)
+               wriop_init_dpmac_enet_if(5, PHY_INTERFACE_MODE_RGMII_ID);
+#endif
+}
+#endif