u32     sdhcpcr;
 };
 
-#define SCFG_ETSECDMAMCR_LE_BD_FR      0xf8001a0f
+#define SCFG_ETSECDMAMCR_LE_BD_FR      0x00000c00
 #define SCFG_ETSECCMCR_GE2_CLK125      0x04000000
 #define SCFG_ETSECCMCR_GE0_CLK125      0x00000000
 #define SCFG_ETSECCMCR_GE1_CLK125      0x08000000
 
        unsigned int major;
 
 #ifdef CONFIG_TSEC_ENET
-       out_be32(&scfg->etsecdmamcr, SCFG_ETSECDMAMCR_LE_BD_FR);
+       /* clear BD & FR bits for BE BD's and frame data */
+       clrbits_be32(&scfg->etsecdmamcr, SCFG_ETSECDMAMCR_LE_BD_FR);
 #endif
 
 #ifdef CONFIG_FSL_IFC
 
        unsigned int major;
 
 #ifdef CONFIG_TSEC_ENET
-       out_be32(&scfg->etsecdmamcr, SCFG_ETSECDMAMCR_LE_BD_FR);
+       /* clear BD & FR bits for BE BD's and frame data */
+       clrbits_be32(&scfg->etsecdmamcr, SCFG_ETSECDMAMCR_LE_BD_FR);
        out_be32(&scfg->etsecmcr, SCFG_ETSECCMCR_GE2_CLK125);
 #endif
 
 
        out_be32(®s->tstat, TSTAT_CLEAR_THALT);
        out_be32(®s->rstat, RSTAT_CLEAR_RHALT);
        clrbits_be32(®s->dmactrl, DMACTRL_GRS | DMACTRL_GTS);
-#ifdef CONFIG_LS102XA
-       setbits_be32(®s->dmactrl, DMACTRL_LE);
-#endif
 
        do {
                uint16_t status;
        out_be32(®s->tstat, TSTAT_CLEAR_THALT);
        out_be32(®s->rstat, RSTAT_CLEAR_RHALT);
        clrbits_be32(®s->dmactrl, DMACTRL_GRS | DMACTRL_GTS);
-#ifdef CONFIG_LS102XA
-       setbits_be32(®s->dmactrl, DMACTRL_LE);
-#endif
 }
 
 /* This returns the status bits of the device. The return value