State of art for linux in WM8880

387 views
Skip to first unread message

dcv...@gmail.com

unread,
Aug 3, 2016, 5:57:48 AM8/3/16
to VT8500/WM8505 Linux Kernel
Hello,

I have two questions about linux for WM8880 processors:

1) Can one install a real linux distrib (say UBUNTU ;) ) on such CPU?
2) If yes, is there a wiki to do that and a place to download all the needed stuff?


Thanks in advance for any answer that you could give me?

mathe...@gmail.com

unread,
Feb 7, 2017, 12:02:44 AM2/7/17
to VT8500/WM8505 Linux Kernel, dcv...@gmail.com
I believe both of your questions can be answered here:
https://github.com/linux-wmt/linux-vtwm/wiki

mathe...@gmail.com

unread,
Feb 7, 2017, 7:10:01 AM2/7/17
to VT8500/WM8505 Linux Kernel, dcv...@gmail.com
By the way, sorry if I'm hijacking the thread, but I read up somewhere that Linux installs on these WM chipsets had issues concerning stuff like power saving/management and suspending to RAM/HDD. Is this true? Are there know "big" issues?

Alexey Charkov

unread,
Feb 7, 2017, 7:19:31 AM2/7/17
to VT8500/WM8505 Linux Kernel
2017-02-07 15:06 GMT+03:00 <mathe...@gmail.com>:
>
> By the way, sorry if I'm hijacking the thread, but I read up somewhere that Linux installs on these WM chipsets had issues concerning stuff like power saving/management and suspending to RAM/HDD. Is this true? Are there know "big" issues?

The big issue is that none of the WMT specific drivers in mainline
kernel have any power management functions implemented, so they will
most likely fail in weird ways after attempted suspend/resume. Nor is
the resume vector programmed in the power management controller when
the system is suspended, so depending on the power state chosen you
will most likely just get a fresh boot when trying to resume. Maybe
with some added fun like uninitialized hardware doing random stuff
with your RAM via DMA :)

Don't know how well WonderMedia's vendor kernel behaves in this
regard. It has the required power management code, but at the same
time it has some pretty unorthodox design choices (and code which is
far from clean in style), which may again cause it to fail in weird
ways when used with a regular Linux userland.

Volunteers welcome - advice and guidance is free for all (or rather
for the brave souls up for the task) ;-)

Cheers,
Alexey

Matheus Monteiro

unread,
Feb 11, 2017, 2:26:07 PM2/11/17
to vt8500-wm8505...@googlegroups.com
Hah, I wish I had the know-how to try and do this... At least I'll start Computer Engineering this year, so I think I'm on the right track. Would you mind sharing what books/tutorials/concepts would you recommend for a beginner to get into reverse engineering/firmware/drivers/embedded linux?


--
You received this message because you are subscribed to a topic in the Google Groups "VT8500/WM8505 Linux Kernel" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/vt8500-wm8505-linux-kernel/-GQHD2bf13E/unsubscribe.
To unsubscribe from this group and all its topics, send an email to vt8500-wm8505-linux-kernel+unsub...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Alexey Charkov

unread,
Feb 13, 2017, 2:48:15 AM2/13/17
to VT8500/WM8505 Linux Kernel
Hi Matheus!

2017-02-11 22:26 GMT+03:00 Matheus Monteiro <mathe...@gmail.com>:
> Hah, I wish I had the know-how to try and do this...

Frankly, the kernel is so big and diverse that it doesn't necessarily
require a huge deal of know-how to get started, and you can make you
learning curve as steep or as flat as you want it to be. It's also
quite fun IMO :)

> At least I'll start
> Computer Engineering this year, so I think I'm on the right track. Would you
> mind sharing what books/tutorials/concepts would you recommend for a
> beginner to get into reverse engineering/firmware/drivers/embedded linux?

There is a number of commonly recommended readings, such as "Linux
Driver Development" - https://lwn.net/Kernel/LDD3/. I personally
believe though that learning by doing is the best: pick an area of
interest, look how other existing code in the kernel works, understand
what makes your case different, adapt accordingly. Then make a patch
out of it, submit to the mailing lists, get feedback, adjust. Rinse
and repeat :)

One of the easier ways to start (and pretty useful for all at the same
time) would be to try and make some of the WonderMedia's drivers work
with the mainline kernel. This would typically include fixing code
style issues, adding DeviceTree support and bindings, sometimes
linking to the proper clock and/or pinctrl code and such. Then it can
be submitted upstream for inclusion, at which point you will most
likely hear some great insights on areas you might have overlooked.

It's best to start somewhere where you have full access to the
hardware, understand what a "working" result would look like and also
have a datasheet. This latter part is the trickiest, but Greg from
WonderMedia has been very helpful in getting us additional datasheets
(albeit far from a complete set). We also have some datasheets for
older chipset versions (VT8500, WM8510 and such), which included some
pretty similar hardware blocks.

Long story short: as long as you have basic command of C and Git
you're already good to go. Feel free to drop by this list for
additional pointers!

Cheers,
Alexey

P.S. Off the top of my head, the devices that might be easiest to
start with are: serial flash (small, no external dependencies,
almost-working driver on github), NAND flash (relatively large, but no
external dependencies), CIR receiver (small, no external dependencies,
albeit rarely used other than in APC boards and Android TV boxes).

Built-in sound may require DMA controller support, which makes it a
bit trickier. HDMI would require a fresh start on the graphics
controller driver based on the DRM/KMS subsystem, which is a bit
large. Hardware video codec is large and undocumented, with only a
binary driver available - pretty hard. Hardware crypto accelerator is
small but undocumented, and only a binary driver available again. 3D
graphics acceleration - same as with any Mali 400 device.
Reply all
Reply to author
Forward
0 new messages