SSD20x?

Share here your ideas for new projects
Post Reply
dgp
Posts: 7
Joined: Thu Apr 25, 2013 12:41 am
languages_spoken: english, japanese
Has thanked: 0
Been thanked: 0
Contact:

SSD20x?

Post by dgp »

Hi,

I noticed someone called "odroid" from Korea asking about information on the SSD20x chips on SigmaStar's new open development site.
By chance is that someone from this odroid?

If so and you guys are looking at making something with these chips maybe you would be interested to know that some support for them will be in Linux 5.11.

In my u-boot/kernel tree a lot of stuff is working: https://github.com/linux-chenxing/linux ... ussions/10

I'd really like to get some register descriptions as it's really difficult to work out how the graphics and audio hardware work and those are really the only things that are completely non-working at the moment.

Anyhow.. if it wasn't you guys please ignore me. :)

Thanks,

Daniel

User avatar
odroid
Site Admin
Posts: 36930
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean
ODROIDs: ODROID
Has thanked: 1595 times
Been thanked: 1071 times
Contact:

Re: SSD20x?

Post by odroid »

It was me and I already saw your upstreaming kernel contributions from November . :oops: :D

I made a personal weekend hobby board with Allwinner S3 + 7inch 1024x600 LCD in March 2020.
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

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. 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.

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.

This is not an official activity in Hardkernel but a personal hobby. ;)

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.

dgp
Posts: 7
Joined: Thu Apr 25, 2013 12:41 am
languages_spoken: english, japanese
Has thanked: 0
Been thanked: 0
Contact:

Re: SSD20x?

Post by dgp »

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

User avatar
odroid
Site Admin
Posts: 36930
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean
ODROIDs: ODROID
Has thanked: 1595 times
Been thanked: 1071 times
Contact:

Re: SSD20x?

Post by odroid »

Thank you for the detail explanation.
Good to hear that there are so many working internal peripherals on the mainline kernel.

I really hope someone unveils the registers description to complete the missing/unstable parts.
But it seems to be impossible without breaking the NDA if SigmaStar doesn't change their policy. :(

mad_ady
Posts: 9250
Joined: Wed Jul 15, 2015 5:00 pm
languages_spoken: english
ODROIDs: XU4, C1+, C2, C4, N1, N2, H2, Go, Go Advance
Location: Bucharest, Romania
Has thanked: 599 times
Been thanked: 622 times
Contact:

Re: SSD20x?

Post by mad_ady »

May I ask what you're building with such a low-spec soc? Why not build it around any odroid? And don't tell me it's because of the price!

User avatar
odroid
Site Admin
Posts: 36930
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean
ODROIDs: ODROID
Has thanked: 1595 times
Been thanked: 1071 times
Contact:

Re: SSD20x?

Post by odroid »

It works as a server/network loads monitoring display as well as a photo frame sliding show at home 24/7. ;)
Its power consumption is around 1~1.5Watt only including the shiny 7inch IPS LCD.

Since there is no GPU acceleration, the GUI rendering performance is much slower than other ODROID boards.
But it boots in 3~4 seconds with a well optimized Buildroot file system like a traditional embedded Linux system.
If we use this low power platform to build an ODROID device, it can be a new SmartPower with multiple output channels probably.
But the market size might be too small.
These users thanked the author odroid for the post:
mad_ady (Wed Jan 27, 2021 4:26 pm)

fvolk
Posts: 571
Joined: Sun Jun 05, 2016 11:04 pm
languages_spoken: english
ODROIDs: C2, C4, H2
Has thanked: 0
Been thanked: 61 times
Contact:

Re: SSD20x?

Post by fvolk »

odroid wrote:
Tue Jan 26, 2021 10:39 am
I made a personal weekend hobby board
Reminds of the people that work Mo-Fr as a bus driver and on the weekend they miss their bus so much that they play "Bus Driver Simulator 2021" on their PC with people over the internet... :-)

dgp
Posts: 7
Joined: Thu Apr 25, 2013 12:41 am
languages_spoken: english, japanese
Has thanked: 0
Been thanked: 0
Contact:

Re: SSD20x?

Post by dgp »

odroid wrote:
Wed Jan 27, 2021 4:17 pm
It works as a server/network loads monitoring display as well as a photo frame sliding show at home 24/7. ;)
Its power consumption is around 1~1.5Watt only including the shiny 7inch IPS LCD.
According to the SSD20x databrief it can deepsleep at 300uA. If that is true it should be good for applications where most of the time it is turned off.
The older chips in this family have an MCU that can run when the main ARM cpu is turned off so you can do stuff like have an IR remote turn on the device or maybe read the ADC etc. I haven't been able to find it in the SSD20x yet so maybe they took it out.
odroid wrote:
Wed Jan 27, 2021 4:17 pm
Since there is no GPU acceleration, the GUI rendering performance is much slower than other ODROID boards.
I think there is a 2D drawing element but it will be no match for a GPU. That said the UI demo on the SSD202D board I have works very smoothly.
I can take some videos for anyone that is interested.

dgp
Posts: 7
Joined: Thu Apr 25, 2013 12:41 am
languages_spoken: english, japanese
Has thanked: 0
Been thanked: 0
Contact:

Re: SSD20x?

Post by dgp »

mad_ady wrote:
Wed Jan 27, 2021 3:58 pm
May I ask what you're building with such a low-spec soc? Why not build it around any odroid? And don't tell me it's because of the price! Image
I can't speak for odroid but for me these low-spec SoCs are interesting in a few ways:
- They have memory integrated so they are almost as easy to use as a Cortex M0 microcontroller but you can do a lot more with them.
- They are in package that you can easily make your own board for and have made very cheaply at JLCPCB or similar.
- They are Cortex A7 instead of ARM9 like similar chips.. being A7 makes them fairly well supported in Linux. Getting them running a mainline kernel to a login prompt was really only one C file and some device trees.

Oh and they are really cheap. The single core IP camera version of this chip is $1.6.

mad_ady
Posts: 9250
Joined: Wed Jul 15, 2015 5:00 pm
languages_spoken: english
ODROIDs: XU4, C1+, C2, C4, N1, N2, H2, Go, Go Advance
Location: Bucharest, Romania
Has thanked: 599 times
Been thanked: 622 times
Contact:

Re: SSD20x?

Post by mad_ady »

Thanks... that looks cheap, indeed...

Post Reply

Return to “The Ideas”

Who is online

Users browsing this forum: tobetter and 2 guests