[Arm-netbook] "allwinner's A10" codenamed "sun4i crane", linux kernel v2.6.36 patch available
Luke Kenneth Casson Leighton
luke.leighton at gmail.com
Sat Nov 12 01:09:05 GMT 2011
[discussions regarding the following, please do be advised that it
preferably take place exclusively on the
arm-netbook at lists.phcomp.co.uk mailing list, hosted kindly by alain
williams for the past 2 years].
right. on the basis of future mass-volume production deals, allwinner
very graciously released the GPL source code to RH Technology, even
though they did not have to do so (even under the terms of the GPL).
the first cut of a diff/patch is here:
http://hands.com/~lkcl/sun3i_sun4i_crane_2.6.32.patch.bz2
linus is going to go ballistic at the 17mb size of the patch, but
there's an answer ready for him to read when he does, in the form of
three articles i've prepared:
http://lkcl.net/linux/linux-selfish.vs.cooperation.html
http://lkcl.net/linux/modular.computing.architecture.html
http://lkcl.net/linux/ideal-vs-reality.of.product.development.html
those of you who are keenly observant will note, hilariously in some
cases and "wtf??" in others, that the articles all have nice capital
letters 'n' stuff.
actually, shockingly, amazingly and even i'm blown away, the cynic
even in me is taken a bit aback that we successfully got allwinner to
"go with it", and my "ideal vs reality" article has to be updated with
"except for allwinner, who it seems are proving to be the exception to
alll these rules, above, and damn good for them, too. hip hip,
hooray" and all that.
ok.
bullet-points, for anyone who's missed it, this is a summary, that
evolves into a roadmap, it'll end up on a wiki soon (to be announced
only to arm-netbook at lists.phcomp.co.uk)
* the allwinner A10 CPU is a "dark horse", which we're getting reports
that it's $7 in mass-volume. yes, not $17 - _really_ $7.
* it's a Cortex A8, it takes up to DDR3 800mhz RAM, its external
interface is 16gbits (2gbytes) but there appears to be a limitation
internally of the Cortex A8 memory-mapping which truncates that to a
max of 1gbyte of actual RAM... but bizarrely, the NAND Flash
Controller i've just learned can address DDR RAM 32-bit (??) as well
(what's _that_ about??)
* thanks to its high level of integration (resistive touchpanel
controller, keyboard matrix and more), a 7in "tablet" PCB can be $15
in mass-volume, and a 10in laptop PCB only $20.
* this means that, for the first time _ever_, the pricing of $20 to
$30 for a "plug computer" that eben was talking about in his
introductory freedombox talk might actually be achievable with a
_decent_ CPU rather than something that people will regret owning. or
selling. to whit: _not_ an ARM11 or ARM9, _not_ a GPL-violating CPU,
and _not_ a 500, 600 or even 700mhz brain-drained piece of technology
that was designed 5 to 2 years ago, but really really something that's
above 1ghz by quite a margin.
* there is empirical evidence which points towards some rather...
well, we'll never know truly if it was visionary, deliberate,
accidental or simply cheaper to do, but the interfaces chosen are just
f*****g awesome. i _believe_ that the NAND Flash Controller _may_
actually be a top-of-the-line interface normally found in high-end SSD
Drives. perhaps it was picked precisely because, with SSDs being
mass-volume, the licensing was too good to turn down: we just don't
know. what we do know is: it has automatic ECC (64 bits per 512 or
1024 bytes) and it has 8-way simultaneous DMA.
* the CPU also has 10/100 Ethernet - it looks possibly like it's
RALink (!??) and it has 3gb/sec SATA-II, again standard off-the-shelf
macro-cells, DMA-driven, blah blah.
at this point, some people may be going "hollyyy s***t", others just
"huhn? what's the fuss?" - i'm going to say "never look a gift horse
in the mouth" and move swiftly on to outline some possible projects,
*all* of which *shall* be satisfied with the *exact* same 85x55mm PCB
(populated single-sided only in some cases and double-sided in others,
for reasons which should be clear)
* top priority: an EOMA-PCMCIA-compliant and stand-alone computer,
powerable via USB-OTG and having an HDMI interface and Micro-SD, with
at least 512mb RAM, 1gb NAND and this Cortex A8 which there are
reports that it's capable of running at up to 1.5ghz.
http://elinux.org/Embedded_Open_Modular_Architecture/PCMCIA
this board can, on its own, be sold *as* a FreedomBox. full stop.
size: 90x56x3mm with (eventually) a 6mm height bit of moulded plastic
on the end to make its connectors all look nice and friendly instead
of looking like a prototype.
the mass-volume price, along with the size and weight is such that it
may actually cause problems in quantities less than 5, for Customs
Officials world-wide. we therefore have to take precautions to deal
with this, for shipping of prototypes.
* second priority: a tiny "header board" with nothing more than an I2C
EEPROM for identification purposes and a bunch of passive connectors,
giving access to eSATA, 10/100 Ethernet, one USB-HOST, a secondary 5v
power input socket and all other unused pins (from the 68 of the
PCMCIA physical connector) on an unpopulated expansion header.
http://elinux.org/Embedded_Open_Modular_Architecture/PCMCIA/MiniEngineeringBoard#Smaller_Example_Board
this board is so simple that even i could probably knock it together,
single-sided, using KiCAD or gEDA if i really really had to.
* third priority: a "Micro-Engineering Board", comprising a
combination of the above "header board" with the leaflabs "maple"
(itself an Open Hardware Project from MIT, and a semi-interoperable
clone of the ever-popular Arduino)
http://elinux.org/Embedded_Open_Modular_Architecture/PCMCIA/MiniEngineeringBoard#Mini_Board:_Engineering.2C_Prototyping_and_Experimentation
http://leaflabs.com/devices/maple/
please don't ask, but there is a very good reason (future
upgradeability) why the roadmap is that the keyboard matrix,
touchpanel and even the AC97 audio of the allwinner-A10 is placed onto
an "expansion header", completely ignored when encased in a PCMCIA
standard casing, and then that exact same functionality _replicated_
in software by a GPLv3 library on an STM32F Cortex M3.
* fourth priority: an actual real mass-volume product, worth selling,
from which Free Software Developers themselves, through RH
Technology's contacts, could actually make some money by using them to
support their own business ideas, compete on price with GPL-violating
products yet *also* stick to their principles of GPL and Free Software
Compliance instead of having to [not] choose.
these _were_ going to be things like tablets
http://elinux.org/Embedded_Open_Modular_Architecture/PCMCIA/Tablet but
actually, after realising that the NAND Flash Interface has all the
hallmarks of a stonkingly-good SSD controller, it *may* be worthwhile
seeing if the SATA-II interface can be turned round (put into "slave"
mode) and seeing if one of these boards can be programmed *as* an SSD,
with 16gb or 32gb of NAND in an 8-way concurrent bank @ 16 or even
32-bit and at 500mhz!
the limit there will the amount of power drawn: absolute max right now
is 5 watts. we've allocated 2 pins 0.5amp each @ 5v on the PCMCIA
interface: it *may* be possible to allocate one or more GPIOs to
accept additional power, but the thermal passive limit of a PCMCIA
card is pushing 3.5 watts. with some tricks, such as flooding the
inside of the (very thin) PCMCIA card shell with thermal gel, and
applying a beryllium spring to the underside of the PCMCIA card on a
copper plate, it may be possible to transfer 1 or 2 watts of power
down to a large pad on the motherboard - but at *no time* should any
software *assume* that that is actually going to be the case.
the other possible product is to jam as many of these as possible,
with 1gb of RAM each, running as fast as possible (1.5ghz?), into a
19in rack-mount and call it "the world's first and smallest modern
ARM-based Blade Server" - yes, you may recall someone did an 8-way ARM
server oo gods know how long ago, it's somewhere on linuxdevices, but
that was... N to 1N years ago. ok the marketing sounds good, at least.
note to self: must write that up on elinux.org. hm.
so, summary of products [can't help it: Monsters vs Aliens quote "we
come in peace, we mean you no harrrm, many of you will die" :) ]
sorry, anyone still awake? :)
summary of products.
* plug computer. mass-volume target price: somewhere between $15 and
$20 is achievable. early prototypes we have rough guide pricing
somewhere at 50% to 70% of any other Sheeva or Guru or
{Insertname}Board. outstanding task: factory in china have the
Engineering Board, are evaluating BOMs.
* minimalist expansion header. $5. $8. big deal. make one, or sell
them and buy them on sparkfun.
* arduino-matcher. this is the one i love. imagine a RepRap with,
instead of a full Desktop PC locked up permanently to driving the 3D
printer, uses instead the 6 PCM drivers of the Cortex M3 to drive the
thing using a random off-the-shelf Arduino-compatible Shield, but on
the other end of that STM32F Cortex M3 is a 90x56mm fully-functioning
stand-alone computer that has its own on-board SSD, web interface,
10/100 Ethernet, USB Wifi and acts as an embedded computer containing
all the software needed to generate previews of 3D Images (targetted
at *your* screen but using *its* MALI-400MP to generate that image -
you see that remote-3D GPU announcement on slashdot yesterday?) and
then you just confirm and it submits the job to its queue, all managed
via an embedded web interface, now you have that laptop or desktop
free for other more important tasks. such as playing quake or
emulating angry birds with qemu-android.
* server
* SSD
* blade-like server, up to 32 1.5ghz 1gb RAM hot-swappable machines on
a multi-gigabit "hub" backplane in a single 19in Rack-Mounted Server,
possibly even with a built-in load balancer just for laughs. well,
why the heck not? prototypes can be built out of putting 32
EOMA/PCMCIA-compliant plug computers, together with 32 minimalist
expansion headers to get at the 10/100 and the eSATA, and a 32-port
off-the-shelf Gigabit Switch for goodness sake.
so.
whew.
enough.
i'm going to take a back seat, now: i have to go over the GPL linux
code, gain access to an Engineering Board somehow and get ready for
the factory's first prototypes. further discussion of this initiative
will be responded to *exclusively* on arm-netbooks (by me), as time
permits; occasional summary reports, things like "where's the url for
the wiki and the git repo" etc. but otherwise all tedia and tedium now
on arm-netbooks until an appropriate home is set up.
l.
More information about the arm-netbook
mailing list