AnsweredAssumed Answered

ENET clocking on MPC5744P

Question asked by Viktor Soukal on Oct 4, 2019



I'm trying to run ethernet via RMII interface on 144 pin variant of MPC5744P. I've managed to connect to ethernet PHY using RX_D1, RX_D0, CRS, TX_D0, TX_D1 and TX_EN only. However, I'm not sure how to deal with RMII clocking. The section 7.10.7 Ethernet (ENET) configuration in reference manual states that one has to write Generic control register to make RMII_CLK appear at the G[8] (apart from setting corresponding SIUL_MSCR register). If I do that, I can see 50MHz clock at that pin thus I can clock the ethernet PHY however the ENET peripheral seems to stuck (no transmission and no reception interrupts). If I reset the GCR register, I can see ENET operates again. I've managed to generate clock for the PHY from CLK_OUT output, but that's not ideal in my application.


In fact, I'd very much prefer to let ethernet PHY to generate 50MHz reference clock, but it's not clear to me how it shall be connected to the MPC5744P. The Clocking chapter and the description of Auxiliary clock 10 generator refers to RMII_CLK external input and it can be also selected as the source of the ENET clock (the CGM_AC10 , but there's no such thing in signal multiplexing section. I've noticed the MPC5748 has this input at G[8], but it doesn't seem to be working for me. If I provide 50MHz to G[8] and configure the aux clock 10 to generate ENET clock form RMII_CLK input, ENET doesn't seem to work.


Can you please suggest an ENET in RMII mode example for 144pin MPC5744P?




Viktor Soukal