This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Not able to configure PHY registers ...

My setup:
=========

MCB2300, LPC2388FBD144

My Code:
========

 void initializeMAC(void) {
   PCONP = PCONP | 0x40000000;
   PINSEL2 = PINSEL2 | 0x50150105; // Errata sheet
   PINSEL3 = PINSEL3 | 0x00000005;
   PINMODE2 = PINMODE2 | 0xa02a020a;
   PINMODE3 = PINMODE3 | 0x0000000a;
   INTWAKE = 0x0000;
   VICIntEnable = 0x00200000;
   VICIntSelect = 0x00000000;
   VICVectAddr21 = (unsigned long) MACinterruptServiceRoutine;
   VICVectPriority21 = 0x00000003;
   MAC_MAC1 = 0x0000000f;
   MAC_MAC2 = 0x000040b0;
   MAC_IPGT = 0x12;
   MAC_IPGR = 0xc12;
   MAC_CLRT = 0x0000370f;
   MAC_MAXF = 0x00000600;
   MAC_SUPP = 0x00000000;
   MAC_MCFG =0x00008019;
   MAC_MCMD = 0x0000;
   MAC_MADR = 0x0119;
   MAC_MWTD = 0x8041;
   while ((MAC_MIND & 0x0001) != 0x0000) {)
   MAC_MCMD = 0x0000;
   MAC_MADR = 0x0100;
   MAC_MWTD = 0x0000;
   while ((MAC_MIND & 0x0001) != 0x0000) {)
   MAC_MCMD = 0x0000;
   MAC_MADR = 0x0117;
   MAC_MWTD = 0x0021;
   MAC_SA0 = 0x001A;
   MAC_SA1 = 0xA0B2;
   MAC_SA2 = 0xB506;
   MAC_COMMAND = 0x000003fb;
}

The issue:
==========

When I read the PHYCR or other PHY registers, they are all zero. I am suspecting MDC clock is not being generated. How do I troubleshoot this?

Thanks,
RB

Parents
  • How am I reading the PHYCR register:
    ===================================

       MAC_MCMD = 1;
       MAC_MADR = 0x0119;
       while ((MAC_MIND & 0x0001) != 0x0000) { }
       MAC_MCMD = 0;
       mrdd = MAC_MRDD;
    

    The value of mrdd is turning out to be zero.

Reply
  • How am I reading the PHYCR register:
    ===================================

       MAC_MCMD = 1;
       MAC_MADR = 0x0119;
       while ((MAC_MIND & 0x0001) != 0x0000) { }
       MAC_MCMD = 0;
       mrdd = MAC_MRDD;
    

    The value of mrdd is turning out to be zero.

Children