[Tinkerphones] Dual personality systems (was Re: ZeroPhone site offline)
Paul Boddie
paul at boddie.org.uk
Sun Jan 9 23:40:08 CET 2022
On Saturday, 8 January 2022 22:49:19 CET Jonas Smedegaard wrote:
>
> Even current generation PinePhone might be made to run a (very)
> lightweight telephony-focused stack, on its embedded 32bit 300MHz AR100
> processor.
>
> I maintain the needed compiler for Debian in package gcc-or1k-elf, and
> getting Linux compiled seems doable for someone with the skills (i.e.
> not me): https://linux-sunxi.org/AR100#Mainline_Kernel_Support
The AR100 processor in the Allwinner SoCs appears to be used as a kind of
microcontroller without memory management unit, at least from what I can
understand from that wiki page, so running vanilla Linux would be out of the
question. But there are other things it could presumably be asked to do.
In the Ingenic JZ4780, which is a MIPS-compatible SoC with two main XBurst
cores, there are additional XBurst cores which have microcontroller-like
roles. For example, the DMA peripheral has a core called MCU:
"MCU in PDMA is a mini CPU compatible with XBurst-1 ISA without implementing
CACHE, MMU, DEBUG, FPU and MXU. It is very similar as the AUX in VPU but has
different memory mapped control and status register."
As the above quote indicates, there is another XBurst core in the video
processing unit:
"Video Processing Unit (VPU) core in this chip is dedicated for video decoding
and encoding. VPU embeds an XBurst® CPU core (named AUX in VPU) and
application specified hardware accelerators for common video compress/
decompress algorithms, which includes Stream Parser, Motion Compensation,
Motion Estimation, Quant/Inverse Quant, DCT/Inverse DCT and De-block engines."
Both of these auxiliary cores can only access memory using physical
addressing, as I understand it, so they wouldn't be useful for Linux or
classic timesharing systems. I believe that some support was being prepared
for use of the AUX core mentioned above in Linux as a form of auxiliary core,
where the programs running on such cores would be treated specially rather
than being normal programs running in the system and appearing in the process
table. Previously, someone did some experiments with the AUX core:
https://laanwj.github.io/2013/9/27/vpu-proof-of-concept-ingenic-jz4770
As for the AR100 in the Allwinner SoCs, maybe it could be used for more
general applications, or maybe someone has been working on a similar approach
to that of the Ingenic functionality. For all I know, it might be possible to
use any of these microcontroller-style cores to monitor hardware and manage
things like telephony, even if such cores are intended for certain specific
purposes.
I suppose that if it were possible to power down the main cores and just keep
the auxiliary core operating (perhaps more feasible with the AR100 given its
apparent use with power management), the aim would be to somehow wake up the
main cores in a state where they can present the user with an interface upon
some kind of telephony event. If that would be too difficult to achieve,
perhaps an alternative would be a minimal interface that the auxiliary core
might be able to show to the user while the main system wakes up.
Anyway, I thought that this would be an opportunity to compare two different
processors and look at their provision of additional microcontroller-style
cores.
Paul
More information about the Community
mailing list