Date: | 2010-04-18 22:04:58 (13 years 11 months ago) |
---|---|
Author: | Maarten ter Huurne |
Commit: | 5ef09a31ab68d60c0b2af309c035398a4aa2e817 |
Message: | README from booboo with "History" and
"Contributing" added as new sections. |
Files: |
README-A320 (1 diff) |
Change Details
README-A320 | ||
---|---|---|
1 | ||
2 | Linux for the Dingoo A320 | |
3 | ||
4 | ------------- | |
5 | ** History ** | |
6 | ------------- | |
7 | ||
8 | The initial port of Linux 2.6.24.3 to the A320 was done by Ignacio Garcia Perez | |
9 | aka 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 | ||
13 | The OpenDingux tree is a merge between booboo's patches and the qi-kernel tree | |
14 | from Qi Hardware. This tree is kept up-to-date with the mainline kernel and | |
15 | the latest drivers from Ingenic. | |
16 | http://projects.qi-hardware.com/index.php/p/qi-kernel/ | |
17 | ||
18 | ------------------ | |
19 | ** Contributing ** | |
20 | ------------------ | |
21 | ||
22 | You can find the latest code on github: | |
23 | http://github.com/mthuurne/opendingux-kernel | |
24 | ||
25 | Developers can be found on the #dingoonity channel on freenode IRC: | |
26 | irc://irc.freenode.net/dingoonity | |
27 | ||
28 | ---------------- | |
29 | ** Quickstart ** | |
30 | ---------------- | |
31 | ||
32 | Use "make a320_defconfig" for a default configuration (LCD driver ILI9325). | |
33 | ||
34 | If your A320 is one of the newer models, you must change the LCD driver | |
35 | to ILI9331: | |
36 | ||
37 | Device drivers | |
38 | |---Graphics support | |
39 | |---Support for framebuffer devices | |
40 | |---SLCD panel | |
41 | ||
42 | -------------- | |
43 | ** Keyboard ** | |
44 | -------------- | |
45 | ||
46 | The keyboard driver has been completely rewritten now using the polled | |
47 | input device code. The standard keyboard map is as follows: | |
48 | ||
49 | D-pad up KEY_UP KEY_VOLUMEUP 's' | |
50 | D-pad down KEY_DOWN KEY_VOLUMEDOWN 'u' | |
51 | D-pad left KEY_LEFT KEY_BRIGHTNESSDOWN 'e' | |
52 | D-pad right KEY_RIGHT KEY_BRIGHTNESSUP 'i' | |
53 | A button KEY_LEFTCTRL | |
54 | B button KEY_LEFTATL | |
55 | X button KEY_SPACE | |
56 | Y button KEY_LEFTSHIFT | |
57 | Left shoulder KEY_TAB KEY_EXIT | |
58 | Right shoulder KEY_BACKSPACE | |
59 | START button KEY_ENTER | |
60 | SELECT button KEY_ESC KEY_MENU 'b' | |
61 | ||
62 | The second column is the generated keycode when the button is pressed normally. | |
63 | The third column is the generated keycode when the button is pressed while the | |
64 | power slider is pressed too. | |
65 | The fourth column is the generated system request when the button is pressed | |
66 | while both the power slider and the START button are pressed: | |
67 | ||
68 | 's' Emergency sync of all discs. | |
69 | 'u' Remount all discs read-only. | |
70 | 'e' Send SIGTERM to all processes except init. | |
71 | 'i' Send SIGKILL to all processes except init. | |
72 | 'b' Reboot immediately. | |
73 | ||
74 | For example, to reboot the console syncing all disces and mounting read-only, | |
75 | press and hold POWER, press and hold START, and press secuentially UP, DOWN | |
76 | and SELECT. Note that SELECT is also used in dual-boot to select linux boot, | |
77 | so if you hold SELECT pressed at the end of the previous sequence, you should | |
78 | reboot back into linux. | |
79 | ||
80 | Note that the POWER + key combinations are selected to enable an user space | |
81 | daemon handle the volume, LCD bightness, and perhaps an on-screen keyboard. | |
82 | ||
83 | If you hold the power slider pressed alone this is what will happen: | |
84 | - After two seconds a KEY_POWER key press and release will be generated. | |
85 | - After five seconds, an inmediate reboot will happen. | |
86 | ||
87 | This is subject to change when hardware powerdown or idle support works. | |
88 | ||
89 | I did my best to come up with a clever and useful keyboard map, but if you | |
90 | have any suggestions, please do not hesitate to contact me. | |
91 | ||
92 | ----------- | |
93 | ** Sound ** | |
94 | ----------- | |
95 | ||
96 | Sound driver is still OSS. It's quite buggy, but stick to S16 sample | |
97 | format and everything should be ok. | |
98 | ||
99 | --------------------------------- | |
100 | ** IPU (Image Processing Unit) ** | |
101 | --------------------------------- | |
102 | ||
103 | IPU (Image Processing Unit) memory reservation at startup is disabled | |
104 | (saves 4MB). If you intend to test video playing, you might want to | |
105 | enable it: | |
106 | ||
107 | General setup | |
108 | |---Configure standard kernel features (for small sytems) | |
109 | |---Reserve memory for IPU on Ingenic JZ4740 SOC | |
110 | ||
111 | --------------------------- | |
112 | ** CPU frequency scaling ** | |
113 | --------------------------- | |
114 | ||
115 | CPU frequency scaling is now default enabled. Have a look at the stuff | |
116 | in /sys/devices/system/cpu/cpu0/cpufreq/. Default governor is "userspace". | |
117 | It is untested, and anyway at the moment you can only REDUCE the CPU | |
118 | frequency below the 336MHz set by the boot hardware initialization code | |
119 | (in hwinit if you're booting vía USB boot). | |
120 | ||
121 | ------------- | |
122 | ** Battery ** | |
123 | ------------- | |
124 | ||
125 | You can read the battery status by reading from /proc/jz/battery. You will | |
126 | read a single line with a decimal value which is the battery voltage in | |
127 | millivolts. | |
128 | ||
129 | We want a platform independent way of reading the battery status, and thus | |
130 | we need something like a percentage of full battery charge. When this and | |
131 | other info reading is implemented, it will be available in the second and | |
132 | further lines read from /proc/jz/battery. | |
133 | ||
134 | ------------------- | |
135 | ** LCD backlight ** | |
136 | ------------------- | |
137 | ||
138 | You can change the LCD backlight level by using the FBIOSETBACKLIGHT ioctl | |
139 | command on the /dev/fb0 interface or by writing to /proc/jz/lcd_backlight. | |
140 | I recommend the later method since the first requires kernel headers, | |
141 | which Ingenic didn't event bother to place in the right place (the ioctl | |
142 | defintions are in drivers/video/jz4740_slcd.h). | |
143 | ||
144 | Write a value between 0 and 100. | |
145 | ||
146 | Note: the relation between the value and the luminosity is not linear. | |
147 | This is likely to be fixed some day. | |
148 | ||
149 | ------------------- | |
150 | ** Miscellaneous ** | |
151 | ------------------- | |
152 | ||
153 | Lots of JZ4740 hardware support is disabled. Not because it doesn't | |
154 | work but because it is untested. Enable it at your own risk. | |
155 |
Branches:
ben-wpan
ben-wpan-stefan
5396a9238205f20f811ea57898980d3ca82df0b6
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9