AnsweredAssumed Answered

CCES pin Multiplexing bug with ethernet driver ?

Question asked by pfeifferc on Mar 11, 2016
Latest reply on Apr 27, 2016 by Kader.M

Hi !

I use a own board based on BF607 and a Micrel Switch connected via ETH0. / CCES2.1.0

This part communicate with SPI and I use SPI1 for this purpose.

After setup PinMux via PinMulitplexing Wizard

pREG_PORTD_FER is set to 0xffff (all functions used)

 

in ADI_PHY_RESULT KSZ8795_phy_init function (derived from adi_dp83848_phy.c) there is a code section

which set FER_CLR reg by an or conjunction:

   *pREG_PORTD_FER_CLR  |= BITM_PORT_FER_CLR_PX0  ;

    *pREG_PORTD_DIR_CLR  |= BITM_PORT_DIR_CLR_PX0  ;

    *pREG_PORTD_INEN_SET |= BITM_PORT_INEN_SET_PX0 ;

    *pREG_PORTD_POL_SET  |= BITM_PORT_POL_SET_PX0  ;

 

this first and 2nd instruction clr all FER and DIR states -> as a result the pins are all GPIO after this ->SPI no longer working

 

I modify this by set the CLR/DIR_CLR reg only with the requested PIN !

(FER_CLR and DIR_CLR regs are set to 0x0000FFFF after adi_initComponents - without manual manipulation)

 

kind regards chris

Outcomes