Using STM32CubeMX to interface KSZ8863 with MII (STM32F207ZG)
Hello All,
I'm interfacing a KSZ8863 (Micrel, 3 Port Switch with 2 PHY and 3 MAC) over MII from a STM32F207ZG. I've used the STM32CubeMX to generate the code with the LwIP Stack and FreeRTOS.
So far, I've successfully communicated over SMI to read/write some registers (just debugging, if the bit-banging is working) and I've done some network stuff (Ping/TCP frame send) through port 1 and 2 (ping and tcp sent from computer on port 1 to a device on port 2).
But I'm not able to communicate correctly over the MII interface and send or receive ethernet packages. I think it has something to do with the Ethernet and LwIP configuration in the STM32CubeMX tool, specifically the register addresses. Here is my configuration so far:

I am absolutly not sure, wich settings I have to change (I couldn't find some parameter documentation about those STM32CubeMX settings).
I've changed:
- the PHY to ''user PHY''
- the PHY name to ''KSZ8863''
- the PHY special control/status register Offset to ''0x5'', because I think, that this address is used to determine the speed and duplex mode
- the PHY Speed mask to ''0x0060'' according to KSZ8863 datasheet
- the PHY Duplex mask to ''0x0140'' according to KSZ8863 datasheet
My application is running in the following steps (main):
- HAL_Init, SystemCock_Config
- Starting up SMI communication to read/write registers (debug), including Reset over Pin and disabling the Bypass Mode (SMTXER3)
- Initialize FreeRTOS
- Start Kernel
Does anybody know how to configure those ethernet settings correctly? Or am I completely on the wrong way for interfacing the KSZ8863?
This is the Datasheet of the
http://ww1.microchip.com/downloads/en/DeviceDoc/00002335B.pdf
.Thanks
Alain