Update on the issue.
I was a bit wrong but there still a conflict.
If mux mode of that pin is ALT1 (GPIO&_6), SDHC fails wo work.
If mux mode is ALT0 (DA_0), SDHC work ok but LAN fails to work.
This occures on Sabre iMX53 prototype board so it can be easily reproduced by support.
The workaround:
Change BSPFECIomuxConfig to :
BOOL BSPFECIomuxConfig( IN BOOL Enable )
{
DDK_IOMUX_PIN_MUXMODE savedRstMuxmode;
DDK_IOMUX_PIN_SION savedRstSion;
DEBUGMSG(ZONE_FUNCTION, (TEXT("FEC: +BSPFECIomuxConfig\r\n")));
if(Enable)
{
// Save MUX mode
DDKIomuxGetPinMux(BSP_ETH_RST_IOMUX_PIN, &savedRstMuxmode,&savedRstSion);
// Here goes original MUX configuration code
// Restore MUX mode back
DDKIomuxSetPinMux(BSP_ETH_RST_IOMUX_PIN, savedRstMuxmode,savedRstSion);
}
return TRUE;
}
LAN driver only use reset once so it is acceptable solution.
Please note that for a fraction of time SDHC will be unavailable.
This workarond can help with 'persistent registry on SD card' issue if your design includes FEC LAN.
Think registry issue is caused by SDHC driver instantiated BEFORE LAN driver so original LAN configuration code changes
mux mode of pin to GPIO7_6 to ALT1 and caused SDHC driver to fail.
Hope it helps.
Best regards,
Alexey