I’m trying to use GP12 as a GPIO. While I can pinmux the gpio from linux I have found that the Duo256mm (and I assume the Duo64m) can’t boot up with peripherals attached to the either GP12 or GP12.
My assumption is that this is due to the attached peripherals messing with the UART so I would like to pinmux those pins before any core tries to use that UART but so far I have found no reference in the buildroot-sdk declaring when those pins get declared as UART0.
You can choose between UART and GPIO functions. If you use GP12 as a normal GPIO port to start peripheral devices, and then reuse GP12 as a serial port and start the serial port, your peripheral devices will also be terminated.
I know that it is possible to choose between those functions but my question is aimed towards switching the functions before any booting occurs because as-is the pins are unusable for GPIO as the device can not boot with something attached to them and I never need the UART.
After recompiling and generating the image, the Uart0 port will no longer print logs when booting into u-boot. Check the pinmux status in the system and you will find that GP12 is already GPIO.
I’ve compiled an image accordingly although I only swapped fip.bin so I don’t have to reconfigure the software.
While the change did indeed work it sadly didn’t fix the issue of the duo being unable to boot with the pins connected to GPIO peripherals so I have to investigate the issue further.