[Tinkerphones] MIPS CREATOR CI20
H. Nikolaus Schaller
hns at goldelico.com
Fri Mar 29 11:46:24 CET 2019
Hi Paul,
> Am 29.03.2019 um 11:27 schrieb Paul Boddie <paul at boddie.org.uk>:
>
> 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.
Mine came through UPS from the UK. Nobody has an idea how this will run in
the future...
>
>> 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.
I have used the Flash image only and not yet the SD card reader.
>
>> * 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.
Well it was easier to use the Xfce Settings... menu. Because I already had problems
typing the "-" character for something like "dpkg-reconfigure keyboard-configuration".
>
>> * 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
Ok, this is an important warning!!!
>
>> * 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
Yes, I have several of such things.
>
> I think that the U-Boot prompt is only shown via the UART.
That would be expected. U-Boot does not know displays (with some exceptions
like GTA04 or OpenPandora).
>
>> 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!
What I usually find the easiest approach is to find a simple .img which
already includes the partitions, SPL+U-Boot, Kernel and some rootfs and
expand it onto the SD card through dd...
Then I can start tweaking it to prepare it for makesd. And then it is quite
easy to work on improving/replacing the components for LetuxOS. If something
breaks, there is always a working fallback which can be restored from the
server.
BR,
Nikolaus
More information about the Community
mailing list