I've received a couple new Robovero boards to try out (thanks Gordon). These ones are R3902, unfortunately they still have the same problem with L3 getting in the way of a capacitor on the newer Overo boards but that's supposed to be fixed in R4000. However, they made a couple of changes to the circuitry. One change was the addition of power control over the IMU using one of the Robovero's GPIO pins. Kind of makes sense, lets you power up/down the IMU at will, nice change, easily implemented. The other change was adding a reset circuit to the Overo's GPIO70 pin. This is very handy since I occasionally get a Robovero lockup and need to manually hit the reset button. Now this allows me to reset the Robovero from the Overo, very cool. Initially there was a problem with R25 (100K) being too large, but once I swapped it out with a 10K resistor all was good.
That was the hardware issues, now to access GPIO70. Of course by default GPIO70 is not setup as an output pin, it's setup in mode 0 (M0) which is not GPIO. Following Scott's advice I found the address of GPIO70 (0x480020DC) and using devmem2 I changed it from mode 0 to mode 4
devmem2 0x480020dc h 0x0004
From there I exported gpio70, set it to output and outputted a high signal to reset the board
echo 70 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio70/direction
echo 1 > /sys/class/gpio/gpio70/value
This allows me reset the Robovero at will, pretty cool. However, I didn't want to have to run this each time I started up the Overo so I need to modify u-boot to keep these settings. Following Scott's advice again, I made a patch for overo.h, changing GPIO (DSS_DATA0) to M4. Once I added this patch file to the u-boot_git folder in my recipes directory I was able to rebuild the u-boot file, copy it to the SD card and now I don't have to run the devmem2 command. However, GPIO70 isn't exported yet.
To export GPIO70 by default I needed to change the file board-overo.c as mentioned in Scott's page and more specifically here. Pretty much following the later website to the letter, except changing the GPIO pin to 70, I created a patch file for board-overo.bin, outlined in another one of Scott's pages. From there I just needed to rebuild the kernel and the full image and I was all good to go.
Last modified Tue, 13 Aug, 2013 at 11:00