Hi odroid,
odroid wrote: ↑Tue Jan 26, 2021 10:39 am
I used KiCad and JLCPCB to design/build a handy 4-layers PCB. Manually soldering with a cheapo hot air gun was enough to attache the BGA to my own board.
The poor 128MB RAM board is still working really well with a minimal Ubuntu 20.04 on the latest Kernel 5.10
Interesting! I looked at the S3 too but I didn't want to work with BGA so I found the MSC313E for my breadbee board and since then I have been collecting all of the chips in this family. I'm surprised you managed to get ubuntu into 128MB of RAM.
odroid wrote: ↑Tue Jan 26, 2021 10:39 am
But I wanted to play with a dual core SoC for slightly more performance.
The cheap (<US$4) SSD202D chip seemed to be a good candidate.
I think the SSD202D is pretty interesting for hobby projects. I think in large quantity it's ~$2 a piece.
I have been contacted by about 5 people that are making their own boards with it now.
odroid wrote: ↑Tue Jan 26, 2021 10:39 am
But their ugly patch set for the Kernel 4.9.84 was too weird and complicated.
They requires an annoying NDA process to get a full datasheet like other Asia SoC vendors.
Since this is my private hobby, I will not get the NDA perhaps. Therefore, I have no register descriptions to share with you at this moment.
Their kernel is pretty awful. Probably the worst I have ever seen.
Understood on the registers.
odroid wrote: ↑Tue Jan 26, 2021 10:39 am
Anyway, my friend in China has ordered a couple of SSD20x dev boards from Taobao because I can't speak Chinese.
I will just run some Qt, SDL and LVGL examples to see the performance on their stock kernel 4.9 once I receive it in February.
I don't speak Chinese either but I have managed to buy the SSD202D devkit, modules and chips using superbuy.com.
odroid wrote: ↑Tue Jan 26, 2021 10:39 am
This is not an official activity in Hardkernel but a personal hobby.
Understood. I was hoping we might see a really nice module from odriod.
odroid wrote: ↑Tue Jan 26, 2021 10:39 am
PS. Does your upstream Kernel 5.11 work well with the SMP, DDR3, GPIO, UART, SPI, I2C, PWM, SDIO and Ethernet?
If those basic essential features already worked fine, we'll probably try porting the LCD controller driver to the mainline kernel.
If we abandon the most complicated VPU drivers (video decoding and rendering part), other stuff seems to be much simpler relatively.
SMP will be supported in mainline when 5.11 is release. CPU freq should also work once I add a frequency table to the dtsi.
DDR3 is setup by the IPL binary that the boot rom in the chip loads from flash. Right now I use the sigmastar IPL but I have DDR init working on another one of their chips so eventually I will port that to the SSD20x and it will be completely open source.
GPIO works. The basic driver is in mainline already. It needs a few more patches from my messy work tree for the SSD20x.
UART works. One of the UARTs has some very high speed DMA mode but that isn't supported yet. Just basic UART.
SPI works. Will mainline eventually.
I2C works. Will mainline eventually.
PWM should work. The patches aren't mainlined yet but there is a driver that works on another chip in the family.
SDIO should work. I've tested with SD cards only so far.
Ethernet partially works. It is a variation of the "macb" that is supported in u-boot and linux. For other chips in the family it works pretty well, for the SSD20x it loses a lot of packets. It's probably some missing register settings.
Also USB host, the RTC, SPI NOR/NAND controller also work with patches in my tree.
I think the display and audio would be easy if Sigmastar released some information. I have some idea of how it works from a datasheet from a much older chip but not enough to write a working driver.
Thanks,
Daniel