Hello
I have been using the pin mux utility and searching for a solution for my design. I need two RMII interfaces and a 16 bits external bus besides other less important peripherals (MMC is not required, we can use USB). The default I/O sets do not allow me any valid combination but it seems possible to do it with some tweaks.
After selection the “IO Set 14” for GEMAC (two RMIIs), I selected “IO Set 26” for GPMC, but with the following changes:
PinMux Setup: 6786.2xRMII_GPMC16Ext_AM335x.zip
- Deselect GPMC_A26_MUX0 (it conflicts with RMII2_RXD1)
- Deselect GPMC_A27_MUX0 (it conflicts with RMII2_RXD0)
- Deselect GMPC_WAIT0 (it conflicts with RMII2_CRS_DV)
- Deselect GMP_WPN (it conflicts with RMII2_RXER)
From my point of view, the consequences are:
- External 16 bits devices with 64MB per chip select.
- Only asynchronous memories are allowed since GMPC_WAIT1 is used instead GPMC_CLK_MUX0 and the wait pin is required for NANDs/NORs memories. But you can select GPMC_CLK_MUX1 instead of CPMC_CSN1 if synchronous memory is an issue for you.
- No write protection pin for flash. But I believe we can use a GPIO for this purpose.
My question is: given the limitations, is this design valid? Is it really possible to deselect part of the bus?
Thanks a lot
Marcelo Barros
PS: After this initial setup, it is also possible to add RTC, I2C0, MDIO, SPI0, SPI1, TIMER4, TIMER7, UART0, UART1, USB0, USB1, ADC, EMIF, DEBUGSS, GLUE, OSC0, OSC1_RTC. Four chip selects are available as well. However, it seems not possible to have MMC.