Merge branch 'master' of sudoman/libreCMC-wiki into master
[librecmc/librecmc-wiki.git] / Ben Nanonote.md
1 \r
2 == Overview ==\r
3 \r
4 * [http://en.ingenic.cn/product.aspx?ID=60 JZ4720] 336 MHz MIPS compatible processor from [http://www.ingenic.cn Ingenic Semiconductor Co.]\r
5 \r
6 * 3.0" 320x240 pixels [[LCD|colour TFT LCD]] (40x15 character in a text console)\r
7 \r
8 * 32MB [[SDRAM]] \r
9 \r
10 * 2GB [[NAND|NAND Flash]] Memory\r
11 \r
12 * 1 [[SD|microSDHC]] slot (SDIO capable)\r
13 \r
14 * 59 keys Keyboard\r
15 \r
16 * Stereo headphones connector, mono speaker and microphone [[Audio_IN_OUT|audio interfaces]].\r
17 \r
18 * [http://wiki.qi-hardware.com/wiki/USB_host USB] 2.0 High-Speed Device, [http://en.wikipedia.org/wiki/USB#Connector_types Mini B] connector\r
19 \r
20 * 3.7V 850mAh Li-ion Battery ( [[Compatible_batteries|Compatible batteries]]) and 5V 500mA [[Power_Supply_Circuit|DC input through USB port]]\r
21 \r
22 * Measured battery life time, idle, screen off: 12h59\r
23 \r
24 * Overall dimension (lid closed): 99 * 75 * 17.5mm. (display: 7.5mm, keyboard: 10mm)\r
25 \r
26 * Weight: 126g (includes battery)\r
27 \r
28 == Status ==\r
29 \r
30 * Flashing bootloader, kernel, and rootfs via USB works.\r
31 * Serial console via GND/RXD/TXD pads under the battery works.\r
32 * LCD works\r
33 ** After a few minutes of inactivity on the console, it will go blank. Pressing any key brings it back.\r
34 * Keyboard works\r
35 * Audio/ALSA works.\r
36 * ...\r
37 \r
38 == Pinouts ==\r
39 \r
40 PCB 08.50 (ben)\r
41 \r
42 '''Micro-SD pins on testpads:'''\r
43 \r
44  Pin  TP     note\r
45  ------------------\r
46  #1   TP14   data2\r
47  #2   TP15   cd/data3 / _CS\r
48  #3   TP17   cmd / mosi\r
49  #4   sdVCC  switched by Q4 (fet?) controlled via line from cpu (on TP11)\r
50  #5   TP16   clock\r
51  #6   GND\r
52  #7   TP12   data0 / miso\r
53  #8   TP13   data1\r
54 \r
55 '''Serial pins:'''\r
56 \r
57 See [[Ben_source_code#serial_console]].\r
58 \r
59 == System information ==\r
60 \r
61  $ '''cat /proc/cpuinfo'''\r
62  system type             : JZ4740\r
63  processor               : 0\r
64  cpu model               : Ingenic JZRISC V4.15\r
65  BogoMIPS                : 335.05\r
66  wait instruction        : yes                                                   \r
67  microsecond timers      : no                                                    \r
68  tlb_entries             : 32                                                    \r
69  extra interrupt vector  : yes                                                   \r
70  hardware watchpoint     : yes, count: 1, address/irw mask: [0x0fff]             \r
71  ASEs implemented        :                                                       \r
72  shadow register sets    : 1                                                     \r
73  core                    : 0                                                     \r
74  VCED exceptions         : not available                                         \r
75  VCEI exceptions         : not available                                         \r
76 \r
77  $ '''cat /proc/mtd'''\r
78  dev:    size   erasesize  name\r
79  mtd0: 00400000 00080000 "NAND BOOT partition"\r
80  mtd1: 00400000 00080000 "NAND KERNEL partition"\r
81  mtd2: 20000000 00080000 "NAND ROOTFS partition"\r
82  mtd3: 5f800000 00080000 "NAND DATA partition"\r
83 \r
84  $ '''uname -a'''\r
85  Linux BenNanoNote 2.6.32.27 #1 PREEMPT Sat Mar 5 03:54:50 MSK 2011 mips GNU/Linux\r
86 \r
87  $ '''cat /proc/iomem'''\r
88  00000000-01ffffff : System RAM\r
89    00010000-0031162b : Kernel code\r
90    0031162c-0040877f : Kernel data\r
91  10003000-10003037 : jz4740-rtc\r
92    10003000-10003037 : jz4740-rtc\r
93  10020000-10020037 : jz4740-i2s\r
94    10020000-10020037 : jz4740-i2s\r
95  10020080-10020087 : jz4740-codec\r
96    10020080-10020087 : jz4740-codec\r
97  10021000-10030fff : jz4740-mmc.0\r
98    10021000-10030fff : jz4740-mmc\r
99  10070000-10070030 : jz4740-adc\r
100    10070000-10070030 : jz4740-adc\r
101  13010000-1301ffff : jz4740-nand.0\r
102    13010000-1301ffff : jz4740-nand\r
103  13030000-1303ffff : jz-ohci.0\r
104  13040000-1304ffff : jz-udc\r
105    13040000-1304ffff : jz-udc\r
106  13050000-1305ffff : jz4740-fb\r
107    13050000-1305ffff : jz4740-fb\r
108 \r
109  $ '''cat /proc/interrupts'''\r
110            CPU0       \r
111    2:      33611            MIPS  JZ4740 cascade interrupt\r
112   17:         20            INTC  serial\r
113   20:         56            INTC  jz4740-adc\r
114   22:         47            INTC  MMC/SD\r
115   23:          0            INTC  jz4740-rtc\r
116   28:          0            INTC  DMA\r
117   31:      32374            INTC  jz4740-timerirq\r
118   32:        527            INTC  jz-udc\r
119  147:          0     GPIO Bank C  jz4740-battery\r
120  152:          0     GPIO Bank D  MMC/SD detect changed\r
121  170:          0     GPIO Bank D  matrix-keypad\r
122  171:         94     GPIO Bank D  matrix-keypad\r
123  172:         77     GPIO Bank D  matrix-keypad\r
124  173:         17     GPIO Bank D  matrix-keypad\r
125  174:        151     GPIO Bank D  matrix-keypad\r
126  175:         13     GPIO Bank D  matrix-keypad\r
127  176:        235     GPIO Bank D  matrix-keypad\r
128  178:          0     GPIO Bank D  matrix-keypad\r
129  180:          0     GPIO Bank D  gpio-charger.0\r
130  181:          0     GPIO Bank D  Power\r
131  ERR:          0\r
132 \r
133 == GPIO pins ==\r
134 \r
135 The Jz4720 has only a limited number of pins as outputs to the board.  Furthermore, several functions take up gpio pins which are therefore not usable for other functions.  Those devices are the sdram and nand controller, lcd controller and mmc+sd controller.  Below is a table showing how they are used.  Please complete this table.  The missing entries are not connected to a pad in the Jz4720.\r
136 \r
137 '''Port A:'''\r
138 * 01      sdram data 0\r
139 * 03      sdram data 1\r
140 * 05      sdram data 2\r
141 * 07      sdram data 3\r
142 * 08      sdram data 4\r
143 * 09      sdram data 5\r
144 * 10      sdram data 6\r
145 * 11      sdram data 7\r
146 * 12      sdram data 8\r
147 * 13      sdram data 9\r
148 * 15      sdram data 10\r
149 * 17      sdram data 11\r
150 * 22      sdram data 12\r
151 * 26      sdram data 13\r
152 * 28      sdram data 14\r
153 * 30      sdram data 15\r
154 \r
155 '''Port B:'''\r
156 * 00      sdram address 0\r
157 * 01      sdram address 1\r
158 * 02      sdram address 2\r
159 * 03      sdram address 3\r
160 * 04      sdram address 4\r
161 * 05      sdram address 5\r
162 * 06      sdram address 6\r
163 * 07      sdram address 7\r
164 * 08      sdram address 8\r
165 * 09      sdram address 9\r
166 * 10      sdram address 10\r
167 * 11      sdram address 11\r
168 * 12      sdram address 12\r
169 * 13      sdram address 13\r
170 * 14      sdram address 14\r
171 * 15      nand command latch\r
172 * 16      nand address latch\r
173 * 17      not connected (was marked "SHDN_HOST???", but schematic disagrees)\r
174 * 18      TP23 (free)\r
175 * 19      sdram dcs\r
176 * 20      sdram ras\r
177 * 21      sdram cas\r
178 * 22      sdram write enable\r
179 * 23      sdram cke\r
180 * 24      sdram cko\r
181 * 25      sdram cs1\r
182 * 26      sdram cs2\r
183 * 27      not connected (was marked "USB ID", but schematic disagrees)\r
184 * 28      not connected\r
185 * 29      Audio output enable (anti-pop control)\r
186 * 30      TP25 (free)\r
187 * 31      sdram write enable 0\r
188 \r
189 '''Port C:'''\r
190 * 00      lcd data 0\r
191 * 01      lcd data 1\r
192 * 02      lcd data 2\r
193 * 03      lcd data 3\r
194 * 04      lcd data 4\r
195 * 05      lcd data 5\r
196 * 06      lcd data 6\r
197 * 07      lcd data 7\r
198 * 08      TP 35 (free)\r
199 * 09      TP 36 (free)\r
200 * 10      keyboard out 1, TP59\r
201 * 11      keyboard out 2, TP60\r
202 * 12      keyboard out 3, TP61\r
203 * 13      keyboard out 4, TP62\r
204 * 14      keyboard out 5, TP63\r
205 * 15      keyboard out 6, TP64\r
206 * 16      keyboard out 7, TP65\r
207 * 17      keyboard out 8, TP66\r
208 * 18      lcd pixel clock\r
209 * 19      lcd hsync\r
210 * 20      lcd vsync\r
211 * 21      lcd SPI chipselect\r
212 * 22      lcd SPI data\r
213 * 23      lcd SPI clock\r
214 * 24      sdram write enable 1\r
215 * 27      Charge detect (analog input to read battery voltage).\r
216 * 28      nand read enable\r
217 * 29      nand write enable\r
218 * 30      nand flash ready/busy\r
219 * 31      not connected to a pad; PCSEL31 selects jtag (PCSEL31==0) or uart0 (PCSEL31==1) on pad 147(TxD)+148(RxD) (TP5+TP4).\r
220 \r
221 '''Port D:'''\r
222 * 00      SD Card detect\r
223 * 02      SD Card power enable\r
224 * 04      Speaker AMP enable (no audio unless this output is pulled low).\r
225 * 06      Low power indicator (if 0, battery power is low).\r
226 * 08      SD Card command\r
227 * 09      SD Card clock\r
228 * 10      SD Card data 1\r
229 * 11      SD Card data 2\r
230 * 12      SD Card data 3\r
231 * 13      SD Card data 4\r
232 * 15      TP 38 (free)\r
233 * 18      Keyboard in 1, TP67\r
234 * 19      Keyboard in 2, TP68\r
235 * 20      Keyboard in 3, TP69\r
236 * 21      Keyboard in 4, TP70\r
237 * 22      Keyboard in 5, TP71\r
238 * 23      Keyboard in 6, TP72\r
239 * 24      Keyboard in 7, TP73\r
240 * 25      uart0 transmit, TP75\r
241 * 26      Keyboard in 8 (uart0 receive), TP74\r
242 * 27      Buzzer, controlled with pwm4.  Piezo-electric buzzer; not related to soundcard output.\r
243 * 28      USB detect (0 if usb power is present).\r
244 * 29      power button (0 if pressed).\r
245 \r
246 === Sorted by function ===\r
247 * buzzer: D27\r
248 * audio: B29, D4\r
249 * power button: D29\r
250 * keyboard: C10, C11, C12, C13, C14, C15, C16, C17, D18, D19, D20, D21, D22, D23, D24, D26(also uart receive)\r
251 * uart: C31, D25, D26(also keyboard), uart is also available on jtag pads TP4+TP5 (without gpio overload).\r
252 * sd/mmc: D0, D2, D8, D9, D10, D11, D12, D13\r
253 * usb: D28\r
254 * battery: C27, D6\r
255 * sdram: A1, A3, A5, A7, A8, A9, A10, A11, A12, A13, A15, A17, A22, A26, A28, A30, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B19, B10, B21, B22, B23, B24, B25, B26, B31, C24\r
256 * nand: B15, B16, C28, C29, C30\r
257 * lcd: C0, C1, C2, C3, C4, C5, C6, C7, C18, C19, C20, C21, C22, C23\r
258 * only test points: B18, B30, C8, C9, D15\r
259 * unconnected pads: B17, B27, B28\r
260 \r
261 [[Category:Ben NanoNote]]\r
262 \r
263 This content is dual licensed under CC-BY-SA and GFDL and was obtained from [http://en.qi-hardware.com/wiki/Hardware-Ben](http://en.qi-hardware.com/wiki/Hardware-Ben)\r