Root/README-A320

1
2               Linux for the Dingoo A320
3
4-------------
5** History **
6-------------
7
8The initial port of Linux 2.6.24.3 to the A320 was done by Ignacio Garcia Perez
9aka booboo. He added support for the Dingoo to the 2.6.24.3 kernel from Ingenic.
10    Ignacio Garcia Perez <iggarpe@gmail.com>
11    http://www.dingux.com/
12
13The OpenDingux tree is a merge between booboo's patches and the qi-kernel tree
14from Qi Hardware. This tree is kept up-to-date with the mainline kernel and
15the latest drivers from Ingenic.
16    http://projects.qi-hardware.com/index.php/p/qi-kernel/
17
18------------------
19** Contributing **
20------------------
21
22You can find the latest code on github:
23    http://github.com/mthuurne/opendingux-kernel
24
25Developers can be found on the #dingoonity channel on freenode IRC:
26    irc://irc.freenode.net/dingoonity
27
28----------------
29** Quickstart **
30----------------
31
32First download booboo's Dingux toolchain from:
33    http://code.google.com/p/dingoo-linux/downloads/list
34It must be unpacked in /opt, otherwise applications will fail to link.
35
36Tell the Linux kernel build that you want to compile for MIPS:
37    export ARCH=mips
38Alternatively, you can pass "ARCH=mips" to every "make" command.
39
40Use "make a320_defconfig" for a default configuration.
41After that, you can modify the kernel configuration using "make menuconfig".
42
43There are three different LCD controllers used in the Dingoo A320 over time:
44until mid-2009 the ILI9325 was used, from then until mid-2011 the ILI9331 was
45used and after that the ILI9338 was used. The default config uses ILI9331;
46if your Dingoo has a different LCD controller you should change the config:
47
48    Device drivers
49    |---Graphics support
50        |---Support for framebuffer devices
51            |---SLCD panel
52
53If you have a Dingoo A330, keep the ILI9331 setting. If you want to use the
54full 64 MB of RAM, you need a new boot loader:
55  http://boards.dingoonity.org/dingux-releases/(release)-64mb-dingux-for-a330
56
57To build the kernel, use "make vmlinuz.bin". It will produce the kernel
58binary named "vmlinuz.bin" in the top-level directory. The current u-boot
59boot loaders expect the kernel image under its old name "zImage", so you
60have to rename it if you put it on an SD card.
61
62--------------
63** Keyboard **
64--------------
65
66The keyboard driver has been completely rewritten now using the polled
67input device code. The standard keyboard map is as follows:
68
69    D-pad up KEY_UP KEY_VOLUMEUP 's'
70    D-pad down KEY_DOWN KEY_VOLUMEDOWN 'u'
71    D-pad left KEY_LEFT KEY_BRIGHTNESSDOWN 'e'
72    D-pad right KEY_RIGHT KEY_BRIGHTNESSUP 'i'
73    A button KEY_LEFTCTRL
74    B button KEY_LEFTATL
75    X button KEY_SPACE
76    Y button KEY_LEFTSHIFT
77    Left shoulder KEY_TAB KEY_EXIT
78    Right shoulder KEY_BACKSPACE
79    START button KEY_ENTER
80    SELECT button KEY_ESC KEY_MENU 'b'
81
82The second column is the generated keycode when the button is pressed normally.
83The third column is the generated keycode when the button is pressed while the
84power slider is pressed too.
85The fourth column is the generated system request when the button is pressed
86while both the power slider and the START button are pressed:
87
88's' Emergency sync of all discs.
89'u' Remount all discs read-only.
90'e' Send SIGTERM to all processes except init.
91'i' Send SIGKILL to all processes except init.
92'b' Reboot immediately.
93
94For example, to reboot the console syncing all disces and mounting read-only,
95press and hold POWER, press and hold START, and press secuentially UP, DOWN
96and SELECT. Note that SELECT is also used in dual-boot to select linux boot,
97so if you hold SELECT pressed at the end of the previous sequence, you should
98reboot back into linux.
99
100Note that the POWER + key combinations are selected to enable an user space
101daemon handle the volume, LCD bightness, and perhaps an on-screen keyboard.
102
103If you hold the power slider pressed alone this is what will happen:
104- After two seconds a KEY_POWER key press and release will be generated.
105- After five seconds, an inmediate reboot will happen.
106
107This is subject to change when hardware powerdown or idle support works.
108
109I did my best to come up with a clever and useful keyboard map, but if you
110have any suggestions, please do not hesitate to contact me.
111
112-----------
113** Sound **
114-----------
115
116The audio driver uses ALSA. For backwards compatibility, the OSS PCM API
117driver is enabled as well.
118
119The build of SDL in booboo's rootfs contains only OSS support. Some
120applications are statically linked against an SDL that contains both OSS
121and ALSA support. However, the latter tries to load libalsa at runtime,
122which is not included in the rootfs. To force the use of OSS, set the
123following environment variable:
124    export SDL_AUDIODRIVER=dsp
125
126---------------------------------
127** IPU (Image Processing Unit) **
128---------------------------------
129
130There is no IPU driver yet in this new kernel.
131
132---------------------------
133** CPU frequency scaling **
134---------------------------
135
136CPU frequency scaling is now default enabled. Have a look at the stuff
137in /sys/devices/system/cpu/cpu0/cpufreq/. Default governor is "userspace".
138It is untested, and anyway at the moment you can only REDUCE the CPU
139frequency below the 336MHz set by the boot hardware initialization code
140(in hwinit if you're booting vía USB boot).
141
142-------------
143** Battery **
144-------------
145
146You can read the battery status from the following file:
147    /sys/class/power_supply/battery/capacity
148It contains a percentage: 0 is empty and 100 is full.
149
150The /proc/jz interface of the old kernel is no longer supported. The new
151interface is platform independent, so using it will improve the portability
152of your applications.
153
154-------------------
155** LCD backlight **
156-------------------
157
158You can change the LCD backlight level by writing a value between 0 (off)
159and 255 (max) to:
160    /sys/class/backlight/pwm-backlight/brightness
161
162-------------------
163** Miscellaneous **
164-------------------
165
166Lots of JZ4740 hardware support is disabled. Not because it doesn't
167work but because it is untested. Enable it at your own risk.
168
169

Archive Download this file



interactive