Radxa Zero port #339
Replies: 3 comments 3 replies
-
This is actually something I'm working on in private, I have a variety of boards here under consideration including the Radxa Zero. I would prefer a clean slate hardware abstraction layer written in plain C rather than a port of Circle, so this is the direction I'm taking. |
Beta Was this translation helpful? Give feedback.
-
Great! I got UART TX and RX working. It was a matter of combing code from the excellent ODROID-C2-Bare-Metal with some info from the S905X3 datasheet and the G12A linux device-tree. That project also has code for getting into EL1, but I haven't tried that yet. I borrowed an ARM-USB-OCD JTAG debugger from a colleague as debugging without one is indeed tedious, but now when looking further into it it seems like JTAG isn't exposed on the GPIO header on the Radxa Zero. JTAG_A is listed as connected to GPIOAO_6, GPIOAO_7, GPIOAO_8 and GPIOAO_9, but only the two latter ones are exposed on the GPIO header. There's also JTAG_B, but it seems it's connected to the same pins as the SD card reader. Maybe with some soldering JTAG_A would be accessible. I'll look into I2S next. I have a PCM5102 DAC that I should be able to test with. For I2C I should have a 128x64 screen. |
Beta Was this translation helpful? Give feedback.
-
I figured out how to access JTAG on the SD card port! See https://github.com/alexandertoresson/radxa-fip-zero-jtag |
Beta Was this translation helpful? Give feedback.
-
I've been wanting to build a WavetablePi for a long time, however it requires a Raspberry Pi Zero 2 and these are basically impossible to get ahold of nowadays unless you want to pay scalper prices. I've been keeping my eyes out for one for a year with no luck.
So I started to look for alternative SBC's, and found the Radxa Zero which should be faster than a RPi Zero 2 and has the same form factor, except it's USB C instead of USB micro and HDMI micro instead of HDMI mini. Obviously, this requires a porting effort both for the software and for the PCB too, as it's not pin-compatible. I've started exploring developing bare metal SW for it, and I believe it should be doable. There is a lack of a complete datasheet for the S905Y2 SoC that it uses, but I found a complete datasheet for S905X3 which has so far been similar enough to program the GPIO pins.
If the resulting software would be something that could support both RPi, Radxa Zero and perhaps other S905-based SoC's, there's several possibilities on a SW architecture. One possibility is to make a port of circle, at least a basic such. Another possibility would be to make a HW abstraction layer in mt32-pi. Or perhaps a combination of this would be necessary, even if circle is ported. Of course, if you wouldn't desire to have support for non-RPi in upstream mt32-pi, that's fine by me, and I could make a fork instead.
Opinions?
Beta Was this translation helpful? Give feedback.
All reactions