MDI Interface and emu phy access

Can anyone give suggestion on the following:

  1.   emu_phy usage related to switch attached to the MDIO Interface.
    
  2.   Is that any possible to get mpc85xx_dev_t structure other than ifunit function from separate driver. Since we are getting crash on accessing mpc85xx mdi structure read/write.
    
  3.   How to access MDI utilities/library (Ex: MDI_FindPhy, MDI_AutoNegotiate) for tsec0 from separate driver
    

Below is the sample code, which will access the mpc85xx mdi read/write function. (Registered via MDI_Register_Extended mpc85xx/mii.c).

int mpc85xxphy_attach(struct device *parent, struct device *self, void *aux){

struct ifnet *ifp = NULL;

uint16_t  id2,phyid;

mpc85xx_dev_t   *mpc85xx = NULL;

int status = 0;

phyid = 0x00;



ifp = ifunit("tsec0");

mpc85xx = ifp->if_softc;



id1 = mpc85xx->mdi->Read(mpc85xx, phyid, MDI_PHYID_2);

printf( "mdi Phy value :[%x]\n",id2);

}

Error message is

mount -T io-pkt /tmp/devnp-mpc85xx_mii.so

Process 806926 (io-pkt-v4-hc) terminated SIGSEGV code=1 fltno=11 ip=480d1a3c(io-pkt-v4-hc@main+0x7c0) ref=00000000

mount: Can’t mount / (type io-pkt)

mount: Possible reason: No such process

This being a student productivity blog, I think I should set a good example by halting my writing during exams. As much as I would love to spend extra time writing, studying is higher priority. Regular posting will resume on June 12th, after exams. For now, I leave you with this post.


belly button rings | mens rings | titanium rings