Hi all,

I am using MPC8247. I am using FCC0, FCC1, SCC3 and SCC4 in Ethernet mode. I 
want to enable local loopback in FCC and SCC. I tried in the following 
combinations of registers for SCC

   case ETH_LOOPBK_ENBL:
        printk("%s, ETH_LOOPBK_ENBL\n",__FUNCTION__);
                                                                                
                                            

        /* ENABLE the LOOP back by setting the 24th and 25th bits
         * as 0 and 1 in GSMRL */
        cep->sccp->scc_gsmrl |= SCC_GSMRL_DIAG_LOOP;
        cpm2_immr->im_cpmux.cmx_scr &= ~CMX_CLK_MASK;
        cpm2_immr->im_cpmux.cmx_scr |= CMX_LPCLK_ROUTE;
        //cep->sccp->scc_gsmrh |= (SCC_GSMRH_CDS | SCC_GSMRH_CTSS);
                                                                                
                                            

        /* Configure PSMR for enabling- Promiscuos mode, simultaneous Tx, Rx
         * and Full duplex mode */
        //cep->sccp->scc_psmr |= (SCC_PSMR_PRO | SCC_PSMR_LPB | SCC_PSMR_FDE);
        cep->sccp->scc_psmr |= (SCC_PSMR_PRO | SCC_PSMR_FDE);
        return 0;
                                                                                
                                            

      case ETH_LOOPBK_DSBL:
        printk("%s, ETH_LOOPBK_DSBL\n",__FUNCTION__);
        /* Disable the LOOP back and revert back to normal operation by
         * setting the 24th and 25th bits as 0 and 0 in GSMRL */
        cep->sccp->scc_gsmrl &= ~SCC_GSMRL_DIAG_LOOP;
        cpm2_immr->im_cpmux.cmx_scr &= ~CMX_CLK_MASK;
        cpm2_immr->im_cpmux.cmx_scr |= CMX_CLK_ROUTE;

   //cep->sccp->scc_gsmrh &= ~(SCC_GSMRH_CDS | SCC_GSMRH_CTSS);
                                                                                
                                            

        /* Revert PSMR settings */
//      cep->sccp->scc_psmr &= ~(SCC_PSMR_PRO | SCC_PSMR_LPB | SCC_PSMR_FDE);
        cep->sccp->scc_psmr &= ~(SCC_PSMR_PRO | SCC_PSMR_FDE);
        return 0;

Following combinations for FCC

       case ETH_LOOPBK_ENBL:
        /* Enable loop back by setting the diag bits in GFMR. Promiscus mode is
         * enabled by setting the FPSMR bit */
        cep->fccp->fcc_gfmr  |= FCC_GFMR_DIAG_LE;
        cep->fccp->fcc_fpsmr |= (FCC_PSMR_PRO | FCC_PSMR_FDE | FCC_PSMR_LPB);
        printk("%s[FCC %2d]: Local Loopback Enabled  [GFMR - 0x%08x, FPSMR - 
0x%08x]\n", dev->name, cep->fip->fc_fccnum, cep->fccp->fcc_gfmr, 
cep->fccp->fcc_fpsmr);

        return 0;
                                                                                
                                            

      case ETH_LOOPBK_DSBL:
        /* Disable loopback and promiscus mode */
        cep->fccp->fcc_gfmr  &= ~FCC_GFMR_DIAG_ALE;
        cep->fccp->fcc_fpsmr &= ~(FCC_PSMR_PRO | FCC_PSMR_FDE | FCC_PSMR_LPB);
        printk("%s[FCC %2d]: Local Loopback Disabled [GFMR - 0x%08x, FPSMR - 
0x%08x]\n", dev->name, cep->fip->fc_fccnum, cep->fccp->fcc_gfmr, 
cep->fccp->fcc_fpsmr);

        return 0;



With the above cases the loopback is not enabling. Can any one suggest me the 
register configurations for eabling loopback in FCC and SCC.

Thanks in advance

srideep




The information contained in this electronic message and any attachments to 
this message are intended for the exclusive use of the addressee(s) and may 
contain proprietary, confidential or privileged information. If you are not the 
intended recipient, you should not disseminate, distribute or copy this e-mail. 
Please notify the sender immediately and destroy all copies of this message and 
any attachments.

WARNING: Computer viruses can be transmitted via email. The recipient should 
check this email and any attachments for the presence of viruses. The company 
accepts no liability for any damage caused by any virus transmitted by this 
email.

www.wipro.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20060317/a6d801a2/attachment.htm
 

Reply via email to