"allwinner's A10" codenamed "sun4i crane", linux kernel v2.6.36 patch available
Luke Kenneth Casson Leighton <[email protected]>
| Newsgroups | gmane.linux.debian.freedombox.user,gmane.linux.debian.ports.arm,gmane.linux.debian.devel.embedded |
|---|---|
| Message-ID | <CAPweEDyB8EAssZzb7=WZJrThMwPkC2P5m3mEj9HABw2FM3gAiQ@mail.gmail.com> |
[discussions regarding the following, please do be advised that it preferably take place exclusively on the [email protected] 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 [email protected]) * 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.