We experience some ethernet problems with GG11 connected to a microchip/micrel KSZ8091.
We start some tests on your dev kit STK3701A and experience the same problem, so we suspect something weird about GG11-KSZ80191 link.
Here are a description of the problem encounter:
- We use STK3701A with SLSTK3701A_micriumos_net firmware (unmodified because we don't have source code for this firmware)
- We just use simple ping to test communication with the device (and it works fine)
- When we connect a TAP (that works fine on other devices/computer/switches...) between computer or switch and STK3701A we have 'Link Down', 'Link Up' information continuously and we cannot communicate with the STK3701A.
We don't have access to your firmware, but we suspect a negotiation problem on ethernet link.
On our own firmware, we encounter the same problem as the one we saw on STK3701A.
Do you have any advice or hints ?
The firmware for the SLSTK3701A_micriumos_net is available in Simplicity Studio.
File -> New Project -> Silicon Labs MCU Project. Select the GG11 board and as you navigate through the menus, select the SLSTK3701A_micriumos_net project. This will load the full project into Studio for you to investigate.
Unfortunately, this firmware does not contains micrium code (where the ethernet component is managed).
we finally found a solution.
It's a bad timing between GG11 and KSZ8091.
Accordingly to EFM32GG11-datasheet (page 88),
We need to change slewrate for GPIO.
In our configuration , here are the correct lines
GPIO_SlewrateSet(gpioPortA, 7, 7);
GPIO_SlewrateSet(gpioPortE, 7, 7);
Hope this may help someone,
In SLSTK3701A_micriumos_net project, these lines are not present and I do think you'll have to change this GPIO configuration (with the right port).