Editing Mer/Status/SmartQ5

Warning: You are not logged in. Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
-
{{Mer}}
 
-
 
-
For general SmartQ tips, see [[../SmartQ | tips for SmartQ]].
 
-
 
Notes on SmartQ 5 MID:
Notes on SmartQ 5 MID:
Line 201: Line 197:
[[Image:Smartq5_pcb-battery.jpg|thumb|Circuit board with battery attached]]
[[Image:Smartq5_pcb-battery.jpg|thumb|Circuit board with battery attached]]
-
 
-
== Boot process ==
 
-
 
-
Block size = 512 byte
 
-
 
-
Upon booting, IROM will decide wether to boot internal SD or external SD, based on if the second button from right is held down. If held down, it will boot from external SD.
 
-
 
-
On a SDHC card, it will boot from 1042 blocks before the end of the card (16 + 1 + 1025), On a SD card this will be on 18 blocks before the end of the card (16 + 1 + 1).
 
-
 
-
This is where qi is placed, maximum 16 blocks size, zero out the remaining 2/1027 blocks
 
-
 
-
Qi will then (see /qi/src/cpu/s3c6410/start_qi.c) try to locate a SmartQ firmware image (see genimage for format, or same file, struct FirmHead on 32768 blocks before the end, or 16384 blocks before the end, and load u-boot from the firmware image.
 
-
 
-
If this fails it will load u-boot from 512+18 blocks before the end, maximum size 512 blocks.
 
-
 
-
Then, in u-boot (see u-boot/board/samsung/smdk6410/cmd_hhtech.c), it will check first if battery is low and blink LEDS (red) and power off if so (see init_hard_last)
 
-
 
-
It will then, if a key is pressed:
 
-
 
-
KEY_UP (+ optional key power): load firmware file from SD, booting kernel + initramfs from it
 
-
 
-
KEY_LEFT (+ optional key power): load initramfs + kernel from iNAND in similar manner as Qi with FirmHead on 16384.. -- there's no left button on a SmartQ5
 
-
 
-
KEY_FACTORY (key down + key power): add factory to boot statement
 
-
 
-
or:
 
-
 
-
load  kernel from iNAND in similar manner as Qi with FirmHead on 16384/32768
 
-
 
-
if fail, load initramfs image from SD
 
-
 
-
== Firmware image format ==
 
-
 
-
<pre>
 
-
typedef struct _firmware_fileheader {
 
-
    uint32_t magic;        // '2\0\09'= 0x32 0x00 0x00 0x39
 
-
    uint32_t check_sum; // for 8 ~ .fh_size
 
-
    uint32_t fh_size;
 
-
    uint32_t version;      // major.minor.revision.xxx, each section in 8-bits
 
-
    uint32_t date;          // seconds since the Epoch
 
-
    char vendor[32];      // XXX: uint32_t vendor_string_len; char vendor_string[]
 
-
    //uint32_t nand_off_end1=16M/512, nand_off_end2=8M/512;  // offset from INAND END(BLOCKS)
 
-
    uint32_t component_count /* = 5*/;
 
-
    struct {
 
-
        struct {
 
-
            uint32_t offset, size; /* nand offset in blocks, sizes and file offset in bytes */
 
-
        } file, nand;
 
-
        uint32_t check_sum;
 
-
    }qi, u_boot, zimage, initramfs, rootfs; // components[];
 
-
}FirmHead;
 
-
</pre>
 
-
 
-
Offset in NAND is meant as offset from 16/8mb end offset in blocks (512 byte blocks). If offset is 0, it is not meant to be in the NAND image (qi doesn't make any sense there, nor rootfs, etc)
 
-
 
-
 
-
== Hardware support ==
 
-
 
-
* Power management
 
-
** Bluetooth
 
-
** USB otg / Host
 
-
** WiFi (on/off, PSM)
 
-
** Backlight control + dimming/turn off
 
-
* SD slot automounting
 
-
* Open source upgrade tool and initramfs
 
-
* Updated u-boot
 
-
* Audio: Headphone / loudspeaker switch
 
-
* TV out
 
-
* Microphone?
 
-
* Hardware buttons support
 
-
* [[/XAA|XAA]]
 

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)

Templates used on this page: