[Tinkerphones] MIPS CREATOR CI20
Paul Boddie
paul at boddie.org.uk
Fri Mar 29 11:27:43 CET 2019
On Friday 29. March 2019 08.57.22 H. Nikolaus Schaller wrote:
>
> > Am 27.03.2019 um 17:51 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
> >
> >
> >
> > So I have ordered one some minutes ago. The key idea was that I expect to
> > get a board where I can more easily test and debug the MIPS variant of
> > LetuxOS incl. kernels. And then this might help to get it onto the
> > MipsBooks/Letux 400...
>
> It already arrived yesterday.
Things happen fast where you are! I think my board was shipped from the USA
and although it did enter the country fairly quickly after that, I ended up
arguing with the courier about the tax applied to the "free shipping" for
several weeks afterwards.
> Now I did power it on - and I am really impressed. It is the first board
> I have seen where there is 3D-GPU support included in the preinstalled
> NAND image. It starts with Xfce, Debian 7.5 (Wheezy), Kernel 3.0.8 and
> as said SGX drivers are included and loaded. Running the sgx_clipblit_test
> can be done immediately from the command line. This is where LetuxOS
> on omap3 still fails...
It sounds like they did a good job on the default software. Unfortunately for
me, neither my monitor nor another one - both supporting DVI via an adapter -
could support the default resolution, which was particularly odd for the
second monitor. Although I recompiled the driver to use a different
resolution, I think I just decided to switch kernels in the end.
It is worth noting that modern GCC versions do not like the kernel code from
the 3.0.8 era (nor the U-Boot version being used), and there are some fixes
needed (in include/linux/compiler-gcc.h), but I am sure you have seen this
before. Also worth noting from looking at the drivers is that some of them
were fixed up to be less like vendor code and more like normal kernel code in
3.18, so the HDMI support is rather different.
I also found from experiments that the I2C support is unreliable, although the
Linux driver usually manages to get the display resolution over I2C just fine.
Apparently, previous Ingenic SoCs also have reliability issues with the I2C
support.
> So far I only have these observations:
> * there is no heartbeat so unless a monitor is connected it is difficult to
> tell if the board is running
The rather bright LEDs tend to flash a lot, but that appears to be related to
MMC/SD activity.
> * the apt/sources.list is outdated and points to server names no longer
> available (Debian rearranges things every now and then)
Another thing that probably won't affect you is that most of the online
resources for this board are gone now. But pity the people who bought the CI40
for IoT and for use with some cloud-based service provided by Imagination!
> * I had to change the keyboard layout
This is something I should have mentioned, but it is part of the usual Debian
configuration procedure:
dpkg-reconfigure keyboard-configuration
Also things like the locales. Since there's no battery on the board (arguably
reasonable given the Ethernet and WLAN support, perhaps also better for the
planet), the RTC needs updating every boot-up, but the distribution seems to
take care of that using NTP, I think.
> * the board has a standard-SD slot (but I have enough adapters)
> * the Mini-USB/OTG port is installed vertically - funny :)
There is some weird stuff with the OTG connector:
https://www.elinux.org/CI20_Hardware#USB_mini-OTG_connector
> * it is not clear how where and how to connect an RS232 port - but kernel
> boot log is shown on screen
I use UART0 via pins 6, 8 and 10 of the primary expansion header:
https://www.elinux.org/CI20_Hardware#Primary_expansion_header
I use a USB-to-UART adapter like this:
https://shop.pimoroni.com/products/usb-to-uart-serial-console-cable
I think that the U-Boot prompt is only shown via the UART.
> So in summary it was a good decision to get one :)
They could have done with customers like you when it first came out, I'm sure!
I think it is an odd product, trying to be a lot like Raspberry Pi in some
ways, and yet it has some strange design choices that make it more like a
vendor development board.
A significant mistake, in my view, is that they did not expose the LVDS
signals for driving LCD panels efficiently, meaning that anyone wanting to
make a portable device with a screen apparently has to use "Raspberry Pi
level" solutions with SPI-based screens, despite the SoC really being targeted
at the tablet market.
But I guess one goal with the board was to familiarise developers with PowerVR
on a relatively cheap platform, which is exactly what you are interested in.
:-)
> Now I have to learn how to find and boot a prebuilt SD (only) image with
> Debian (so far I only found one that would reflash NAND). And then adapt
> makesd to be able to create LetuxOS images with Wheezy, Jessie, Stretch,
> Buster, LXDE, XfCE, Mate, QuantumSTEP, QtMoko, Replicant... And finally
> make SGX 1.14 work for them (I can already compile the pvrsrvkm driver for
> jz4780).
With regard to making an image, the following page is informative:
https://www.elinux.org/How_to_make_a_debian_rootfs_for_MIPS_CI20
However, I found it a lot easier to use multistrap to populate a root
filesystem, which is what I tend to use normally, anyway. I don't think
there's anything I can teach you about this. ;-)
Again, this page helps with the bootable SD card:
https://www.elinux.org/CI20_Dev_Zone#Making_a_bootable_SD_card_from_sources
Anyway, it sounds like you are off to a good start!
Paul
More information about the Community
mailing list