Project

General

Profile

SciphoneDreamG2 » History » Version 8

marcin, 02/19/2016 10:49 PM

1 1 laforge
= Sciphone Dream G2 =
2
3
The Sciphone Dream G2 is a [wiki:MT6235] based phone running UI software to mimic the look+feel of Android.
4
5
There is currently an u-boot and Linux port for the MT6235 underway, the primary development platform is the Sciphone G2.
6
7
OsmocomBB does not yet support any Mediatek chipsets, so this phone is not supported by OsmocomBB.  Nonetheless, we
8
expect to have support for it at some point in the future.
9
10 3 laforge
More information on the hardware of the device can be found at [http://en.qi-hardware.com/wiki/Sciphone_Dream_G2]
11 2 steve-m
== Serial Cable ==
12
13
You can make a serial cable by sacrificing the headset that comes with the phone, by swapping the pins inside the connector.
14
15
Serial pinout:
16
17
||Pin||signal||
18
||1||GND||
19
||2||GND||
20
||5||Rx||
21
||7||Tx||
22
23
[[Image(sciphone_serial.jpg,20%)]]
24
25 1 laforge
== JTAG ==
26
27
The JTAG port of the MT6235 is accessible on the phone PCB, see the attached picture.
28 5 steve-m
You can use [http://openocd.berlios.de/web/ OpenOCD] along with the attached configuration file ([raw-attachment:openocd_mt6235.cfg]) for debugging.
29 4 steve-m
30 6 marcin
[[Image(scig2_front.JPG,20%)]]
31
[[Image(scig2_jtag.jpg,20%)]]
32
33 4 steve-m
== Serial Bootloader == 
34
35 5 steve-m
Like all Mediatek MT62xx !SoCs, the phone uses the [wiki:MTKRomloader].
36 6 marcin
37
== U-Boot ==
38
39
Port of U-Boot for Sciphone G2 can be found at [http://git.osmocom.org/gitweb?p=uboot-mt623x.git;a=summary U-Boot]
40
41
Building U-Boot:
42
43
{{{
44
export CROSS_COMPILE=arm-linux-gnueabi-
45
make sciphone_g2_config
46
make
47
}}}
48
49
== Linux kernel ==
50
51
Port of Linux kernel for Sciphone G2 can be found at [http://git.osmocom.org/gitweb?p=linux-mt623x.git;a=summary Linux kernel]
52
53
Building Linux:
54
55
{{{
56
export CROSS_COMPILE=arm-linux-gnueabi-
57 7 marcin
make ARCH=arm sciphone_g2_defconfig
58 6 marcin
make ARCH=arm uImage
59
}}}
60
61 8 marcin
== Building initramfs file system ==
62
63
The easiest way to have file system in Linux kernel is to build [http://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.txt Initramfs image].[[BR]]
64
65
You need to download [http://www.busybox.net/ Busybox], configure it and build it.
66
67
{{{
68
export CROSS_COMPILE=arm-linux-gnueabi-
69
make menuconfig
70
make
71
}}}
72
73
Additional to that you'll need to create console device in already built filesystem.
74
75
{{{
76
sudo mknod dev/console c 5 1
77
}}}
78
79
Now you can create CPIO archive:
80
81
{{{
82
find . | cpio -o -H newc > rootfs.cpio
83
}}}
84
85
Next step is to point to Linux kernel where initramfs image is located.[[BR]]
86
87
In menuconfig of Linux kernel you should modify following option:
88
89
{{{
90
CONFIG_INITRAMFS_SOURCE=<path_to_cpio>
91
General setup -> Initial RAM filesystem and RAM disk -> Initramfs source file(s)
92
}}}
93
94
After these steps Linux kernel image will have initramfs built in.[[BR]]
95
96
'''Important note:''' Initramfs ignores 'init=' variable given in kernel boot parameters list. It always executes /init command at startup and you can't change it. Check if you have /init in your file system (BusyBox has /linuxrc by default, so just change its name to init).
97
Every time you change initramfs file system you have to rebuild also Linux kernel.[[BR]]
98
99
To unpack CPIO archive you can use following command:
100
101
{{{
102
cpio -i -d -H newc -F <path_to_cpio_archive> --no-absolute-filenames
103
}}}
104
105 6 marcin
== Reading data files in U-Boot ==
106
107
'''NAND'''
108
109 7 marcin
Following command will read 256 bytes from NAND address 0 at address 0x800000.
110 6 marcin
111
{{{
112 7 marcin
nand read 0x800000 0 0x100
113 6 marcin
}}}
114
115
'''Serial'''
116
117 7 marcin
Following command will read data at address 0x800000 from serial at baudrate 115200 (using kermit protocol).
118 6 marcin
119
{{{
120 7 marcin
loadb 0x800000 115200
121 6 marcin
}}}
122
123
'''SD/MMC'''
124
125 7 marcin
Following command will read uImage file at address 0x800000 from MMC card.
126 6 marcin
127
{{{
128 7 marcin
fatload mmc 0 0x800000 uImage
129 6 marcin
}}}
Add picture from clipboard (Maximum size: 48.8 MB)