On Thu, Mar 9, 2017 at 2:37 PM, Hendrik Boom hendrik@topoi.pooq.com wrote:
Will the EOMA68-A20 boot from USB to run an installer?
right. it's complicated (down to the extremely small PCB size and the pinouts of the A20). feel free to skip right to the very last sentence. in between this is for technical readers.
first thing: the A20 is an "unbrickable" processor. you simply cannot disable MMC0 from being "first boot" option. period. you cannot put it into any kind of "DRM" or other "treacherous" mode. there are no e-fuses available to blow that would disable this "unbrickable" functionality.
please ensure that you have accepted - in its entirety - the prior paragraph before proceeding to read further.
so - bear with me.
(1) MMC3's pins come out of the A20 on the LEFT side. (2) MMC0's pins come out of the A20 on the RIGHT side. (3) NAND Flash comes out of the A20 at the BOTTOM set of pins (4) RGB/TTL also on the LEFT. (5) DDR3 comes out of the TOP. (6) HDMI comes out just around the bottom-right corner. (7) the PCMCIA connector is on the LEFT edge of the PCB (8) the HDMI, USB-OTG and Micro-SD are on the RIGHT.
with all that so far? now, here's the layout "restrictions":
(1) there are only 3 signal layers: TOP, BOTTOM and LAYER3. (2) it is NOT PERMITTED to cross anything over, in or between the DDR3 layout area, nor in the actual DDR area. (3) it is NOT PERMITTED to cross anything through the cental "power" area of the A20, because that would interfere with grounding of the central part of the SoC. (4) the amount of space ABOVE the DDR3 area is 83 mils (2mm) (5) the amount of space below the bottom edge of the A20 to the bottom of the PCB is also a scant 3mm and it's taken up on the right side by HDMI (and by the 24mhz XTAL) and on the left by NAND flash tracks.
all of that is as background to the following:
with NAND crossing over from the RIGHT side of the A20 to the LEFT, and with RGB/TTL going out from LEFT to the PCMCIA connector, there is simply NO WAY to route the MMC3 from the RIGHT side of the A20 over to the LEFT side where it could connect to the PCMCIA connector, and at the same time route MMC0 which is on the LEFT side over to the RIGHT of the PCB where the MicroSD card is.
it is also not possible to go DOWN from the A20 with either MMC0 or MMC3 to try to route AROUND the A20 (and DDR3) along the very top edges because:
* HDMI takes up the entire Layer3 and BOTTOM layer routing. * the 24mhz XTAL is in the way as well (blocking TOP layer) * various GPIOs have had to go along the top (spare) 2mm edge of the PCB, around the top of the DDR3.
basically there *is* no option to route MMC3 to the PCMCIA connector and MMC0 to the Micro-SD card, where it would be really really preferable to do that, because then the Card would be "self-unbrickable", i.e. you could put in USB power and a MicroSD card and boot (recover) straight away.
instead, because MMC3 (right) has had to be routed to MicroSD (right) and MMC0 (left) to the PCMCIA (left), if you want to recover an EOMA68-A20 Card using the "unbrickable" MMC0, you *need* a Housing of some description.
the first such Housing which will provide the "lowest cost, simplest" unbrickable option combo will be the Micro-Desktop. you *can* if you want make one yourself, from the breakout board and associated components.
now, to mitigate this scenario what i will be doing is (actually i'm forced into this option due to the NAND ICs slowly not being available any more), put in a very small (128mb) SLC NAND IC, on which will be installed boot0 and u-boot etc.
by default (and i already have this set up so it's going to the default... *by* default...) the u-boot on the SLC NAND will be set up to look for an OS on MMC3 *not* MMC0.
being SLC NAND it will not be corrupted by read operations, so as long as you don't try to screw with it by trying to write to it, it will be just as stable as the "unbrickable" MMC0, indefinitely.
summary: if you _do_ screw it up however, the "normal" option (MMC0 being on the Card) simply isn't available, instead you'll need to boot from a Housing that has an SD Card, such as the Micro-Desktop.
l.