summaryrefslogtreecommitdiff
path: root/firmware/target/arm
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm')
-rw-r--r--firmware/target/arm/as3525/button-e200v2-fuze.c2
-rw-r--r--firmware/target/arm/imx31/gigabeat-s/system-imx31.c64
-rw-r--r--firmware/target/arm/imx31/gigabeat-s/system-target.h34
-rw-r--r--firmware/target/arm/imx31/sdma_script_code.h450
-rw-r--r--firmware/target/arm/imx31/sdma_struct.h4
-rw-r--r--firmware/target/arm/iriver/h10/lcd-h10_20gb.c2
-rw-r--r--firmware/target/arm/philips/hdd1630/powermgmt-hdd1630.c4
-rw-r--r--firmware/target/arm/s3c2440/gigabeat-fx/ata-meg-fx.c4
-rw-r--r--firmware/target/arm/s3c2440/mini2440/pcm-mini2440.c4
-rw-r--r--firmware/target/arm/s5l8700/ipodnano2g/nand-target.h2
-rw-r--r--firmware/target/arm/s5l8700/meizu-m3/nand-target.h2
-rw-r--r--firmware/target/arm/s5l8700/meizu-m6sp/nand-target.h2
-rw-r--r--firmware/target/arm/samsung/yh925/lcd-yh925.c2
-rw-r--r--firmware/target/arm/tcc77x/c100/button-c100.c2
-rw-r--r--firmware/target/arm/tcc77x/c100/lcd-S6B33B2.c6
-rw-r--r--firmware/target/arm/tcc77x/system-tcc77x.c12
-rw-r--r--firmware/target/arm/tms320dm320/creative-zvm/usb-creativezvm.c4
-rw-r--r--firmware/target/arm/tms320dm320/debug-dm320.c26
-rw-r--r--firmware/target/arm/tms320dm320/dsp/arm.c40
-rw-r--r--firmware/target/arm/tms320dm320/dsp/dma.c330
-rw-r--r--firmware/target/arm/tms320dm320/dsp/dsp-image.h14
-rw-r--r--firmware/target/arm/tms320dm320/dsp_image_helloworld.h2
-rw-r--r--firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c192
-rw-r--r--firmware/target/arm/tms320dm320/mrobe-500/power-mr500.c10
-rw-r--r--firmware/target/arm/usb-drv-arc.c2
-rw-r--r--firmware/target/arm/usb-s3c6400x.c6
26 files changed, 611 insertions, 611 deletions
diff --git a/firmware/target/arm/as3525/button-e200v2-fuze.c b/firmware/target/arm/as3525/button-e200v2-fuze.c
index ef343b5514..157cdd02a3 100644
--- a/firmware/target/arm/as3525/button-e200v2-fuze.c
+++ b/firmware/target/arm/as3525/button-e200v2-fuze.c
@@ -61,7 +61,7 @@ extern bool lcd_button_support(void);
61 61
62void button_init_device(void) 62void button_init_device(void)
63{ 63{
64 GPIOA_DIR |= (1<<1); 64 GPIOA_DIR |= (1<<1);
65 GPIOA_PIN(1) = (1<<1); 65 GPIOA_PIN(1) = (1<<1);
66} 66}
67 67
diff --git a/firmware/target/arm/imx31/gigabeat-s/system-imx31.c b/firmware/target/arm/imx31/gigabeat-s/system-imx31.c
index de39128497..65299cb8d0 100644
--- a/firmware/target/arm/imx31/gigabeat-s/system-imx31.c
+++ b/firmware/target/arm/imx31/gigabeat-s/system-imx31.c
@@ -250,48 +250,48 @@ void system_prepare_fw_start(void)
250 250
251inline void dumpregs(void) 251inline void dumpregs(void)
252{ 252{
253 asm volatile ("mov %0,r0\n\t" 253 asm volatile ("mov %0,r0\n\t"
254 "mov %1,r1\n\t" 254 "mov %1,r1\n\t"
255 "mov %2,r2\n\t" 255 "mov %2,r2\n\t"
256 "mov %3,r3": 256 "mov %3,r3":
257 "=r"(regs.r0),"=r"(regs.r1), 257 "=r"(regs.r0),"=r"(regs.r1),
258 "=r"(regs.r2),"=r"(regs.r3):); 258 "=r"(regs.r2),"=r"(regs.r3):);
259 259
260 asm volatile ("mov %0,r4\n\t" 260 asm volatile ("mov %0,r4\n\t"
261 "mov %1,r5\n\t" 261 "mov %1,r5\n\t"
262 "mov %2,r6\n\t" 262 "mov %2,r6\n\t"
263 "mov %3,r7": 263 "mov %3,r7":
264 "=r"(regs.r4),"=r"(regs.r5), 264 "=r"(regs.r4),"=r"(regs.r5),
265 "=r"(regs.r6),"=r"(regs.r7):); 265 "=r"(regs.r6),"=r"(regs.r7):);
266 266
267 asm volatile ("mov %0,r8\n\t" 267 asm volatile ("mov %0,r8\n\t"
268 "mov %1,r9\n\t" 268 "mov %1,r9\n\t"
269 "mov %2,r10\n\t" 269 "mov %2,r10\n\t"
270 "mov %3,r12": 270 "mov %3,r12":
271 "=r"(regs.r8),"=r"(regs.r9), 271 "=r"(regs.r8),"=r"(regs.r9),
272 "=r"(regs.r10),"=r"(regs.r11):); 272 "=r"(regs.r10),"=r"(regs.r11):);
273 273
274 asm volatile ("mov %0,r12\n\t" 274 asm volatile ("mov %0,r12\n\t"
275 "mov %1,sp\n\t" 275 "mov %1,sp\n\t"
276 "mov %2,lr\n\t" 276 "mov %2,lr\n\t"
277 "mov %3,pc\n" 277 "mov %3,pc\n"
278 "sub %3,%3,#8": 278 "sub %3,%3,#8":
279 "=r"(regs.r12),"=r"(regs.sp), 279 "=r"(regs.r12),"=r"(regs.sp),
280 "=r"(regs.lr),"=r"(regs.pc):); 280 "=r"(regs.lr),"=r"(regs.pc):);
281#ifdef HAVE_SERIAL 281#ifdef HAVE_SERIAL
282 dprintf("Register Dump :\n"); 282 dprintf("Register Dump :\n");
283 dprintf("R0=0x%x\tR1=0x%x\tR2=0x%x\tR3=0x%x\n",regs.r0,regs.r1,regs.r2,regs.r3); 283 dprintf("R0=0x%x\tR1=0x%x\tR2=0x%x\tR3=0x%x\n",regs.r0,regs.r1,regs.r2,regs.r3);
284 dprintf("R4=0x%x\tR5=0x%x\tR6=0x%x\tR7=0x%x\n",regs.r4,regs.r5,regs.r6,regs.r7); 284 dprintf("R4=0x%x\tR5=0x%x\tR6=0x%x\tR7=0x%x\n",regs.r4,regs.r5,regs.r6,regs.r7);
285 dprintf("R8=0x%x\tR9=0x%x\tR10=0x%x\tR11=0x%x\n",regs.r8,regs.r9,regs.r10,regs.r11); 285 dprintf("R8=0x%x\tR9=0x%x\tR10=0x%x\tR11=0x%x\n",regs.r8,regs.r9,regs.r10,regs.r11);
286 dprintf("R12=0x%x\tSP=0x%x\tLR=0x%x\tPC=0x%x\n",regs.r12,regs.sp,regs.lr,regs.pc); 286 dprintf("R12=0x%x\tSP=0x%x\tLR=0x%x\tPC=0x%x\n",regs.r12,regs.sp,regs.lr,regs.pc);
287 //dprintf("CPSR=0x%x\t\n",regs.cpsr); 287 //dprintf("CPSR=0x%x\t\n",regs.cpsr);
288#endif 288#endif
289 DEBUGF("Register Dump :\n"); 289 DEBUGF("Register Dump :\n");
290 DEBUGF("R0=0x%x\tR1=0x%x\tR2=0x%x\tR3=0x%x\n",regs.r0,regs.r1,regs.r2,regs.r3); 290 DEBUGF("R0=0x%x\tR1=0x%x\tR2=0x%x\tR3=0x%x\n",regs.r0,regs.r1,regs.r2,regs.r3);
291 DEBUGF("R4=0x%x\tR5=0x%x\tR6=0x%x\tR7=0x%x\n",regs.r4,regs.r5,regs.r6,regs.r7); 291 DEBUGF("R4=0x%x\tR5=0x%x\tR6=0x%x\tR7=0x%x\n",regs.r4,regs.r5,regs.r6,regs.r7);
292 DEBUGF("R8=0x%x\tR9=0x%x\tR10=0x%x\tR11=0x%x\n",regs.r8,regs.r9,regs.r10,regs.r11); 292 DEBUGF("R8=0x%x\tR9=0x%x\tR10=0x%x\tR11=0x%x\n",regs.r8,regs.r9,regs.r10,regs.r11);
293 DEBUGF("R12=0x%x\tSP=0x%x\tLR=0x%x\tPC=0x%x\n",regs.r12,regs.sp,regs.lr,regs.pc); 293 DEBUGF("R12=0x%x\tSP=0x%x\tLR=0x%x\tPC=0x%x\n",regs.r12,regs.sp,regs.lr,regs.pc);
294 //DEBUGF("CPSR=0x%x\t\n",regs.cpsr); 294 //DEBUGF("CPSR=0x%x\t\n",regs.cpsr);
295 295
296 } 296 }
297 297
diff --git a/firmware/target/arm/imx31/gigabeat-s/system-target.h b/firmware/target/arm/imx31/gigabeat-s/system-target.h
index 26fb5172b2..b859093c58 100644
--- a/firmware/target/arm/imx31/gigabeat-s/system-target.h
+++ b/firmware/target/arm/imx31/gigabeat-s/system-target.h
@@ -58,23 +58,23 @@ void imx31_regclr32(volatile uint32_t *reg_p, uint32_t mask);
58#define KDEV_INIT 58#define KDEV_INIT
59 59
60struct ARM_REGS { 60struct ARM_REGS {
61 int r0; 61 int r0;
62 int r1; 62 int r1;
63 int r2; 63 int r2;
64 int r3; 64 int r3;
65 int r4; 65 int r4;
66 int r5; 66 int r5;
67 int r6; 67 int r6;
68 int r7; 68 int r7;
69 int r8; 69 int r8;
70 int r9; 70 int r9;
71 int r10; 71 int r10;
72 int r11; 72 int r11;
73 int r12; 73 int r12;
74 int sp; 74 int sp;
75 int lr; 75 int lr;
76 int pc; 76 int pc;
77 int cpsr; 77 int cpsr;
78} regs; 78} regs;
79 79
80inline void dumpregs(void); 80inline void dumpregs(void);
diff --git a/firmware/target/arm/imx31/sdma_script_code.h b/firmware/target/arm/imx31/sdma_script_code.h
index 1e75267a76..9a5f4933dd 100644
--- a/firmware/target/arm/imx31/sdma_script_code.h
+++ b/firmware/target/arm/imx31/sdma_script_code.h
@@ -31,7 +31,7 @@
31/*! 31/*!
32* Following define start address of start script 32* Following define start address of start script
33*/ 33*/
34#define start_ADDR_1 0 34#define start_ADDR_1 0
35/*! 35/*!
36* Following define size of start script 36* Following define size of start script
37*/ 37*/
@@ -359,230 +359,230 @@
359static __attribute__((aligned(4), section(".sdmacode"))) 359static __attribute__((aligned(4), section(".sdmacode")))
360 const short sdma_code_1[RAM_CODE_SIZE_1] = 360 const short sdma_code_1[RAM_CODE_SIZE_1] =
361{ 361{
362 0xc0ec, 0x7d59, 0x0970, 0x0111, 0x5111, 0x5ad1, 0x5bd9, 0xc0fe, 362 0xc0ec, 0x7d59, 0x0970, 0x0111, 0x5111, 0x5ad1, 0x5bd9, 0xc0fe,
363 0x5ce1, 0x7d02, 0x0200, 0x9806, 0x08ff, 0x0011, 0x28ff, 0x00bc, 363 0x5ce1, 0x7d02, 0x0200, 0x9806, 0x08ff, 0x0011, 0x28ff, 0x00bc,
364 0x05df, 0x7d4b, 0x06df, 0x7d2f, 0x6dc5, 0x6ed5, 0x5ef1, 0x0288, 364 0x05df, 0x7d4b, 0x06df, 0x7d2f, 0x6dc5, 0x6ed5, 0x5ef1, 0x0288,
365 0xd81a, 0x9854, 0x0b04, 0x00d3, 0x7d20, 0x06a5, 0x3e03, 0x3d03, 365 0xd81a, 0x9854, 0x0b04, 0x00d3, 0x7d20, 0x06a5, 0x3e03, 0x3d03,
366 0x03a5, 0x3b03, 0x008b, 0x058b, 0x7802, 0x63d8, 0x0000, 0x7e72, 366 0x03a5, 0x3b03, 0x008b, 0x058b, 0x7802, 0x63d8, 0x0000, 0x7e72,
367 0x63ff, 0x7e70, 0x02a5, 0x008a, 0x4e00, 0x7d01, 0x983d, 0x6dcf, 367 0x63ff, 0x7e70, 0x02a5, 0x008a, 0x4e00, 0x7d01, 0x983d, 0x6dcf,
368 0x6edf, 0x0015, 0x0015, 0x7802, 0x63d8, 0x0000, 0x7e63, 0x63ff, 368 0x6edf, 0x0015, 0x0015, 0x7802, 0x63d8, 0x0000, 0x7e63, 0x63ff,
369 0x7e61, 0x3a03, 0x008a, 0x6dcd, 0x6edd, 0x7801, 0x63d8, 0x7e5a, 369 0x7e61, 0x3a03, 0x008a, 0x6dcd, 0x6edd, 0x7801, 0x63d8, 0x7e5a,
370 0x63ff, 0x7e58, 0x0006, 0x6dc5, 0x6e07, 0x5ef1, 0x0288, 0xd8f7, 370 0x63ff, 0x7e58, 0x0006, 0x6dc5, 0x6e07, 0x5ef1, 0x0288, 0xd8f7,
371 0x7e02, 0x7f04, 0x9854, 0x0007, 0x68cc, 0x6b28, 0x54e1, 0x0089, 371 0x7e02, 0x7f04, 0x9854, 0x0007, 0x68cc, 0x6b28, 0x54e1, 0x0089,
372 0xdb13, 0x0188, 0x5ce1, 0x9854, 0x52d1, 0x53d9, 0x54e1, 0xc10d, 372 0xdb13, 0x0188, 0x5ce1, 0x9854, 0x52d1, 0x53d9, 0x54e1, 0xc10d,
373 0x7dad, 0x0200, 0x9800, 0x0200, 0x9800, 0x06df, 0x7d06, 0x6d23, 373 0x7dad, 0x0200, 0x9800, 0x0200, 0x9800, 0x06df, 0x7d06, 0x6d23,
374 0x6ed5, 0x5ef1, 0x0288, 0xd8cd, 0x9854, 0x5ef1, 0x6e07, 0x6d03, 374 0x6ed5, 0x5ef1, 0x0288, 0xd8cd, 0x9854, 0x5ef1, 0x6e07, 0x6d03,
375 0x0b04, 0x00d3, 0x7d59, 0x06a5, 0x3e03, 0x3d03, 0x4d00, 0x7d09, 375 0x0b04, 0x00d3, 0x7d59, 0x06a5, 0x3e03, 0x3d03, 0x4d00, 0x7d09,
376 0x03a5, 0x00a3, 0x0588, 0x008b, 0xd8c9, 0x7ed8, 0x620c, 0x7ed6, 376 0x03a5, 0x00a3, 0x0588, 0x008b, 0xd8c9, 0x7ed8, 0x620c, 0x7ed6,
377 0x008d, 0x4e00, 0x7c25, 0x0a20, 0x00da, 0x7c22, 0x6503, 0x3d1f, 377 0x008d, 0x4e00, 0x7c25, 0x0a20, 0x00da, 0x7c22, 0x6503, 0x3d1f,
378 0x02a5, 0x00a2, 0x0215, 0x0215, 0x6a18, 0x6a28, 0x7fc7, 0x0a20, 378 0x02a5, 0x00a2, 0x0215, 0x0215, 0x6a18, 0x6a28, 0x7fc7, 0x0a20,
379 0x0b08, 0x00da, 0x7c06, 0x6b18, 0x6b28, 0x7fc0, 0x0000, 0x2020, 379 0x0b08, 0x00da, 0x7c06, 0x6b18, 0x6b28, 0x7fc0, 0x0000, 0x2020,
380 0x9889, 0x0688, 0x0015, 0x0015, 0x6818, 0x6828, 0x7fb7, 0x98c2, 380 0x9889, 0x0688, 0x0015, 0x0015, 0x6818, 0x6828, 0x7fb7, 0x98c2,
381 0x0007, 0x6a0c, 0x54e1, 0x0089, 0xdb0f, 0x0188, 0x5ce1, 0x9854, 381 0x0007, 0x6a0c, 0x54e1, 0x0089, 0xdb0f, 0x0188, 0x5ce1, 0x9854,
382 0x0b04, 0x00d3, 0x7d21, 0x0389, 0x1b12, 0x048b, 0x0688, 0x0015, 382 0x0b04, 0x00d3, 0x7d21, 0x0389, 0x1b12, 0x048b, 0x0688, 0x0015,
383 0x0015, 0x0588, 0x038c, 0x0a08, 0x05da, 0x008d, 0x7c01, 0x008a, 383 0x0015, 0x0588, 0x038c, 0x0a08, 0x05da, 0x008d, 0x7c01, 0x008a,
384 0x05a0, 0x7803, 0x620b, 0x5a03, 0x1b01, 0x7e98, 0x008b, 0x00a4, 384 0x05a0, 0x7803, 0x620b, 0x5a03, 0x1b01, 0x7e98, 0x008b, 0x00a4,
385 0x038c, 0x7803, 0x5203, 0x6a0b, 0x1b01, 0x6a28, 0x7f8f, 0x0000, 385 0x038c, 0x7803, 0x5203, 0x6a0b, 0x1b01, 0x6a28, 0x7f8f, 0x0000,
386 0x4d00, 0x7ce8, 0x008e, 0x3803, 0xd8c9, 0x7e88, 0x620c, 0x7e86, 386 0x4d00, 0x7ce8, 0x008e, 0x3803, 0xd8c9, 0x7e88, 0x620c, 0x7e86,
387 0x9854, 0x7802, 0x6209, 0x6a29, 0x0006, 0x3e03, 0x4e00, 0x7d11, 387 0x9854, 0x7802, 0x6209, 0x6a29, 0x0006, 0x3e03, 0x4e00, 0x7d11,
388 0x0b04, 0x03a6, 0x02db, 0x7d01, 0x038a, 0x02a3, 0x048a, 0x008b, 388 0x0b04, 0x03a6, 0x02db, 0x7d01, 0x038a, 0x02a3, 0x048a, 0x008b,
389 0x7802, 0x6329, 0x6bc8, 0x7ebc, 0x63c8, 0x7ebc, 0x008c, 0x4800, 389 0x7802, 0x6329, 0x6bc8, 0x7ebc, 0x63c8, 0x7ebc, 0x008c, 0x4800,
390 0x7d15, 0x0488, 0x0015, 0x0015, 0x6edf, 0x7803, 0x632b, 0x6bc8, 390 0x7d15, 0x0488, 0x0015, 0x0015, 0x6edf, 0x7803, 0x632b, 0x6bc8,
391 0x0000, 0x7eae, 0x63c8, 0x7eae, 0x008c, 0x3803, 0x6edd, 0x7803, 391 0x0000, 0x7eae, 0x63c8, 0x7eae, 0x008c, 0x3803, 0x6edd, 0x7803,
392 0x6329, 0x6bc8, 0x0000, 0x7ea4, 0x63c8, 0x7ea4, 0x0006, 0x3d03, 392 0x6329, 0x6bc8, 0x0000, 0x7ea4, 0x63c8, 0x7ea4, 0x0006, 0x3d03,
393 0x4d00, 0x7d0e, 0x0b04, 0x03a5, 0x02db, 0x7d01, 0x038a, 0x02a3, 393 0x4d00, 0x7d0e, 0x0b04, 0x03a5, 0x02db, 0x7d01, 0x038a, 0x02a3,
394 0x048a, 0x008b, 0x7802, 0x63c8, 0x6b09, 0x7e1e, 0x7f1e, 0x008c, 394 0x048a, 0x008b, 0x7802, 0x63c8, 0x6b09, 0x7e1e, 0x7f1e, 0x008c,
395 0x0488, 0x0015, 0x0015, 0x6dcf, 0x0288, 0x008a, 0x0d08, 0x02dd, 395 0x0488, 0x0015, 0x0015, 0x6dcf, 0x0288, 0x008a, 0x0d08, 0x02dd,
396 0x7c01, 0x008d, 0x7802, 0x63c8, 0x6b0b, 0x7e0e, 0x6b28, 0x7f0d, 396 0x7c01, 0x008d, 0x7802, 0x63c8, 0x6b0b, 0x7e0e, 0x6b28, 0x7f0d,
397 0x0000, 0x02dd, 0x7c02, 0x2208, 0x990d, 0x008c, 0x3803, 0x65c0, 397 0x0000, 0x02dd, 0x7c02, 0x2208, 0x990d, 0x008c, 0x3803, 0x65c0,
398 0x6dc5, 0x7802, 0x63c8, 0x6b09, 0x6b28, 0x0006, 0x0870, 0x0011, 398 0x6dc5, 0x7802, 0x63c8, 0x6b09, 0x6b28, 0x0006, 0x0870, 0x0011,
399 0x5010, 0xc0ec, 0x7d5e, 0x5ac0, 0x5bc8, 0x5ef8, 0xc0fe, 0x56f8, 399 0x5010, 0xc0ec, 0x7d5e, 0x5ac0, 0x5bc8, 0x5ef8, 0xc0fe, 0x56f8,
400 0x7d02, 0x0200, 0x992c, 0x6ec3, 0x6d07, 0x5df0, 0x0dff, 0x0511, 400 0x7d02, 0x0200, 0x992c, 0x6ec3, 0x6d07, 0x5df0, 0x0dff, 0x0511,
401 0x1dff, 0x05bc, 0x4d00, 0x7d44, 0x0b70, 0x0311, 0x522b, 0x5313, 401 0x1dff, 0x05bc, 0x4d00, 0x7d44, 0x0b70, 0x0311, 0x522b, 0x5313,
402 0x02b9, 0x4a00, 0x7c04, 0x6a28, 0x7f3a, 0x0400, 0x993c, 0x008f, 402 0x02b9, 0x4a00, 0x7c04, 0x6a28, 0x7f3a, 0x0400, 0x993c, 0x008f,
403 0x00d5, 0x7d01, 0x008d, 0x05a0, 0x0a03, 0x0212, 0x02bc, 0x0210, 403 0x00d5, 0x7d01, 0x008d, 0x05a0, 0x0a03, 0x0212, 0x02bc, 0x0210,
404 0x4a00, 0x7d1c, 0x4a02, 0x7d20, 0x4a01, 0x7d23, 0x0b70, 0x0311, 404 0x4a00, 0x7d1c, 0x4a02, 0x7d20, 0x4a01, 0x7d23, 0x0b70, 0x0311,
405 0x53eb, 0x62c8, 0x7e24, 0x0360, 0x7d02, 0x0210, 0x0212, 0x6a09, 405 0x53eb, 0x62c8, 0x7e24, 0x0360, 0x7d02, 0x0210, 0x0212, 0x6a09,
406 0x7f1e, 0x0212, 0x6a09, 0x7f1b, 0x0212, 0x6a09, 0x7f18, 0x2003, 406 0x7f1e, 0x0212, 0x6a09, 0x7f1b, 0x0212, 0x6a09, 0x7f18, 0x2003,
407 0x4800, 0x7cef, 0x0b70, 0x0311, 0x5313, 0x997d, 0x0015, 0x0015, 407 0x4800, 0x7cef, 0x0b70, 0x0311, 0x5313, 0x997d, 0x0015, 0x0015,
408 0x7802, 0x62c8, 0x6a0b, 0x997c, 0x0015, 0x7802, 0x62c8, 0x6a0a, 408 0x7802, 0x62c8, 0x6a0b, 0x997c, 0x0015, 0x7802, 0x62c8, 0x6a0a,
409 0x997c, 0x7802, 0x62c8, 0x6a09, 0x7c02, 0x0000, 0x993a, 0xdb13, 409 0x997c, 0x7802, 0x62c8, 0x6a09, 0x7c02, 0x0000, 0x993a, 0xdb13,
410 0x6a28, 0x7ffd, 0x008b, 0x52c3, 0x53cb, 0xc10d, 0x7da5, 0x0200, 410 0x6a28, 0x7ffd, 0x008b, 0x52c3, 0x53cb, 0xc10d, 0x7da5, 0x0200,
411 0x992c, 0x0200, 0x9929, 0xc19d, 0xc0ec, 0x7d69, 0x0c70, 0x0411, 411 0x992c, 0x0200, 0x9929, 0xc19d, 0xc0ec, 0x7d69, 0x0c70, 0x0411,
412 0x5414, 0x5ac4, 0x028c, 0x58da, 0x5efa, 0xc0fe, 0x56fa, 0x7d02, 412 0x5414, 0x5ac4, 0x028c, 0x58da, 0x5efa, 0xc0fe, 0x56fa, 0x7d02,
413 0x0200, 0x9994, 0x6d07, 0x5bca, 0x5cd2, 0x0bff, 0x0311, 0x1bff, 413 0x0200, 0x9994, 0x6d07, 0x5bca, 0x5cd2, 0x0bff, 0x0311, 0x1bff,
414 0x04bb, 0x0415, 0x53da, 0x4c00, 0x7d47, 0x0a70, 0x0211, 0x552a, 414 0x04bb, 0x0415, 0x53da, 0x4c00, 0x7d47, 0x0a70, 0x0211, 0x552a,
415 0x5212, 0x008d, 0x00bb, 0x4800, 0x7c07, 0x05b9, 0x4d00, 0x7c13, 415 0x5212, 0x008d, 0x00bb, 0x4800, 0x7c07, 0x05b9, 0x4d00, 0x7c13,
416 0x6928, 0x7f2d, 0x0400, 0x99a5, 0x008f, 0x0015, 0x04d8, 0x7d01, 416 0x6928, 0x7f2d, 0x0400, 0x99a5, 0x008f, 0x0015, 0x04d8, 0x7d01,
417 0x008c, 0x04a0, 0x0015, 0x7802, 0x55c6, 0x6d0b, 0x7e29, 0x6d28, 417 0x008c, 0x04a0, 0x0015, 0x7802, 0x55c6, 0x6d0b, 0x7e29, 0x6d28,
418 0x7f1e, 0x0000, 0x99a3, 0x1e20, 0x5506, 0x2620, 0x008d, 0x0560, 418 0x7f1e, 0x0000, 0x99a3, 0x1e20, 0x5506, 0x2620, 0x008d, 0x0560,
419 0x7c08, 0x065f, 0x55c6, 0x063f, 0x7e1b, 0x6d0a, 0x7f10, 0x4c00, 419 0x7c08, 0x065f, 0x55c6, 0x063f, 0x7e1b, 0x6d0a, 0x7f10, 0x4c00,
420 0x7d1b, 0x04d8, 0x7d02, 0x008c, 0x0020, 0x04a0, 0x0015, 0x7802, 420 0x7d1b, 0x04d8, 0x7d02, 0x008c, 0x0020, 0x04a0, 0x0015, 0x7802,
421 0x55c6, 0x6d0b, 0x7e0d, 0x6d28, 0x7f02, 0x0000, 0x99ec, 0x0007, 421 0x55c6, 0x6d0b, 0x7e0d, 0x6d28, 0x7f02, 0x0000, 0x99ec, 0x0007,
422 0x680c, 0x6d0c, 0x6507, 0x6d07, 0x6d2b, 0x6d28, 0x0007, 0x680c, 422 0x680c, 0x6d0c, 0x6507, 0x6d07, 0x6d2b, 0x6d28, 0x0007, 0x680c,
423 0x0007, 0x54d2, 0x0454, 0x99ef, 0x6928, 0x7ff1, 0x54d2, 0x008a, 423 0x0007, 0x54d2, 0x0454, 0x99ef, 0x6928, 0x7ff1, 0x54d2, 0x008a,
424 0x52c0, 0x53c8, 0xc10d, 0x0288, 0x7d9f, 0x0200, 0x9994, 0x0200, 424 0x52c0, 0x53c8, 0xc10d, 0x0288, 0x7d9f, 0x0200, 0x9994, 0x0200,
425 0x998c, 0xc0ec, 0x7d72, 0x0800, 0x0970, 0x0111, 0x5111, 0x5ac1, 425 0x998c, 0xc0ec, 0x7d72, 0x0800, 0x0970, 0x0111, 0x5111, 0x5ac1,
426 0x5bc9, 0x028e, 0xc0fe, 0x068a, 0x7c6a, 0x5dd9, 0x5ce1, 0x0bff, 426 0x5bc9, 0x028e, 0xc0fe, 0x068a, 0x7c6a, 0x5dd9, 0x5ce1, 0x0bff,
427 0x0311, 0x1bff, 0x03bc, 0x5bd1, 0x1a5c, 0x6ac3, 0x63c8, 0x0363, 427 0x0311, 0x1bff, 0x03bc, 0x5bd1, 0x1a5c, 0x6ac3, 0x63c8, 0x0363,
428 0x7c05, 0x036f, 0x7d27, 0x0374, 0x7c7a, 0x9a71, 0xdb04, 0x3c06, 428 0x7c05, 0x036f, 0x7d27, 0x0374, 0x7c7a, 0x9a71, 0xdb04, 0x3c06,
429 0x4c00, 0x7df7, 0x028f, 0x1a04, 0x6a23, 0x620b, 0x6f23, 0x301f, 429 0x4c00, 0x7df7, 0x028f, 0x1a04, 0x6a23, 0x620b, 0x6f23, 0x301f,
430 0x00aa, 0x0462, 0x7c04, 0x4a00, 0x7d0b, 0x2001, 0x9a30, 0x048a, 430 0x00aa, 0x0462, 0x7c04, 0x4a00, 0x7d0b, 0x2001, 0x9a30, 0x048a,
431 0x620b, 0x2201, 0x1c01, 0x1801, 0x02dc, 0x7d02, 0x301f, 0x00aa, 431 0x620b, 0x2201, 0x1c01, 0x1801, 0x02dc, 0x7d02, 0x301f, 0x00aa,
432 0x048f, 0x1c04, 0x6c07, 0x0488, 0x3c1f, 0x6c2b, 0x0045, 0x028e, 432 0x048f, 0x1c04, 0x6c07, 0x0488, 0x3c1f, 0x6c2b, 0x0045, 0x028e,
433 0x1a5c, 0x9a11, 0x058f, 0x1d0c, 0x6d23, 0x650b, 0x007d, 0x7c01, 433 0x1a5c, 0x9a11, 0x058f, 0x1d0c, 0x6d23, 0x650b, 0x007d, 0x7c01,
434 0x1d08, 0x007c, 0x7c01, 0x1d04, 0x6d23, 0x650b, 0x0488, 0x3c1f, 434 0x1d08, 0x007c, 0x7c01, 0x1d04, 0x6d23, 0x650b, 0x0488, 0x3c1f,
435 0x0417, 0x0417, 0x0417, 0x0417, 0x059c, 0x6d23, 0x028e, 0x1a34, 435 0x0417, 0x0417, 0x0417, 0x0417, 0x059c, 0x6d23, 0x028e, 0x1a34,
436 0x6ad7, 0x0488, 0x0804, 0x7802, 0x650b, 0x6dc8, 0x008c, 0x1a28, 436 0x6ad7, 0x0488, 0x0804, 0x7802, 0x650b, 0x6dc8, 0x008c, 0x1a28,
437 0x6ad7, 0x63c8, 0x034c, 0x6bc8, 0x54d1, 0x4c00, 0x7d06, 0x0065, 437 0x6ad7, 0x63c8, 0x034c, 0x6bc8, 0x54d1, 0x4c00, 0x7d06, 0x0065,
438 0x7c02, 0x0101, 0x0025, 0x0400, 0x9a0d, 0x52c1, 0x53c9, 0x54e1, 438 0x7c02, 0x0101, 0x0025, 0x0400, 0x9a0d, 0x52c1, 0x53c9, 0x54e1,
439 0x0453, 0xc10d, 0x7d95, 0x0200, 0x9a00, 0x0200, 0x99f9, 0x0200, 439 0x0453, 0xc10d, 0x7d95, 0x0200, 0x9a00, 0x0200, 0x99f9, 0x0200,
440 0x9a00, 0x55d9, 0x6d07, 0x54d1, 0x058a, 0x2508, 0x6dc7, 0x0373, 440 0x9a00, 0x55d9, 0x6d07, 0x54d1, 0x058a, 0x2508, 0x6dc7, 0x0373,
441 0x7c03, 0x65c8, 0x6d0b, 0x2408, 0x0372, 0x7c04, 0x65c8, 0x6d0b, 441 0x7c03, 0x65c8, 0x6d0b, 0x2408, 0x0372, 0x7c04, 0x65c8, 0x6d0b,
442 0x2408, 0x9a86, 0x6cce, 0x65c8, 0x6d0a, 0x2404, 0x6d28, 0x6507, 442 0x2408, 0x9a86, 0x6cce, 0x65c8, 0x6d0a, 0x2404, 0x6d28, 0x6507,
443 0x5dd9, 0x5cd1, 0x6ad7, 0x6ae3, 0x63c8, 0x0334, 0x6bc8, 0x0370, 443 0x5dd9, 0x5cd1, 0x6ad7, 0x6ae3, 0x63c8, 0x0334, 0x6bc8, 0x0370,
444 0x7ca9, 0x0c60, 0x0411, 0x04bb, 0x4c00, 0x7da4, 0x0410, 0x1c30, 444 0x7ca9, 0x0c60, 0x0411, 0x04bb, 0x4c00, 0x7da4, 0x0410, 0x1c30,
445 0x0410, 0x04bb, 0x046d, 0x7d0a, 0x047d, 0x7c03, 0x047c, 0x7c01, 445 0x0410, 0x04bb, 0x046d, 0x7d0a, 0x047d, 0x7c03, 0x047c, 0x7c01,
446 0x9a3a, 0x003b, 0x003a, 0x0039, 0x0058, 0x9ab5, 0x047d, 0x7d03, 446 0x9a3a, 0x003b, 0x003a, 0x0039, 0x0058, 0x9ab5, 0x047d, 0x7d03,
447 0x047c, 0x7d01, 0x9a3a, 0x005b, 0xdaf9, 0x1d18, 0x6d23, 0x650b, 447 0x047c, 0x7d01, 0x9a3a, 0x005b, 0xdaf9, 0x1d18, 0x6d23, 0x650b,
448 0x0510, 0x003a, 0x0039, 0x0038, 0x00ad, 0xdb04, 0x0c30, 0x0410, 448 0x0510, 0x003a, 0x0039, 0x0038, 0x00ad, 0xdb04, 0x0c30, 0x0410,
449 0x04bb, 0x003c, 0x003d, 0x00ac, 0xdaf9, 0x007b, 0x7c04, 0x003d, 449 0x04bb, 0x003c, 0x003d, 0x00ac, 0xdaf9, 0x007b, 0x7c04, 0x003d,
450 0x003c, 0x1d0c, 0x9ad6, 0x048f, 0x1c14, 0x6c23, 0x640b, 0x4401, 450 0x003c, 0x1d0c, 0x9ad6, 0x048f, 0x1c14, 0x6c23, 0x640b, 0x4401,
451 0x7d04, 0x005d, 0x005c, 0x1d0c, 0x9ad6, 0x0310, 0x3b30, 0x4b30, 451 0x7d04, 0x005d, 0x005c, 0x1d0c, 0x9ad6, 0x0310, 0x3b30, 0x4b30,
452 0x7d01, 0x1b10, 0x0310, 0x003d, 0x003c, 0x00ab, 0x6ad7, 0x63c8, 452 0x7d01, 0x1b10, 0x0310, 0x003d, 0x003c, 0x00ab, 0x6ad7, 0x63c8,
453 0x6d23, 0x650b, 0x0560, 0x7d03, 0x005e, 0xdaed, 0x9a3a, 0x003e, 453 0x6d23, 0x650b, 0x0560, 0x7d03, 0x005e, 0xdaed, 0x9a3a, 0x003e,
454 0x0c80, 0x0410, 0x0394, 0xdaed, 0x640b, 0x037f, 0x7d02, 0x1a14, 454 0x0c80, 0x0410, 0x0394, 0xdaed, 0x640b, 0x037f, 0x7d02, 0x1a14,
455 0x9aea, 0x1a0c, 0x6ad7, 0x6cc8, 0x9a3a, 0x0c7f, 0x0410, 0x03b4, 455 0x9aea, 0x1a0c, 0x6ad7, 0x6cc8, 0x9a3a, 0x0c7f, 0x0410, 0x03b4,
456 0x04b8, 0x03ac, 0x640b, 0x6bc8, 0x028e, 0x1a04, 0x6ad7, 0x6cc8, 456 0x04b8, 0x03ac, 0x640b, 0x6bc8, 0x028e, 0x1a04, 0x6ad7, 0x6cc8,
457 0x0006, 0x058f, 0x1d08, 0x6d23, 0x650b, 0x007d, 0x7c01, 0x1d38, 457 0x0006, 0x058f, 0x1d08, 0x6d23, 0x650b, 0x007d, 0x7c01, 0x1d38,
458 0x007c, 0x7c01, 0x1d1c, 0x0006, 0x048b, 0x042c, 0x0454, 0x042b, 458 0x007c, 0x7c01, 0x1d1c, 0x0006, 0x048b, 0x042c, 0x0454, 0x042b,
459 0x6ad7, 0x6cc8, 0x0006, 0x0007, 0x684c, 0x6144, 0x9b1c, 0x0007, 459 0x6ad7, 0x6cc8, 0x0006, 0x0007, 0x684c, 0x6144, 0x9b1c, 0x0007,
460 0x68cc, 0x61d0, 0x9b1c, 0x0007, 0x680c, 0x680c, 0x6107, 0x6907, 460 0x68cc, 0x61d0, 0x9b1c, 0x0007, 0x680c, 0x680c, 0x6107, 0x6907,
461 0x692b, 0x6928, 0x0007, 0x680c, 0x0d70, 0x0511, 0x5515, 0x55f5, 461 0x692b, 0x6928, 0x0007, 0x680c, 0x0d70, 0x0511, 0x5515, 0x55f5,
462 0x01a5, 0x0dff, 0x0512, 0x1dff, 0x0512, 0x04bd, 0x0499, 0x0454, 462 0x01a5, 0x0dff, 0x0512, 0x1dff, 0x0512, 0x04bd, 0x0499, 0x0454,
463 0x0006, 0x08ff, 0x0011, 0x28ff, 0x0006, 0x038c, 0x0eff, 0x0611, 463 0x0006, 0x08ff, 0x0011, 0x28ff, 0x0006, 0x038c, 0x0eff, 0x0611,
464 0x2eff, 0x03b6, 0x0006, 0x53d6, 0x0398, 0x5bd6, 0x53ee, 0x0398, 464 0x2eff, 0x03b6, 0x0006, 0x53d6, 0x0398, 0x5bd6, 0x53ee, 0x0398,
465 0x5bee, 0x0006, 0x52de, 0x53e6, 0x54ee, 0x0498, 0x0454, 0x0006, 465 0x5bee, 0x0006, 0x52de, 0x53e6, 0x54ee, 0x0498, 0x0454, 0x0006,
466 0x50f6, 0x52c6, 0x53ce, 0x54d6, 0x0498, 0x0454, 0x0006, 0x6207, 466 0x50f6, 0x52c6, 0x53ce, 0x54d6, 0x0498, 0x0454, 0x0006, 0x6207,
467 0x0b70, 0x0311, 0x5013, 0x55f0, 0x02a5, 0x0bff, 0x0312, 0x1bff, 467 0x0b70, 0x0311, 0x5013, 0x55f0, 0x02a5, 0x0bff, 0x0312, 0x1bff,
468 0x0312, 0x04bb, 0x049a, 0x0006, 0x1e10, 0x0870, 0x0011, 0x5010, 468 0x0312, 0x04bb, 0x049a, 0x0006, 0x1e10, 0x0870, 0x0011, 0x5010,
469 0xc0ec, 0x7d39, 0x5ac0, 0x5bc8, 0x5ef8, 0xc0fe, 0x56f8, 0x7d02, 469 0xc0ec, 0x7d39, 0x5ac0, 0x5bc8, 0x5ef8, 0xc0fe, 0x56f8, 0x7d02,
470 0x0200, 0x9b5b, 0x6d07, 0x5df0, 0x0dff, 0x0511, 0x1dff, 0x05bc, 470 0x0200, 0x9b5b, 0x6d07, 0x5df0, 0x0dff, 0x0511, 0x1dff, 0x05bc,
471 0x4d00, 0x7d17, 0x6ec3, 0x62c8, 0x7e28, 0x0264, 0x7d08, 0x0b70, 471 0x4d00, 0x7d17, 0x6ec3, 0x62c8, 0x7e28, 0x0264, 0x7d08, 0x0b70,
472 0x0311, 0x522b, 0x02b9, 0x4a00, 0x7c18, 0x0400, 0x9b6a, 0x0212, 472 0x0311, 0x522b, 0x02b9, 0x4a00, 0x7c18, 0x0400, 0x9b6a, 0x0212,
473 0x3aff, 0x008a, 0x05d8, 0x7d01, 0x008d, 0x0a10, 0x6ed3, 0x6ac8, 473 0x3aff, 0x008a, 0x05d8, 0x7d01, 0x008d, 0x0a10, 0x6ed3, 0x6ac8,
474 0xdba5, 0x6a28, 0x7f17, 0x0b70, 0x0311, 0x5013, 0xdbbd, 0x52c0, 474 0xdba5, 0x6a28, 0x7f17, 0x0b70, 0x0311, 0x5013, 0xdbbd, 0x52c0,
475 0x53c8, 0xc10d, 0x7dd0, 0x0200, 0x9b5b, 0x008f, 0x00d5, 0x7d01, 475 0x53c8, 0xc10d, 0x7dd0, 0x0200, 0x9b5b, 0x008f, 0x00d5, 0x7d01,
476 0x008d, 0xdba5, 0x9b68, 0x0200, 0x9b58, 0x0007, 0x68cc, 0x6a28, 476 0x008d, 0xdba5, 0x9b68, 0x0200, 0x9b58, 0x0007, 0x68cc, 0x6a28,
477 0x7f01, 0x9ba3, 0x0007, 0x6a0c, 0x6a0c, 0x6207, 0x6a07, 0x6a2b, 477 0x7f01, 0x9ba3, 0x0007, 0x6a0c, 0x6a0c, 0x6207, 0x6a07, 0x6a2b,
478 0x6a28, 0x0007, 0x680c, 0x0454, 0x9b81, 0x05a0, 0x1e08, 0x6ec3, 478 0x6a28, 0x0007, 0x680c, 0x0454, 0x9b81, 0x05a0, 0x1e08, 0x6ec3,
479 0x0388, 0x3b03, 0x0015, 0x0015, 0x7802, 0x62c8, 0x6a0b, 0x7ee5, 479 0x0388, 0x3b03, 0x0015, 0x0015, 0x7802, 0x62c8, 0x6a0b, 0x7ee5,
480 0x6a28, 0x7fe8, 0x0000, 0x6ec1, 0x008b, 0x7802, 0x62c8, 0x6a09, 480 0x6a28, 0x7fe8, 0x0000, 0x6ec1, 0x008b, 0x7802, 0x62c8, 0x6a09,
481 0x7edc, 0x6a28, 0x7fdf, 0x2608, 0x0006, 0x55f0, 0x6207, 0x02a5, 481 0x7edc, 0x6a28, 0x7fdf, 0x2608, 0x0006, 0x55f0, 0x6207, 0x02a5,
482 0x0dff, 0x0511, 0x1dff, 0x04b5, 0x049a, 0x0006, 0x0870, 0x0011, 482 0x0dff, 0x0511, 0x1dff, 0x04b5, 0x049a, 0x0006, 0x0870, 0x0011,
483 0x5010, 0xc0ec, 0x7d78, 0x5ac0, 0x5bc8, 0x5ef8, 0xc0fe, 0x56f8, 483 0x5010, 0xc0ec, 0x7d78, 0x5ac0, 0x5bc8, 0x5ef8, 0xc0fe, 0x56f8,
484 0x7d02, 0x0200, 0x9bcc, 0x6d03, 0x6ed3, 0x0dff, 0x0511, 0x1dff, 484 0x7d02, 0x0200, 0x9bcc, 0x6d03, 0x6ed3, 0x0dff, 0x0511, 0x1dff,
485 0x05bc, 0x5df8, 0x4d00, 0x7d5e, 0x0b70, 0x0311, 0x522b, 0x5313, 485 0x05bc, 0x5df8, 0x4d00, 0x7d5e, 0x0b70, 0x0311, 0x522b, 0x5313,
486 0x02b9, 0x4a00, 0x7c04, 0x62ff, 0x7e3f, 0x0400, 0x9bdc, 0x008f, 486 0x02b9, 0x4a00, 0x7c04, 0x62ff, 0x7e3f, 0x0400, 0x9bdc, 0x008f,
487 0x00d5, 0x7d01, 0x008d, 0x05a0, 0x5ddb, 0x0d03, 0x0512, 0x05bc, 487 0x00d5, 0x7d01, 0x008d, 0x05a0, 0x5ddb, 0x0d03, 0x0512, 0x05bc,
488 0x0510, 0x5dd3, 0x4d00, 0x7d27, 0x4d02, 0x7d20, 0x4d01, 0x7d1a, 488 0x0510, 0x5dd3, 0x4d00, 0x7d27, 0x4d02, 0x7d20, 0x4d01, 0x7d1a,
489 0x0b70, 0x0311, 0x53eb, 0x0360, 0x7d05, 0x6509, 0x7e25, 0x620a, 489 0x0b70, 0x0311, 0x53eb, 0x0360, 0x7d05, 0x6509, 0x7e25, 0x620a,
490 0x7e23, 0x9c06, 0x620a, 0x7e20, 0x6509, 0x7e1e, 0x0512, 0x0512, 490 0x7e23, 0x9c06, 0x620a, 0x7e20, 0x6509, 0x7e1e, 0x0512, 0x0512,
491 0x02ad, 0x6ac8, 0x7f19, 0x2003, 0x4800, 0x7ced, 0x0b70, 0x0311, 491 0x02ad, 0x6ac8, 0x7f19, 0x2003, 0x4800, 0x7ced, 0x0b70, 0x0311,
492 0x5313, 0x9c21, 0x7802, 0x6209, 0x6ac8, 0x9c20, 0x0015, 0x7802, 492 0x5313, 0x9c21, 0x7802, 0x6209, 0x6ac8, 0x9c20, 0x0015, 0x7802,
493 0x620a, 0x6ac8, 0x9c20, 0x0015, 0x0015, 0x7802, 0x620b, 0x6ac8, 493 0x620a, 0x6ac8, 0x9c20, 0x0015, 0x0015, 0x7802, 0x620b, 0x6ac8,
494 0x7c03, 0x0000, 0x55db, 0x9bda, 0x0007, 0x68cc, 0x680c, 0x55d3, 494 0x7c03, 0x0000, 0x55db, 0x9bda, 0x0007, 0x68cc, 0x680c, 0x55d3,
495 0x4d00, 0x7d03, 0x4d02, 0x7d02, 0x9c2f, 0x0017, 0x0017, 0x55db, 495 0x4d00, 0x7d03, 0x4d02, 0x7d02, 0x9c2f, 0x0017, 0x0017, 0x55db,
496 0x009d, 0x55fb, 0x05a0, 0x08ff, 0x0011, 0x18ff, 0x0010, 0x04b8, 496 0x009d, 0x55fb, 0x05a0, 0x08ff, 0x0011, 0x18ff, 0x0010, 0x04b8,
497 0x04ad, 0x0454, 0x62ff, 0x7ee8, 0x008b, 0x52c0, 0x53c8, 0xc10d, 497 0x04ad, 0x0454, 0x62ff, 0x7ee8, 0x008b, 0x52c0, 0x53c8, 0xc10d,
498 0x7d8b, 0x0200, 0x9bcc, 0x0200, 0x9bc9, 0xc19d, 0xc0ec, 0x7d52, 498 0x7d8b, 0x0200, 0x9bcc, 0x0200, 0x9bc9, 0xc19d, 0xc0ec, 0x7d52,
499 0x0c70, 0x0411, 0x5414, 0x5ac4, 0x028c, 0x58da, 0x5efa, 0xc0fe, 499 0x0c70, 0x0411, 0x5414, 0x5ac4, 0x028c, 0x58da, 0x5efa, 0xc0fe,
500 0x56fa, 0x7d02, 0x0200, 0x9c4e, 0x6d03, 0x5bca, 0x5cd2, 0x0bff, 500 0x56fa, 0x7d02, 0x0200, 0x9c4e, 0x6d03, 0x5bca, 0x5cd2, 0x0bff,
501 0x0311, 0x1bff, 0x04bb, 0x0415, 0x53da, 0x0a70, 0x0211, 0x4c00, 501 0x0311, 0x1bff, 0x04bb, 0x0415, 0x53da, 0x0a70, 0x0211, 0x4c00,
502 0x7d28, 0x552a, 0x05bb, 0x4d00, 0x7c02, 0x0400, 0x9c61, 0x4c01, 502 0x7d28, 0x552a, 0x05bb, 0x4d00, 0x7c02, 0x0400, 0x9c61, 0x4c01,
503 0x7d0f, 0x008f, 0x0015, 0x04d8, 0x7d01, 0x008c, 0x0020, 0x04a0, 503 0x7d0f, 0x008f, 0x0015, 0x04d8, 0x7d01, 0x008c, 0x0020, 0x04a0,
504 0x0015, 0x7802, 0x650b, 0x5d06, 0x0000, 0x7e0c, 0x7f0d, 0x9c5f, 504 0x0015, 0x7802, 0x650b, 0x5d06, 0x0000, 0x7e0c, 0x7f0d, 0x9c5f,
505 0x650a, 0x7e08, 0x008d, 0x0011, 0x0010, 0x05a8, 0x065f, 0x5d06, 505 0x650a, 0x7e08, 0x008d, 0x0011, 0x0010, 0x05a8, 0x065f, 0x5d06,
506 0x063f, 0x7f02, 0x0007, 0x680c, 0x0007, 0x5012, 0x54d0, 0x0454, 506 0x063f, 0x7f02, 0x0007, 0x680c, 0x0007, 0x5012, 0x54d0, 0x0454,
507 0x9c8b, 0x5012, 0x54d0, 0x0473, 0x7c06, 0x552a, 0x05b9, 0x4d00, 507 0x9c8b, 0x5012, 0x54d0, 0x0473, 0x7c06, 0x552a, 0x05b9, 0x4d00,
508 0x7c02, 0x0400, 0x9c8d, 0x52c0, 0x53c8, 0xc10d, 0x0288, 0x7db6, 508 0x7c02, 0x0400, 0x9c8d, 0x52c0, 0x53c8, 0xc10d, 0x0288, 0x7db6,
509 0x0200, 0x9c4e, 0x0200, 0x9c46, 0x0870, 0x0011, 0x5010, 0xc0ec, 509 0x0200, 0x9c4e, 0x0200, 0x9c46, 0x0870, 0x0011, 0x5010, 0xc0ec,
510 0x7d46, 0x5ac0, 0x5bc8, 0x5ef8, 0xc0fe, 0x56f8, 0x7d02, 0x0200, 510 0x7d46, 0x5ac0, 0x5bc8, 0x5ef8, 0xc0fe, 0x56f8, 0x7d02, 0x0200,
511 0x9ca2, 0x0b70, 0x0311, 0x6ed3, 0x6d03, 0x0dff, 0x0511, 0x1dff, 511 0x9ca2, 0x0b70, 0x0311, 0x6ed3, 0x6d03, 0x0dff, 0x0511, 0x1dff,
512 0x05bc, 0x4d00, 0x7d2b, 0x522b, 0x02b9, 0x4a00, 0x7c04, 0x62c8, 512 0x05bc, 0x4d00, 0x7d2b, 0x522b, 0x02b9, 0x4a00, 0x7c04, 0x62c8,
513 0x7e1f, 0x0400, 0x9cb3, 0x008f, 0x00d5, 0x7d01, 0x008d, 0x05a0, 513 0x7e1f, 0x0400, 0x9cb3, 0x008f, 0x00d5, 0x7d01, 0x008d, 0x05a0,
514 0x0060, 0x7c05, 0x6edd, 0x6209, 0x7e16, 0x6ac8, 0x7f11, 0x0015, 514 0x0060, 0x7c05, 0x6edd, 0x6209, 0x7e16, 0x6ac8, 0x7f11, 0x0015,
515 0x0060, 0x7c05, 0x6ede, 0x620a, 0x7e0e, 0x6ac8, 0x7f09, 0x6edf, 515 0x0060, 0x7c05, 0x6ede, 0x620a, 0x7e0e, 0x6ac8, 0x7f09, 0x6edf,
516 0x0015, 0x7802, 0x620b, 0x6ac8, 0x0000, 0x7e05, 0x7f01, 0x9cb1, 516 0x0015, 0x7802, 0x620b, 0x6ac8, 0x0000, 0x7e05, 0x7f01, 0x9cb1,
517 0x0007, 0x68cc, 0x9cdd, 0x0007, 0x6a0c, 0x0454, 0x62c8, 0x7ef8, 517 0x0007, 0x68cc, 0x9cdd, 0x0007, 0x6a0c, 0x0454, 0x62c8, 0x7ef8,
518 0x5013, 0x52c0, 0x53c8, 0xc10d, 0x7dbd, 0x0200, 0x9ca2, 0x0200, 518 0x5013, 0x52c0, 0x53c8, 0xc10d, 0x7dbd, 0x0200, 0x9ca2, 0x0200,
519 0x9c9f, 0xc19d, 0x0870, 0x0011, 0xc0ec, 0x7d29, 0x5010, 0x5ac0, 519 0x9c9f, 0xc19d, 0x0870, 0x0011, 0xc0ec, 0x7d29, 0x5010, 0x5ac0,
520 0x5ef8, 0xc0fe, 0x56f8, 0x7d02, 0x0200, 0x9cf0, 0x0870, 0x0011, 520 0x5ef8, 0xc0fe, 0x56f8, 0x7d02, 0x0200, 0x9cf0, 0x0870, 0x0011,
521 0x6d03, 0x0dff, 0x0511, 0x1dff, 0x05bc, 0x4d00, 0x7d12, 0x5228, 521 0x6d03, 0x0dff, 0x0511, 0x1dff, 0x05bc, 0x4d00, 0x7d12, 0x5228,
522 0x02b9, 0x4a00, 0x7c02, 0x0400, 0x9cff, 0x620b, 0x7e06, 0x5a06, 522 0x02b9, 0x4a00, 0x7c02, 0x0400, 0x9cff, 0x620b, 0x7e06, 0x5a06,
523 0x7f06, 0x0000, 0x2504, 0x7d05, 0x9cff, 0x0007, 0x680c, 0x0007, 523 0x7f06, 0x0000, 0x2504, 0x7d05, 0x9cff, 0x0007, 0x680c, 0x0007,
524 0x0454, 0x5010, 0x52c0, 0xc10d, 0x7ddb, 0x0200, 0x9cf0, 0x0200, 524 0x0454, 0x5010, 0x52c0, 0xc10d, 0x7ddb, 0x0200, 0x9cf0, 0x0200,
525 0x9cec, 0xc19d, 0x0870, 0x0011, 0xc0ec, 0x7d74, 0x5010, 0x5ac0, 525 0x9cec, 0xc19d, 0x0870, 0x0011, 0xc0ec, 0x7d74, 0x5010, 0x5ac0,
526 0x5bc8, 0x5ef8, 0xc0fe, 0x56f8, 0x7d02, 0x0200, 0x9d20, 0x6d03, 526 0x5bc8, 0x5ef8, 0xc0fe, 0x56f8, 0x7d02, 0x0200, 0x9d20, 0x6d03,
527 0x0d03, 0x0512, 0x05bc, 0x0510, 0x5dd0, 0x0dff, 0x0511, 0x1dff, 527 0x0d03, 0x0512, 0x05bc, 0x0510, 0x5dd0, 0x0dff, 0x0511, 0x1dff,
528 0x05bc, 0x5df8, 0x4d00, 0x7d57, 0x0a70, 0x0211, 0x532a, 0x5212, 528 0x05bc, 0x5df8, 0x4d00, 0x7d57, 0x0a70, 0x0211, 0x532a, 0x5212,
529 0x03b9, 0x4b00, 0x7c02, 0x0400, 0x9d34, 0x008f, 0x05d8, 0x7d01, 529 0x03b9, 0x4b00, 0x7c02, 0x0400, 0x9d34, 0x008f, 0x05d8, 0x7d01,
530 0x008d, 0x05a0, 0x5dda, 0x55d2, 0x4d00, 0x7d27, 0x4d02, 0x7d20, 530 0x008d, 0x05a0, 0x5dda, 0x55d2, 0x4d00, 0x7d27, 0x4d02, 0x7d20,
531 0x4d01, 0x7d1a, 0x0a70, 0x0211, 0x52ea, 0x0260, 0x7d05, 0x6509, 531 0x4d01, 0x7d1a, 0x0a70, 0x0211, 0x52ea, 0x0260, 0x7d05, 0x6509,
532 0x7e25, 0x630a, 0x7e23, 0x9d58, 0x630a, 0x7e20, 0x6509, 0x7e1e, 532 0x7e25, 0x630a, 0x7e23, 0x9d58, 0x630a, 0x7e20, 0x6509, 0x7e1e,
533 0x0512, 0x0512, 0x03ad, 0x5b06, 0x7f19, 0x2003, 0x4800, 0x7ced, 533 0x0512, 0x0512, 0x03ad, 0x5b06, 0x7f19, 0x2003, 0x4800, 0x7ced,
534 0x0a70, 0x0211, 0x5212, 0x9d73, 0x7802, 0x6309, 0x5b06, 0x9d72, 534 0x0a70, 0x0211, 0x5212, 0x9d73, 0x7802, 0x6309, 0x5b06, 0x9d72,
535 0x0015, 0x7802, 0x630a, 0x5b06, 0x9d72, 0x0015, 0x0015, 0x7802, 535 0x0015, 0x7802, 0x630a, 0x5b06, 0x9d72, 0x0015, 0x0015, 0x7802,
536 0x630b, 0x5b06, 0x7c03, 0x55da, 0x0000, 0x9d32, 0x0007, 0x680c, 536 0x630b, 0x5b06, 0x7c03, 0x55da, 0x0000, 0x9d32, 0x0007, 0x680c,
537 0x55d2, 0x4d00, 0x7d03, 0x4d02, 0x7d02, 0x9d80, 0x0017, 0x0017, 537 0x55d2, 0x4d00, 0x7d03, 0x4d02, 0x7d02, 0x9d80, 0x0017, 0x0017,
538 0x55da, 0x009d, 0x55fa, 0x05a0, 0x08ff, 0x0011, 0x18ff, 0x0010, 538 0x55da, 0x009d, 0x55fa, 0x05a0, 0x08ff, 0x0011, 0x18ff, 0x0010,
539 0x04b8, 0x04ad, 0x0454, 0x008a, 0x52c0, 0x53c8, 0xc10d, 0x7d90, 539 0x04b8, 0x04ad, 0x0454, 0x008a, 0x52c0, 0x53c8, 0xc10d, 0x7d90,
540 0x0200, 0x9d20, 0x0200, 0x9d1c, 0xc19d, 0x0870, 0x0011, 0xc0ec, 540 0x0200, 0x9d20, 0x0200, 0x9d1c, 0xc19d, 0x0870, 0x0011, 0xc0ec,
541 0x7d35, 0x5010, 0x5ac0, 0x5ef8, 0xc0fe, 0x56f8, 0x7d02, 0x0200, 541 0x7d35, 0x5010, 0x5ac0, 0x5ef8, 0xc0fe, 0x56f8, 0x7d02, 0x0200,
542 0x9d9b, 0x0870, 0x0011, 0x6d07, 0x0dff, 0x0511, 0x1dff, 0x05bc, 542 0x9d9b, 0x0870, 0x0011, 0x6d07, 0x0dff, 0x0511, 0x1dff, 0x05bc,
543 0x4d00, 0x7d1c, 0x5228, 0x02b9, 0x4a00, 0x7c04, 0x6928, 0x7f0b, 543 0x4d00, 0x7d1c, 0x5228, 0x02b9, 0x4a00, 0x7c04, 0x6928, 0x7f0b,
544 0x0400, 0x9daa, 0x5206, 0x7e10, 0x6a0b, 0x6928, 0x7f04, 0x0000, 544 0x0400, 0x9daa, 0x5206, 0x7e10, 0x6a0b, 0x6928, 0x7f04, 0x0000,
545 0x2504, 0x7d0c, 0x9daa, 0x0007, 0x680c, 0x680c, 0x6207, 0x6a07, 545 0x2504, 0x7d0c, 0x9daa, 0x0007, 0x680c, 0x680c, 0x6207, 0x6a07,
546 0x6a2b, 0x6a28, 0x0007, 0x680c, 0x0007, 0x0454, 0x6928, 0x7ff3, 546 0x6a2b, 0x6a28, 0x0007, 0x680c, 0x0007, 0x0454, 0x6928, 0x7ff3,
547 0x5010, 0x52c0, 0xc10d, 0x7dcf, 0x0200, 0x9d9b, 0x0200, 0x9d97, 547 0x5010, 0x52c0, 0xc10d, 0x7dcf, 0x0200, 0x9d9b, 0x0200, 0x9d97,
548 0xc19d, 0x0870, 0x0011, 0xc0ec, 0x7d5e, 0x5010, 0x5ac0, 0x5bc8, 548 0xc19d, 0x0870, 0x0011, 0xc0ec, 0x7d5e, 0x5010, 0x5ac0, 0x5bc8,
549 0x5ef8, 0xc0fe, 0x56f8, 0x7d02, 0x0200, 0x9dd7, 0x6d07, 0x5df0, 549 0x5ef8, 0xc0fe, 0x56f8, 0x7d02, 0x0200, 0x9dd7, 0x6d07, 0x5df0,
550 0x0dff, 0x0511, 0x1dff, 0x05bc, 0x4d00, 0x7d44, 0x0a70, 0x0211, 550 0x0dff, 0x0511, 0x1dff, 0x05bc, 0x4d00, 0x7d44, 0x0a70, 0x0211,
551 0x532a, 0x5212, 0x03b9, 0x4b00, 0x7c04, 0x6a28, 0x7f3a, 0x0400, 551 0x532a, 0x5212, 0x03b9, 0x4b00, 0x7c04, 0x6a28, 0x7f3a, 0x0400,
552 0x9de6, 0x008f, 0x05d8, 0x7d01, 0x008d, 0x05a0, 0x0b03, 0x0312, 552 0x9de6, 0x008f, 0x05d8, 0x7d01, 0x008d, 0x05a0, 0x0b03, 0x0312,
553 0x03bc, 0x0310, 0x4b00, 0x7d1c, 0x4b02, 0x7d20, 0x4b01, 0x7d23, 553 0x03bc, 0x0310, 0x4b00, 0x7d1c, 0x4b02, 0x7d20, 0x4b01, 0x7d23,
554 0x0a70, 0x0211, 0x52ea, 0x5306, 0x7e24, 0x0260, 0x7d02, 0x0310, 554 0x0a70, 0x0211, 0x52ea, 0x5306, 0x7e24, 0x0260, 0x7d02, 0x0310,
555 0x0312, 0x6b09, 0x7f1e, 0x0312, 0x6b09, 0x7f1b, 0x0312, 0x6b09, 555 0x0312, 0x6b09, 0x7f1e, 0x0312, 0x6b09, 0x7f1b, 0x0312, 0x6b09,
556 0x7f18, 0x2003, 0x4800, 0x7cef, 0x0a70, 0x0211, 0x5212, 0x9e27, 556 0x7f18, 0x2003, 0x4800, 0x7cef, 0x0a70, 0x0211, 0x5212, 0x9e27,
557 0x0015, 0x0015, 0x7802, 0x5306, 0x6b0b, 0x9e26, 0x0015, 0x7802, 557 0x0015, 0x0015, 0x7802, 0x5306, 0x6b0b, 0x9e26, 0x0015, 0x7802,
558 0x5306, 0x6b0a, 0x9e26, 0x7802, 0x5306, 0x6b09, 0x7c02, 0x0000, 558 0x5306, 0x6b0a, 0x9e26, 0x7802, 0x5306, 0x6b09, 0x7c02, 0x0000,
559 0x9de4, 0xdb13, 0x6928, 0x7ffd, 0x008a, 0x52c0, 0x53c8, 0xc10d, 559 0x9de4, 0xdb13, 0x6928, 0x7ffd, 0x008a, 0x52c0, 0x53c8, 0xc10d,
560 0x7da6, 0x0200, 0x9dd7, 0x0200, 0x9dd3, 0x0870, 0x0011, 0x5010, 560 0x7da6, 0x0200, 0x9dd7, 0x0200, 0x9dd3, 0x0870, 0x0011, 0x5010,
561 0xc0ec, 0x7d5b, 0x5ac0, 0x5bc8, 0x5ef8, 0xc0fe, 0x56f8, 0x7d02, 561 0xc0ec, 0x7d5b, 0x5ac0, 0x5bc8, 0x5ef8, 0xc0fe, 0x56f8, 0x7d02,
562 0x0200, 0x9e3b, 0x0b70, 0x0311, 0x6ec3, 0x6d07, 0x5df0, 0x0dff, 562 0x0200, 0x9e3b, 0x0b70, 0x0311, 0x6ec3, 0x6d07, 0x5df0, 0x0dff,
563 0x0511, 0x1dff, 0x05bc, 0x4d00, 0x7d3d, 0x522b, 0x02b9, 0x4a00, 563 0x0511, 0x1dff, 0x05bc, 0x4d00, 0x7d3d, 0x522b, 0x02b9, 0x4a00,
564 0x7c04, 0x6a28, 0x7f33, 0x0400, 0x9e4d, 0x028e, 0x1a94, 0x6ac3, 564 0x7c04, 0x6a28, 0x7f33, 0x0400, 0x9e4d, 0x028e, 0x1a94, 0x6ac3,
565 0x62c8, 0x0269, 0x7d1b, 0x1e94, 0x6ec3, 0x6ed3, 0x62c8, 0x0248, 565 0x62c8, 0x0269, 0x7d1b, 0x1e94, 0x6ec3, 0x6ed3, 0x62c8, 0x0248,
566 0x6ac8, 0x2694, 0x6ec3, 0x62c8, 0x026e, 0x7d31, 0x6a09, 0x7f1e, 566 0x6ac8, 0x2694, 0x6ec3, 0x62c8, 0x026e, 0x7d31, 0x6a09, 0x7f1e,
567 0x2501, 0x4d00, 0x7d1f, 0x028e, 0x1a98, 0x6ac3, 0x62c8, 0x6ec3, 567 0x2501, 0x4d00, 0x7d1f, 0x028e, 0x1a98, 0x6ac3, 0x62c8, 0x6ec3,
568 0x0260, 0x7df1, 0x6a28, 0x7f12, 0xdb47, 0x9e8c, 0x6ee3, 0x008f, 568 0x0260, 0x7df1, 0x6a28, 0x7f12, 0xdb47, 0x9e8c, 0x6ee3, 0x008f,
569 0x2001, 0x00d5, 0x7d01, 0x008d, 0x05a0, 0x62c8, 0x026e, 0x7d17, 569 0x2001, 0x00d5, 0x7d01, 0x008d, 0x05a0, 0x62c8, 0x026e, 0x7d17,
570 0x6a09, 0x7f04, 0x2001, 0x7cf9, 0x0000, 0x9e4b, 0x0289, 0xdb13, 570 0x6a09, 0x7f04, 0x2001, 0x7cf9, 0x0000, 0x9e4b, 0x0289, 0xdb13,
571 0x018a, 0x9e9b, 0x6a28, 0x7ffa, 0x0b70, 0x0311, 0x5013, 0x52c0, 571 0x018a, 0x9e9b, 0x6a28, 0x7ffa, 0x0b70, 0x0311, 0x5013, 0x52c0,
572 0x53c8, 0xc10d, 0x7da8, 0x0200, 0x9e3b, 0x0200, 0x9e38, 0x6a28, 572 0x53c8, 0xc10d, 0x7da8, 0x0200, 0x9e3b, 0x0200, 0x9e38, 0x6a28,
573 0x7fed, 0xdb47, 0x9e9b, 0x0458, 0x0454, 0x9e8c, 0xc19d, 0x0870, 573 0x7fed, 0xdb47, 0x9e9b, 0x0458, 0x0454, 0x9e8c, 0xc19d, 0x0870,
574 0x0011, 0xc0ec, 0x7d54, 0x5010, 0x5ac0, 0x5bc8, 0x5ef8, 0xc0fe, 574 0x0011, 0xc0ec, 0x7d54, 0x5010, 0x5ac0, 0x5bc8, 0x5ef8, 0xc0fe,
575 0x56f8, 0x7d02, 0x0200, 0x9ea5, 0x0b70, 0x0311, 0x6d07, 0x5df0, 575 0x56f8, 0x7d02, 0x0200, 0x9ea5, 0x0b70, 0x0311, 0x6d07, 0x5df0,
576 0x0dff, 0x0511, 0x1dff, 0x05bc, 0x4d00, 0x7d36, 0x522b, 0x02b9, 576 0x0dff, 0x0511, 0x1dff, 0x05bc, 0x4d00, 0x7d36, 0x522b, 0x02b9,
577 0x4a00, 0x7c04, 0x6928, 0x7f2c, 0x0400, 0x9eb6, 0x028e, 0x1a94, 577 0x4a00, 0x7c04, 0x6928, 0x7f2c, 0x0400, 0x9eb6, 0x028e, 0x1a94,
578 0x5202, 0x0269, 0x7d16, 0x1e94, 0x5206, 0x0248, 0x5a06, 0x2694, 578 0x5202, 0x0269, 0x7d16, 0x1e94, 0x5206, 0x0248, 0x5a06, 0x2694,
579 0x5206, 0x026e, 0x7d2e, 0x6a09, 0x7f1b, 0x2501, 0x4d00, 0x7d1c, 579 0x5206, 0x026e, 0x7d2e, 0x6a09, 0x7f1b, 0x2501, 0x4d00, 0x7d1c,
580 0x028e, 0x1a98, 0x5202, 0x0260, 0x7df3, 0x6a28, 0x7f11, 0xdb47, 580 0x028e, 0x1a98, 0x5202, 0x0260, 0x7df3, 0x6a28, 0x7f11, 0xdb47,
581 0x9eee, 0x008f, 0x2001, 0x00d5, 0x7d01, 0x008d, 0x05a0, 0x5206, 581 0x9eee, 0x008f, 0x2001, 0x00d5, 0x7d01, 0x008d, 0x05a0, 0x5206,
582 0x026e, 0x7d17, 0x6a09, 0x7f04, 0x2001, 0x7cf9, 0x0000, 0x9eb4, 582 0x026e, 0x7d17, 0x6a09, 0x7f04, 0x2001, 0x7cf9, 0x0000, 0x9eb4,
583 0x0289, 0xdb13, 0x018a, 0x9efd, 0x6928, 0x7ffa, 0x0b70, 0x0311, 583 0x0289, 0xdb13, 0x018a, 0x9efd, 0x6928, 0x7ffa, 0x0b70, 0x0311,
584 0x5013, 0x52c0, 0x53c8, 0xc10d, 0x7db0, 0x0200, 0x9ea5, 0x0200, 584 0x5013, 0x52c0, 0x53c8, 0xc10d, 0x7db0, 0x0200, 0x9ea5, 0x0200,
585 0x9ea1, 0x6a28, 0x7fed, 0xdb47, 0x9efd, 0x0458, 0x0454, 0x9eee 585 0x9ea1, 0x6a28, 0x7fed, 0xdb47, 0x9efd, 0x0458, 0x0454, 0x9eee
586}; 586};
587 587
588/* REV 2 */ 588/* REV 2 */
diff --git a/firmware/target/arm/imx31/sdma_struct.h b/firmware/target/arm/imx31/sdma_struct.h
index 22aabcbdb4..f157072392 100644
--- a/firmware/target/arm/imx31/sdma_struct.h
+++ b/firmware/target/arm/imx31/sdma_struct.h
@@ -403,8 +403,8 @@ struct context_data
403 */ 403 */
404struct script_data 404struct script_data
405{ 405{
406 unsigned long load_address; /* start address of the script */ 406 unsigned long load_address; /* start address of the script */
407 unsigned long wml; /* parameters for the channel descriptor */ 407 unsigned long wml; /* parameters for the channel descriptor */
408 unsigned long shp_addr; /* shared peripheral base address */ 408 unsigned long shp_addr; /* shared peripheral base address */
409 unsigned long event_mask1; /* first event mask */ 409 unsigned long event_mask1; /* first event mask */
410 unsigned long event_mask2; /* second event mask */ 410 unsigned long event_mask2; /* second event mask */
diff --git a/firmware/target/arm/iriver/h10/lcd-h10_20gb.c b/firmware/target/arm/iriver/h10/lcd-h10_20gb.c
index f6cf4cbcbb..596276a932 100644
--- a/firmware/target/arm/iriver/h10/lcd-h10_20gb.c
+++ b/firmware/target/arm/iriver/h10/lcd-h10_20gb.c
@@ -134,7 +134,7 @@ void lcd_set_contrast(int val)
134 lcd_contrast = val << 8; 134 lcd_contrast = val << 8;
135 135
136 if (!power_on) 136 if (!power_on)
137 return; 137 return;
138 138
139 /* VCOMG=1, VDV4-0=xxxxx, VCM4-0=11000 */ 139 /* VCOMG=1, VDV4-0=xxxxx, VCM4-0=11000 */
140 lcd_write_reg(R_POWER_CONTROL5, 0x2018 | lcd_contrast); 140 lcd_write_reg(R_POWER_CONTROL5, 0x2018 | lcd_contrast);
diff --git a/firmware/target/arm/philips/hdd1630/powermgmt-hdd1630.c b/firmware/target/arm/philips/hdd1630/powermgmt-hdd1630.c
index 33bbb6af48..8090c624df 100644
--- a/firmware/target/arm/philips/hdd1630/powermgmt-hdd1630.c
+++ b/firmware/target/arm/philips/hdd1630/powermgmt-hdd1630.c
@@ -26,8 +26,8 @@
26 26
27#define SMLAL(lo, hi, x, y) \ 27#define SMLAL(lo, hi, x, y) \
28 asm volatile ("smlal %0, %1, %2, %3" \ 28 asm volatile ("smlal %0, %1, %2, %3" \
29 : "+r" (lo), "+r" (hi) \ 29 : "+r" (lo), "+r" (hi) \
30 : "%r" (x), "r" (y)) 30 : "%r" (x), "r" (y))
31 31
32const unsigned short battery_level_dangerous[BATTERY_TYPES_COUNT] = 32const unsigned short battery_level_dangerous[BATTERY_TYPES_COUNT] =
33{ 33{
diff --git a/firmware/target/arm/s3c2440/gigabeat-fx/ata-meg-fx.c b/firmware/target/arm/s3c2440/gigabeat-fx/ata-meg-fx.c
index 2f7d57fa57..4b1e1d9ccc 100644
--- a/firmware/target/arm/s3c2440/gigabeat-fx/ata-meg-fx.c
+++ b/firmware/target/arm/s3c2440/gigabeat-fx/ata-meg-fx.c
@@ -114,8 +114,8 @@ void copy_read_sectors(unsigned char* buf, int wordcount)
114 DISRCC0 = 0x1; 114 DISRCC0 = 0x1;
115 /* Dest mapped to physical address, on AHB bus, increment */ 115 /* Dest mapped to physical address, on AHB bus, increment */
116 DIDST0 = (int) buf; 116 DIDST0 = (int) buf;
117 if(DIDST0 < 0x30000000) 117 if(DIDST0 < 0x30000000)
118 DIDST0 += 0x30000000; 118 DIDST0 += 0x30000000;
119 DIDSTC0 = 0; 119 DIDSTC0 = 0;
120 120
121 /* DACK/DREQ Sync to AHB, Whole service, No reload, 16-bit transfers */ 121 /* DACK/DREQ Sync to AHB, Whole service, No reload, 16-bit transfers */
diff --git a/firmware/target/arm/s3c2440/mini2440/pcm-mini2440.c b/firmware/target/arm/s3c2440/mini2440/pcm-mini2440.c
index 7779639c8f..486a235614 100644
--- a/firmware/target/arm/s3c2440/mini2440/pcm-mini2440.c
+++ b/firmware/target/arm/s3c2440/mini2440/pcm-mini2440.c
@@ -127,12 +127,12 @@ void pcm_postinit(void)
127void pcm_dma_apply_settings(void) 127void pcm_dma_apply_settings(void)
128{ 128{
129#ifdef HAVE_UDA1341 129#ifdef HAVE_UDA1341
130 unsigned int reg_val; 130 unsigned int reg_val;
131 /* set prescaler and master clock rate according to freq */ 131 /* set prescaler and master clock rate according to freq */
132 reg_val = (pcm_freq_parms [pcm_fsel][0] << 5) | pcm_freq_parms [pcm_fsel][0]; 132 reg_val = (pcm_freq_parms [pcm_fsel][0] << 5) | pcm_freq_parms [pcm_fsel][0];
133 133
134 IISMOD = (IISMOD & ~IISMOD_MASTER_CLOCK_384FS) | pcm_freq_parms [pcm_fsel][1] ; 134 IISMOD = (IISMOD & ~IISMOD_MASTER_CLOCK_384FS) | pcm_freq_parms [pcm_fsel][1] ;
135 IISPSR = reg_val; 135 IISPSR = reg_val;
136#endif 136#endif
137 137
138 audiohw_set_frequency(pcm_fsel); 138 audiohw_set_frequency(pcm_fsel);
diff --git a/firmware/target/arm/s5l8700/ipodnano2g/nand-target.h b/firmware/target/arm/s5l8700/ipodnano2g/nand-target.h
index 51b215a248..dee690e5e6 100644
--- a/firmware/target/arm/s5l8700/ipodnano2g/nand-target.h
+++ b/firmware/target/arm/s5l8700/ipodnano2g/nand-target.h
@@ -32,7 +32,7 @@ struct nand_device_info_type
32 uint16_t blocks; 32 uint16_t blocks;
33 uint16_t userblocks; 33 uint16_t userblocks;
34 uint16_t pagesperblock; 34 uint16_t pagesperblock;
35 uint8_t blocksizeexponent; 35 uint8_t blocksizeexponent;
36 uint8_t tunk1; 36 uint8_t tunk1;
37 uint8_t twp; 37 uint8_t twp;
38 uint8_t tunk2; 38 uint8_t tunk2;
diff --git a/firmware/target/arm/s5l8700/meizu-m3/nand-target.h b/firmware/target/arm/s5l8700/meizu-m3/nand-target.h
index 51b215a248..dee690e5e6 100644
--- a/firmware/target/arm/s5l8700/meizu-m3/nand-target.h
+++ b/firmware/target/arm/s5l8700/meizu-m3/nand-target.h
@@ -32,7 +32,7 @@ struct nand_device_info_type
32 uint16_t blocks; 32 uint16_t blocks;
33 uint16_t userblocks; 33 uint16_t userblocks;
34 uint16_t pagesperblock; 34 uint16_t pagesperblock;
35 uint8_t blocksizeexponent; 35 uint8_t blocksizeexponent;
36 uint8_t tunk1; 36 uint8_t tunk1;
37 uint8_t twp; 37 uint8_t twp;
38 uint8_t tunk2; 38 uint8_t tunk2;
diff --git a/firmware/target/arm/s5l8700/meizu-m6sp/nand-target.h b/firmware/target/arm/s5l8700/meizu-m6sp/nand-target.h
index a1559e936c..67d2220185 100644
--- a/firmware/target/arm/s5l8700/meizu-m6sp/nand-target.h
+++ b/firmware/target/arm/s5l8700/meizu-m6sp/nand-target.h
@@ -32,7 +32,7 @@ struct nand_device_info_type
32 uint16_t blocks; 32 uint16_t blocks;
33 uint16_t userblocks; 33 uint16_t userblocks;
34 uint16_t pagesperblock; 34 uint16_t pagesperblock;
35 uint8_t blocksizeexponent; 35 uint8_t blocksizeexponent;
36 uint8_t tunk1; 36 uint8_t tunk1;
37 uint8_t twp; 37 uint8_t twp;
38 uint8_t tunk2; 38 uint8_t tunk2;
diff --git a/firmware/target/arm/samsung/yh925/lcd-yh925.c b/firmware/target/arm/samsung/yh925/lcd-yh925.c
index 9ffcddf33a..ceed443654 100644
--- a/firmware/target/arm/samsung/yh925/lcd-yh925.c
+++ b/firmware/target/arm/samsung/yh925/lcd-yh925.c
@@ -139,7 +139,7 @@ void lcd_set_contrast(int val)
139 lcd_contrast = val << 8; 139 lcd_contrast = val << 8;
140 140
141 if (!power_on) 141 if (!power_on)
142 return; 142 return;
143 143
144 /* VCOMG=1, VDV4-0=xxxxx, VCM4-0=11000 */ 144 /* VCOMG=1, VDV4-0=xxxxx, VCM4-0=11000 */
145 lcd_write_reg(R_POWER_CONTROL5, 0x2018 | lcd_contrast); 145 lcd_write_reg(R_POWER_CONTROL5, 0x2018 | lcd_contrast);
diff --git a/firmware/target/arm/tcc77x/c100/button-c100.c b/firmware/target/arm/tcc77x/c100/button-c100.c
index ebf92f780c..47b004eb61 100644
--- a/firmware/target/arm/tcc77x/c100/button-c100.c
+++ b/firmware/target/arm/tcc77x/c100/button-c100.c
@@ -54,7 +54,7 @@ int button_read_device(void)
54 54
55 if (GPIOA & 0x80) btn |= BUTTON_SELECT; 55 if (GPIOA & 0x80) btn |= BUTTON_SELECT;
56 if (GPIOA & 0x100) btn |= BUTTON_POWER; 56 if (GPIOA & 0x100) btn |= BUTTON_POWER;
57 } 57 }
58 return btn; 58 return btn;
59} 59}
60 60
diff --git a/firmware/target/arm/tcc77x/c100/lcd-S6B33B2.c b/firmware/target/arm/tcc77x/c100/lcd-S6B33B2.c
index 4f1ec2a1f2..4abd17741b 100644
--- a/firmware/target/arm/tcc77x/c100/lcd-S6B33B2.c
+++ b/firmware/target/arm/tcc77x/c100/lcd-S6B33B2.c
@@ -102,13 +102,13 @@ void lcd_init_device(void)
102 (2 << 11) | /* Setup time = 2 cycles */ 102 (2 << 11) | /* Setup time = 2 cycles */
103 (2 << 3) | /* Pulse width = 2+1 cycles */ 103 (2 << 3) | /* Pulse width = 2+1 cycles */
104 (2 << 0); /* Hold time = 2 cycle */ 104 (2 << 0); /* Hold time = 2 cycle */
105 105
106 GPIOE &= ~0x8; 106 GPIOE &= ~0x8;
107 sleep(HZ/100); /* 10ms */ 107 sleep(HZ/100); /* 10ms */
108 108
109 GPIOE |= 0x08; 109 GPIOE |= 0x08;
110 sleep(HZ/100); /* 10ms */ 110 sleep(HZ/100); /* 10ms */
111 111
112 lcd_send_command(R_STANDBY_OFF); 112 lcd_send_command(R_STANDBY_OFF);
113 sleep(HZ/20); /* 50ms */ 113 sleep(HZ/20); /* 50ms */
114 114
@@ -192,7 +192,7 @@ int lcd_default_contrast(void)
192 192
193void lcd_set_contrast(int val) 193void lcd_set_contrast(int val)
194{ 194{
195 //val &= 0xFF; 195 //val &= 0xFF;
196 lcd_send_command(R_CONTRAST_CONTROL1); 196 lcd_send_command(R_CONTRAST_CONTROL1);
197 lcd_send_command(val); 197 lcd_send_command(val);
198} 198}
diff --git a/firmware/target/arm/tcc77x/system-tcc77x.c b/firmware/target/arm/tcc77x/system-tcc77x.c
index 29227b52a3..afcbf9861f 100644
--- a/firmware/target/arm/tcc77x/system-tcc77x.c
+++ b/firmware/target/arm/tcc77x/system-tcc77x.c
@@ -77,19 +77,19 @@ static void gpio_init(void)
77 GPIOD_FUNC = 0; 77 GPIOD_FUNC = 0;
78 GPIOD_DIR = 0x3f0; 78 GPIOD_DIR = 0x3f0;
79 GPIOD = 0xe0; 79 GPIOD = 0xe0;
80 80
81 GPIOE_FUNC = 0; 81 GPIOE_FUNC = 0;
82 GPIOE_DIR = 0xe0; 82 GPIOE_DIR = 0xe0;
83 GPIOE = 0; 83 GPIOE = 0;
84 84
85 GPIOA_FUNC = 0; 85 GPIOA_FUNC = 0;
86 GPIOA_DIR = 0xffff1000; /* 0 - 0xf000 */ 86 GPIOA_DIR = 0xffff1000; /* 0 - 0xf000 */
87 GPIOA = 0x1080; 87 GPIOA = 0x1080;
88 88
89 GPIOB_FUNC = 0x16a3; 89 GPIOB_FUNC = 0x16a3;
90 GPIOB_DIR = 0x6ffff; 90 GPIOB_DIR = 0x6ffff;
91 GPIOB = 0; 91 GPIOB = 0;
92 92
93 GPIOC_FUNC = 1; 93 GPIOC_FUNC = 1;
94 GPIOC_DIR = 0x03ffffff; /* mvn r2, 0xfc000000 */ 94 GPIOC_DIR = 0x03ffffff; /* mvn r2, 0xfc000000 */
95 GPIOC = 0; 95 GPIOC = 0;
@@ -128,7 +128,7 @@ static void gpio_init(void)
128 GPIOC_FUNC = 1; 128 GPIOC_FUNC = 1;
129 GPIOD_FUNC |= 2; 129 GPIOD_FUNC |= 2;
130 GPIOE_FUNC = 0; 130 GPIOE_FUNC = 0;
131 131
132 GPIOA_DIR = 0xFFFF0E00; 132 GPIOA_DIR = 0xFFFF0E00;
133 GPIOB_DIR = 0x6FFFF; 133 GPIOB_DIR = 0x6FFFF;
134 GPIOC_DIR = 0x03FFFFFF; 134 GPIOC_DIR = 0x03FFFFFF;
@@ -258,7 +258,7 @@ http://infocenter.arm.com/help/topic/com.arm.doc.ddi0201d/DDI0201D_arm946es_r1p1
258 "mcr p15, 0, r0, c6, c7, 0 \n\t" 258 "mcr p15, 0, r0, c6, c7, 0 \n\t"
259 "mcr p15, 0, r0, c6, c7, 1 \n\t" 259 "mcr p15, 0, r0, c6, c7, 1 \n\t"
260 260
261 261
262 /* Register 5 - Access Permission Registers */ 262 /* Register 5 - Access Permission Registers */
263 263
264 "ldr r0, =0xffff \n\t" 264 "ldr r0, =0xffff \n\t"
diff --git a/firmware/target/arm/tms320dm320/creative-zvm/usb-creativezvm.c b/firmware/target/arm/tms320dm320/creative-zvm/usb-creativezvm.c
index d3f7789ab0..a70f260b85 100644
--- a/firmware/target/arm/tms320dm320/creative-zvm/usb-creativezvm.c
+++ b/firmware/target/arm/tms320dm320/creative-zvm/usb-creativezvm.c
@@ -66,7 +66,7 @@ void IRAM_ATTR GIO7(void)
66#ifdef DEBUG 66#ifdef DEBUG
67 //printf("GIO7 interrupt... [%d]", current_tick); 67 //printf("GIO7 interrupt... [%d]", current_tick);
68#endif 68#endif
69 usb_drv_int(); 69 usb_drv_int();
70 70
71 IO_INTC_IRQ1 = INTR_IRQ1_EXT7; 71 IO_INTC_IRQ1 = INTR_IRQ1_EXT7;
72} 72}
diff --git a/firmware/target/arm/tms320dm320/debug-dm320.c b/firmware/target/arm/tms320dm320/debug-dm320.c
index 9563a13302..8be21065d6 100644
--- a/firmware/target/arm/tms320dm320/debug-dm320.c
+++ b/firmware/target/arm/tms320dm320/debug-dm320.c
@@ -41,7 +41,7 @@ bool __dbg_ports(void)
41#if defined(MROBE_500) 41#if defined(MROBE_500)
42 int line = 0; 42 int line = 0;
43 int i; 43 int i;
44 int button; 44 int button;
45 bool done=false; 45 bool done=false;
46 46
47 lcd_setfont(FONT_SYSFIXED); 47 lcd_setfont(FONT_SYSFIXED);
@@ -124,7 +124,7 @@ bool __dbg_ports(void)
124bool __dbg_hw_info(void) 124bool __dbg_hw_info(void)
125{ 125{
126 int line = 0, oldline; 126 int line = 0, oldline;
127 int button; 127 int button;
128#if defined(MROBE_500) 128#if defined(MROBE_500)
129 int *address=0x0; 129 int *address=0x0;
130#endif 130#endif
@@ -175,18 +175,18 @@ bool __dbg_hw_info(void)
175 IO_INTC_EINT2, IO_INTC_IRQ0); 175 IO_INTC_EINT2, IO_INTC_IRQ0);
176 lcd_putsf(0, line++, " IO_INTC_IRQ1: 0x%04x IO_INTC_IRQ2: 0x%04x ", 176 lcd_putsf(0, line++, " IO_INTC_IRQ1: 0x%04x IO_INTC_IRQ2: 0x%04x ",
177 IO_INTC_IRQ1, IO_INTC_IRQ2); 177 IO_INTC_IRQ1, IO_INTC_IRQ2);
178 178
179 lcd_puts(0, line++, "Board revision:"); 179 lcd_puts(0, line++, "Board revision:");
180 switch (IO_BUSC_REVR) { 180 switch (IO_BUSC_REVR) {
181 case 0x0010: 181 case 0x0010:
182 lcd_puts(0, line++, " DM320 Rev. A"); 182 lcd_puts(0, line++, " DM320 Rev. A");
183 break; 183 break;
184 case 0x0011: 184 case 0x0011:
185 lcd_puts(0, line++, " DM320 Rev. B/C"); 185 lcd_puts(0, line++, " DM320 Rev. B/C");
186 break; 186 break;
187 default: 187 default:
188 lcd_puts(0, line++, " Unknown DM320 Chip ID"); 188 lcd_puts(0, line++, " Unknown DM320 Chip ID");
189 } 189 }
190 190
191#if defined(MROBE_500) 191#if defined(MROBE_500)
192 line++; 192 line++;
diff --git a/firmware/target/arm/tms320dm320/dsp/arm.c b/firmware/target/arm/tms320dm320/dsp/arm.c
index e0df31c7a1..9d886ffede 100644
--- a/firmware/target/arm/tms320dm320/dsp/arm.c
+++ b/firmware/target/arm/tms320dm320/dsp/arm.c
@@ -42,24 +42,24 @@ interrupt void handle_int0(void) {
42 waiting = 0; 42 waiting = 0;
43 43
44 if(dma0_stopped==0) 44 if(dma0_stopped==0)
45 { 45 {
46 if(!(DMPREC&0x01)) 46 if(!(DMPREC&0x01))
47 { 47 {
48 /* Give the HPIB access to refill first */ 48 /* Give the HPIB access to refill first */
49 rebuffer(); 49 rebuffer();
50 50
51 /* Start the MCBSP DMA */ 51 /* Start the MCBSP DMA */
52 DMPREC |= 1; 52 DMPREC |= 1;
53 audiohw_start(); 53 audiohw_start();
54 } 54 }
55 else 55 else
56 { 56 {
57 rebuffer(); 57 rebuffer();
58 } 58 }
59 } 59 }
60 else 60 else
61 { 61 {
62 rebuffer(); 62 rebuffer();
63 } 63 }
64} 64}
65 65
@@ -88,8 +88,8 @@ void debugf(const char *fmt, ...) {
88 vsnprintf((char *)status.payload.debugf.buffer, sizeof(status), fmt, args); 88 vsnprintf((char *)status.payload.debugf.buffer, sizeof(status), fmt, args);
89 va_end(args); 89 va_end(args);
90 90
91 startack(); 91 startack();
92 waitack(); 92 waitack();
93 93
94 acked = 2; 94 acked = 2;
95} 95}
diff --git a/firmware/target/arm/tms320dm320/dsp/dma.c b/firmware/target/arm/tms320dm320/dsp/dma.c
index 590b35de80..3048d294b1 100644
--- a/firmware/target/arm/tms320dm320/dsp/dma.c
+++ b/firmware/target/arm/tms320dm320/dsp/dma.c
@@ -8,13 +8,13 @@
8 * $Id$ 8 * $Id$
9 * 9 *
10 * Copyright (C) 2008 by Catalin Patulea 10 * Copyright (C) 2008 by Catalin Patulea
11 * Copyright (C) 2008 by Maurus Cuelenaere 11 * Copyright (C) 2008 by Maurus Cuelenaere
12 * Copyright (C) 2009 by Karl Kurbjun 12 * Copyright (C) 2009 by Karl Kurbjun
13 * 13 *
14 * This program is free software; you can redistribute it and/or 14 * This program is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU General Public License 15 * modify it under the terms of the GNU General Public License
16 * as published by the Free Software Foundation; either version 2 16 * as published by the Free Software Foundation; either version 2
17 * of the License, or (at your option) any later version. 17 * of the License, or (at your option) any later version.
18 * 18 *
19 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 19 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
20 * KIND, either express or implied. 20 * KIND, either express or implied.
@@ -23,139 +23,139 @@
23 23
24#include "registers.h" 24#include "registers.h"
25#include "arm.h" 25#include "arm.h"
26#include "ipc.h" 26#include "ipc.h"
27
28/* Size of data buffer in words (16 bit) */
29#define DSP_BUFFER_SIZE (0x1000)
30 27
31/* Put the "data" buffer in it's own .dma section so that it can 28/* Size of data buffer in words (16 bit) */
29#define DSP_BUFFER_SIZE (0x1000)
30
31/* Put the "data" buffer in it's own .dma section so that it can
32 * be handled in the linker.cmd. */ 32 * be handled in the linker.cmd. */
33#pragma DATA_SECTION (data, ".dma") 33#pragma DATA_SECTION (data, ".dma")
34 34
35/* This is the "data" buffer on the DSP side used for SARAM to McBSP (IIS) */ 35/* This is the "data" buffer on the DSP side used for SARAM to McBSP (IIS) */
36static signed short data[DSP_BUFFER_SIZE]; 36static signed short data[DSP_BUFFER_SIZE];
37 37
38/* These two describe the location of the buffer on the ARM (set in DSPHINT) */ 38/* These two describe the location of the buffer on the ARM (set in DSPHINT) */
39volatile unsigned short sdem_addrh; 39volatile unsigned short sdem_addrh;
40volatile unsigned short sdem_addrl; 40volatile unsigned short sdem_addrl;
41 41
42/* This is the size of the ARM buffer (set in DSPHINT) */ 42/* This is the size of the ARM buffer (set in DSPHINT) */
43volatile unsigned short sdem_dsp_size; 43volatile unsigned short sdem_dsp_size;
44 44
45/* These two variables keep track of the buffer level in the DSP, dsp_level, 45/* These two variables keep track of the buffer level in the DSP, dsp_level,
46 * (SARAM to McBSP) and the level on the ARM buffer (sdem_level). 46 * (SARAM to McBSP) and the level on the ARM buffer (sdem_level).
47 * sdem_level is used in the main firmware to keep track of the current 47 * sdem_level is used in the main firmware to keep track of the current
48 * playback status. dsp_level is only used in this function. */ 48 * playback status. dsp_level is only used in this function. */
49static unsigned short dsp_level; 49static unsigned short dsp_level;
50volatile unsigned short sdem_level; 50volatile unsigned short sdem_level;
51 51
52/* This is used to keep track of the last SDRAM to SARAM transfer */ 52/* This is used to keep track of the last SDRAM to SARAM transfer */
53static unsigned short last_size; 53static unsigned short last_size;
54 54
55/* This tells us which half of the DSP buffer (data) is free */ 55/* This tells us which half of the DSP buffer (data) is free */
56static unsigned short dma0_unlocked; 56static unsigned short dma0_unlocked;
57 57
58/* This is used by the ARM to flag playback status and start/stop the DMA 58/* This is used by the ARM to flag playback status and start/stop the DMA
59 * transfers. */ 59 * transfers. */
60volatile unsigned short dma0_stopped; 60volatile unsigned short dma0_stopped;
61 61
62/* This is used to effectively flag whether the ARM has new data ready or not */ 62/* This is used to effectively flag whether the ARM has new data ready or not */
63short waiting; 63short waiting;
64 64
65 65
66/* rebuffer sets up the next SDRAM to SARAM transfer and tells the ARM when DMA 66/* rebuffer sets up the next SDRAM to SARAM transfer and tells the ARM when DMA
67 * needs a new buffer. 67 * needs a new buffer.
68 * 68 *
69 * Note: The upper limit on larger buffers is the size of a short. If larger 69 * Note: The upper limit on larger buffers is the size of a short. If larger
70 * buffer sizes are needed the code on the ARM side needs to be changed to 70 * buffer sizes are needed the code on the ARM side needs to be changed to
71 * update a full long. 71 * update a full long.
72 */ 72 */
73void rebuffer(void) 73void rebuffer(void)
74{ 74{
75 unsigned long sdem_addr; 75 unsigned long sdem_addr;
76 76
77 if(dma0_stopped==1 || dma0_stopped==2) /* Stop / Pause */ 77 if(dma0_stopped==1 || dma0_stopped==2) /* Stop / Pause */
78 { 78 {
79 /* Stop MCBSP DMA0 */ 79 /* Stop MCBSP DMA0 */
80 DMPREC &= 0xFFFE; 80 DMPREC &= 0xFFFE;
81 /* Shut the transmitter down */ 81 /* Shut the transmitter down */
82 audiohw_stop(); 82 audiohw_stop();
83 83
84 /* Stop the HPIB transfer if it is running */ 84 /* Stop the HPIB transfer if it is running */
85 DMA_TRG = 0; 85 DMA_TRG = 0;
86 86
87 /* Reset the following variables for DMA restart */ 87 /* Reset the following variables for DMA restart */
88 sdem_level = 0; 88 sdem_level = 0;
89 dsp_level = 0; 89 dsp_level = 0;
90 last_size = 0; 90 last_size = 0;
91 91
92 return; 92 return;
93 } 93 }
94 94
95 /* If the sdem_level is equal to the buffer size the ARM code gave 95 /* If the sdem_level is equal to the buffer size the ARM code gave
96 * (sdem_dsp_size) then reset the size and ask the arm for another buffer 96 * (sdem_dsp_size) then reset the size and ask the arm for another buffer
97 */ 97 */
98 if(sdem_level == sdem_dsp_size) 98 if(sdem_level == sdem_dsp_size)
99 { 99 {
100 sdem_level=0; 100 sdem_level=0;
101 101
102 /* Get a new buffer (location and size) from ARM */ 102 /* Get a new buffer (location and size) from ARM */
103 status.msg = MSG_REFILL; 103 status.msg = MSG_REFILL;
104 waiting=1; 104 waiting=1;
105 105
106 /* trigger DSPHINT on the ARM */ 106 /* trigger DSPHINT on the ARM */
107 int_arm(); 107 int_arm();
108 } 108 }
109 109
110 if(!waiting) 110 if(!waiting)
111 { 111 {
112 /* Size is in bytes (but forced 32 bit transfers). Comparison is 112 /* Size is in bytes (but forced 32 bit transfers). Comparison is
113 * against DSP_BUFFER_SIZE because it is in words and this needs to 113 * against DSP_BUFFER_SIZE because it is in words and this needs to
114 * compare against half the total size in bytes. */ 114 * compare against half the total size in bytes. */
115 if( dsp_level + sdem_dsp_size - sdem_level > DSP_BUFFER_SIZE) 115 if( dsp_level + sdem_dsp_size - sdem_level > DSP_BUFFER_SIZE)
116 { 116 {
117 last_size = DSP_BUFFER_SIZE - dsp_level; 117 last_size = DSP_BUFFER_SIZE - dsp_level;
118 } 118 }
119 else 119 else
120 { 120 {
121 last_size = sdem_dsp_size - sdem_level; 121 last_size = sdem_dsp_size - sdem_level;
122 } 122 }
123 123
124 /* DSP addresses are 16 bit (word). dsp_level is in bytes so it needs to 124 /* DSP addresses are 16 bit (word). dsp_level is in bytes so it needs to
125 * be converted to words. */ 125 * be converted to words. */
126 DSP_ADDRL = (unsigned short)data + dma0_unlocked + (dsp_level >> 1); 126 DSP_ADDRL = (unsigned short)data + dma0_unlocked + (dsp_level >> 1);
127 DSP_ADDRH = 0; 127 DSP_ADDRH = 0;
128 128
129 /* SDRAM addresses are 8 bit (byte) 129 /* SDRAM addresses are 8 bit (byte)
130 * Warning: These addresses are forced to 32 bit alignment! 130 * Warning: These addresses are forced to 32 bit alignment!
131 */ 131 */
132 sdem_addr = ((unsigned long)sdem_addrh << 16 | sdem_addrl) + sdem_level; 132 sdem_addr = ((unsigned long)sdem_addrh << 16 | sdem_addrl) + sdem_level;
133 SDEM_ADDRL = sdem_addr & 0xffff; 133 SDEM_ADDRL = sdem_addr & 0xffff;
134 SDEM_ADDRH = sdem_addr >> 16; 134 SDEM_ADDRH = sdem_addr >> 16;
135 135
136 /* Set the size of the SDRAM to SARAM transfer (demac transfer) */ 136 /* Set the size of the SDRAM to SARAM transfer (demac transfer) */
137 DMA_SIZE = last_size; 137 DMA_SIZE = last_size;
138 138
139 DMA_CTRL = 0; 139 DMA_CTRL = 0;
140 140
141 /* These are just debug signals that are not used/needed right now */ 141 /* These are just debug signals that are not used/needed right now */
142 status.payload.refill._DMA_TRG = DMA_TRG; 142 status.payload.refill._DMA_TRG = DMA_TRG;
143 status.payload.refill._SDEM_ADDRH = SDEM_ADDRH; 143 status.payload.refill._SDEM_ADDRH = SDEM_ADDRH;
144 status.payload.refill._SDEM_ADDRL = SDEM_ADDRL; 144 status.payload.refill._SDEM_ADDRL = SDEM_ADDRL;
145 status.payload.refill._DSP_ADDRH = DSP_ADDRH; 145 status.payload.refill._DSP_ADDRH = DSP_ADDRH;
146 status.payload.refill._DSP_ADDRL = DSP_ADDRL; 146 status.payload.refill._DSP_ADDRL = DSP_ADDRL;
147 147
148 /* Start the demac transfer */ 148 /* Start the demac transfer */
149 DMA_TRG = 1; 149 DMA_TRG = 1;
150 } 150 }
151} 151}
152 152
153/* This interupt handler is for the SARAM (on DSP) to McBSP IIS DMA transfer. 153/* This interupt handler is for the SARAM (on DSP) to McBSP IIS DMA transfer.
154 * It interupts at 1/2 empty and empty so that we can start filling a new buffer 154 * It interupts at 1/2 empty and empty so that we can start filling a new buffer
155 * from SDRAM when a half is free. dsp_level should always be full when this 155 * from SDRAM when a half is free. dsp_level should always be full when this
156 * interupt occurs except for the initial start. */ 156 * interupt occurs except for the initial start. */
157interrupt void handle_dma0(void) 157interrupt void handle_dma0(void)
158{ 158{
159 /* Byte offset to half-buffer locked by DMA0. 159 /* Byte offset to half-buffer locked by DMA0.
160 0 for top, DSP_BUFFER_SIZE/2 for bottom */ 160 0 for top, DSP_BUFFER_SIZE/2 for bottom */
161 unsigned short dma0_locked; 161 unsigned short dma0_locked;
@@ -163,70 +163,70 @@ interrupt void handle_dma0(void)
163 IFR = 1 << 6; 163 IFR = 1 << 6;
164 164
165 /* DMSRC0 is the beginning of the DMA0-locked SARAM half-buffer. */ 165 /* DMSRC0 is the beginning of the DMA0-locked SARAM half-buffer. */
166 DMSA = 0x00 /* DMSRC0 (banked register, see page 133 of SPRU302B */; 166 DMSA = 0x00 /* DMSRC0 (banked register, see page 133 of SPRU302B */;
167 167
168 /* Note that these address offsets (dma0_locked and dma0_unlocked are in 168 /* Note that these address offsets (dma0_locked and dma0_unlocked are in
169 * words. */ 169 * words. */
170 dma0_locked = DMSDN & (DSP_BUFFER_SIZE>>1); 170 dma0_locked = DMSDN & (DSP_BUFFER_SIZE>>1);
171 dma0_unlocked = dma0_locked ^ (DSP_BUFFER_SIZE>>1); 171 dma0_unlocked = dma0_locked ^ (DSP_BUFFER_SIZE>>1);
172 172
173 dsp_level = 0; 173 dsp_level = 0;
174 174
175 /* Start the SDRAM to SARAM copy */ 175 /* Start the SDRAM to SARAM copy */
176 rebuffer(); 176 rebuffer();
177} 177}
178 178
179/* This interupt handler runs every time a DMA transfer is complete from SDRAM 179/* This interupt handler runs every time a DMA transfer is complete from SDRAM
180 * to the SARAM buffer. It is used to update the SARAM buffer level 180 * to the SARAM buffer. It is used to update the SARAM buffer level
181 * (dsp_level), the SDRAM buffer level (sdem_level) and to rebuffer if the dsp 181 * (dsp_level), the SDRAM buffer level (sdem_level) and to rebuffer if the dsp
182 * buffer is not full. */ 182 * buffer is not full. */
183interrupt void handle_dmac(void) { 183interrupt void handle_dmac(void) {
184 IFR = 1 << 11; /* Clear interrupt */ 184 IFR = 1 << 11; /* Clear interrupt */
185 185
186 /* dsp_level and sdem_level are in bytes */ 186 /* dsp_level and sdem_level are in bytes */
187 dsp_level += last_size; 187 dsp_level += last_size;
188 sdem_level += last_size; 188 sdem_level += last_size;
189 189
190 /* compare to DSP_BUFFER_SIZE without a divide because it is in words and 190 /* compare to DSP_BUFFER_SIZE without a divide because it is in words and
191 * we want half the total size in bytes. */ 191 * we want half the total size in bytes. */
192 if(dsp_level < DSP_BUFFER_SIZE) 192 if(dsp_level < DSP_BUFFER_SIZE)
193 { 193 {
194 rebuffer(); 194 rebuffer();
195 } 195 }
196} 196}
197 197
198void dma_init(void) { 198void dma_init(void) {
199 /* Initialize some of the global variables to known values avoiding the 199 /* Initialize some of the global variables to known values avoiding the
200 * .cinit section. */ 200 * .cinit section. */
201 dsp_level = 0; 201 dsp_level = 0;
202 sdem_level = 0; 202 sdem_level = 0;
203 203
204 last_size = 0; 204 last_size = 0;
205 dma0_unlocked = 0; 205 dma0_unlocked = 0;
206 dma0_stopped = 1; 206 dma0_stopped = 1;
207 207
208 waiting = 0; 208 waiting = 0;
209 209
210 /* Configure SARAM to McBSP DMA */ 210 /* Configure SARAM to McBSP DMA */
211 211
212 /* Event XEVT0, 32-bit transfers, 0 frame count */ 212 /* Event XEVT0, 32-bit transfers, 0 frame count */
213 DMSFC0 = 2 << 12 | 1 << 11; 213 DMSFC0 = 2 << 12 | 1 << 11;
214 214
215 /* Interrupts generated, Half and full buffer. 215 /* Interrupts generated, Half and full buffer.
216 * ABU mode, From data space with postincrement, to data space with no 216 * ABU mode, From data space with postincrement, to data space with no
217 * change 217 * change
218 */ 218 */
219 DMMCR0 = 1 << 14 | 1 << 13 | 219 DMMCR0 = 1 << 14 | 1 << 13 |
220 1 << 12 | 1 << 8 | 1 << 6 | 1; 220 1 << 12 | 1 << 8 | 1 << 6 | 1;
221 221
222 /* Set the source (incrementing) location */ 222 /* Set the source (incrementing) location */
223 DMSRC0 = (unsigned short)&data; 223 DMSRC0 = (unsigned short)&data;
224 224
225 /* Set the destination (static) location to the McBSP IIS interface */ 225 /* Set the destination (static) location to the McBSP IIS interface */
226 DMDST0 = (unsigned short)&DXR20; 226 DMDST0 = (unsigned short)&DXR20;
227 227
228 /* Set the size of the buffer */ 228 /* Set the size of the buffer */
229 DMCTR0 = sizeof(data); 229 DMCTR0 = sizeof(data);
230 230
231 /* Setup DMA0 interrupts and start the transfer */ 231 /* Setup DMA0 interrupts and start the transfer */
232 DMPREC = 2 << 6; 232 DMPREC = 2 << 6;
diff --git a/firmware/target/arm/tms320dm320/dsp/dsp-image.h b/firmware/target/arm/tms320dm320/dsp/dsp-image.h
index f7ec449a33..9f7ff65828 100644
--- a/firmware/target/arm/tms320dm320/dsp/dsp-image.h
+++ b/firmware/target/arm/tms320dm320/dsp/dsp-image.h
@@ -20,19 +20,19 @@
20 * 20 *
21 */ 21 */
22static const unsigned short _section_text[] = { 22static const unsigned short _section_text[] = {
23 0xf495, 0x4a08, 0x4a09, 0x4a0a, 0x4a0b, 0x4a0c, 0x4a0d, 0x4a10, 0x4a11, 0x4a12, 0x4a13, 0x4a14, 0x4a15, 0x4a16, 0x4a17, 0x4a17, 0x4a19, 0x4a0e, 0x4a06, 0x4a07, 0x4a1a, 0x4a1d, 0x4a1b, 0x4a1c, 0x68f8, 0x0007, 0x7d3f, 0x69f8, 0x0007, 0x4000, 0x68f8, 0x001d, 0xfffc, 0x4818, 0x68f8, 0x0018, 0xfffe, 0x7711, 0x0001, 0x4a08, 0x7681, 0x0001, 0x10f8, 0x031d, 0x76f8, 0x031e, 0x0000, 0xfa44, 0x00c2, 0xf495, 0xeeff, 0x7712, 0x0054, 0x960f, 0xf830, 0x00c2, 0xf074, 0x00fc, 0x7711, 0x0054, 0x6981, 0x0001, 0xf074, 0x02af, 0xf073, 0x00c4, 0xf074, 0x00fc, 0xee01, 0x8a18, 0xf495, 0x8a1c, 0x8a1b, 0x8a1d, 0x8a1a, 0x8a07, 0x8a06, 0x8a0e, 0x8a19, 0x8a17, 0x8a17, 0x8a16, 0x8a15, 0x8a14, 0x8a13, 0x8a12, 0x8a11, 0x8a10, 0x8a0d, 0x8a0c, 0x8a0b, 0x8a0a, 0x8a09, 0x8a08, 0xf4eb, 0x4a11, 0x7711, 0x0026, 0x7712, 0x0001, 0x7713, 0x0001, 0x7681, 0x0010, 0x7711, 0x0000, 0x7681, 0xffff, 0xe501, 0xf495, 0xf6bb, 0xf074, 0x0284, 0xf074, 0x0243, 0xf4e1, 0xf495, 0xf073, 0x00f3, 0xe808, 0x75f8, 0x0008, 0x0280, 0xfc00, 0x4a11, 0x60f8, 0x031d, 0x0001, 0xfa30, 0x0109, 0xf495, 0xeefe, 0x60f8, 0x031d, 0x0002, 0xf820, 0x011e, 0x7711, 0x0054, 0x6881, 0xfffe, 0xf074, 0x02ba, 0xe800, 0x75f8, 0x0008, 0x8006, 0x76f8, 0x031b, 0x0000, 0x76f8, 0x0319, 0x0000, 0x76f8, 0x031a, 0x0000, 0xf073, 0x018b, 0x10f8, 0x031a, 0x08f8, 0x0318, 0xf844, 0x012f, 0x76f8, 0x031a, 0x0000, 0x76f8, 0x031e, 0x0001, 0x76f8, 0x02c5, 0x0003, 0xf074, 0x00f7, 0x10f8, 0x031e, 0xf844, 0x018b, 0x10f8, 0x0318, 0x00f8, 0x0319, 0x08f8, 0x031a, 0x8811, 0xf495, 0x7710, 0x1000, 0xf6a9, 0xf820, 0x0146, 0xf020, 0x1000, 0xf273, 0x014a, 0x08f8, 0x0319, 0x10f8, 0x0318, 0x08f8, 0x031a, 0x80f8, 0x031b, 0x10f8, 0x031c, 0xf6b8, 0xf000, 0x8000, 0x6ff8, 0x0319, 0x0c1f, 0x75f8, 0x0008, 0x8002, 0xe800, 0x75f8, 0x0008, 0x8003, 0x10f8, 0x0316, 0xf1ef, 0xf3e1, 0x10f8, 0x0317, 0xf2a0, 0x00f8, 0x031a, 0x4e00, 0xf020, 0xffff, 0x5700, 0xf280, 0x75f8, 0x0008, 0x8000, 0x5600, 0xf0f0, 0x75f8, 0x0008, 0x8001, 0xe800, 0x75f8, 0x031b, 0x8004, 0x75f8, 0x0008, 0x8005, 0x74f8, 0x02c7, 0x8006, 0x74f8, 0x02c8, 0x8001, 0x74f8, 0x02c9, 0x8000, 0x74f8, 0x02ca, 0x8003, 0xe801, 0x74f8, 0x02cb, 0x8002, 0x75f8, 0x0008, 0x8006, 0xee02, 0x8a11, 0xfc00, 0xf495, 0x4a08, 0x4a09, 0x4a0a, 0x4a0b, 0x4a0c, 0x4a0d, 0x4a10, 0x4a11, 0x4a12, 0x4a13, 0x4a14, 0x4a15, 0x4a16, 0x4a17, 0x4a17, 0x4a19, 0x4a0e, 0x4a06, 0x4a07, 0x4a1a, 0x4a1d, 0x4a1b, 0x4a1c, 0x68f8, 0x0007, 0x7d3f, 0x69f8, 0x0007, 0x4000, 0x68f8, 0x001d, 0xfffc, 0x4818, 0x68f8, 0x0018, 0xfffe, 0x7711, 0x0001, 0x4a08, 0x7681, 0x0040, 0x7711, 0x0055, 0x7681, 0x0000, 0xf020, 0x0800, 0x7711, 0x0057, 0xeeff, 0x1881, 0x8000, 0xf020, 0x0800, 0x1c00, 0x76f8, 0x0319, 0x0000, 0x80f8, 0x031c, 0xf074, 0x00fc, 0xee01, 0x8a18, 0xf495, 0x8a1c, 0x8a1b, 0x8a1d, 0x8a1a, 0x8a07, 0x8a06, 0x8a0e, 0x8a19, 0x8a17, 0x8a17, 0x8a16, 0x8a15, 0x8a14, 0x8a13, 0x8a12, 0x8a11, 0x8a10, 0x8a0d, 0x8a0c, 0x8a0b, 0x8a0a, 0x8a09, 0x8a08, 0xf4eb, 0xf495, 0x4a08, 0x4a09, 0x4a0a, 0x4a0b, 0x4a0c, 0x4a0d, 0x4a10, 0x4a11, 0x4a12, 0x4a13, 0x4a14, 0x4a15, 0x4a16, 0x4a17, 0x4a17, 0x4a19, 0x4a0e, 0x4a06, 0x4a07, 0x4a1a, 0x4a1d, 0x4a1b, 0x4a1c, 0x68f8, 0x0007, 0x7d3f, 0x69f8, 0x0007, 0x4000, 0x68f8, 0x001d, 0xfffc, 0x4818, 0x68f8, 0x0018, 0xfffe, 0x7711, 0x0001, 0x4a08, 0x7681, 0x0800, 0x10f8, 0x031b, 0x00f8, 0x0319, 0x80f8, 0x0319, 0x7710, 0x1000, 0x7211, 0x0319, 0x10f8, 0x031b, 0xf5a9, 0xeeff, 0x00f8, 0x031a, 0xfa20, 0x0228, 0x80f8, 0x031a, 0xf074, 0x00fc, 0xee01, 0x8a18, 0xf495, 0x8a1c, 0x8a1b, 0x8a1d, 0x8a1a, 0x8a07, 0x8a06, 0x8a0e, 0x8a19, 0x8a17, 0x8a17, 0x8a16, 0x8a15, 0x8a14, 0x8a13, 0x8a12, 0x8a11, 0x8a10, 0x8a0d, 0x8a0c, 0x8a0b, 0x8a0a, 0x8a09, 0x8a08, 0xf4eb, 0x4a11, 0x7711, 0x0055, 0x76f8, 0x031a, 0x0000, 0x76f8, 0x0319, 0x0000, 0x76f8, 0x031b, 0x0000, 0x76f8, 0x031c, 0x0000, 0x76f8, 0x031e, 0x0000, 0x76f8, 0x031d, 0x0001, 0x7681, 0x0003, 0x7711, 0x0057, 0x7681, 0x2800, 0x7711, 0x0055, 0x7681, 0x0004, 0x7711, 0x0057, 0x7681, 0x7141, 0x7711, 0x0055, 0x7681, 0x0000, 0x7711, 0x0057, 0x7681, 0x8000, 0x7711, 0x0055, 0x7681, 0x0001, 0x7711, 0x0057, 0x7681, 0x0022, 0x7711, 0x0055, 0x7681, 0x0002, 0x7711, 0x0057, 0x7681, 0x1000, 0x7711, 0x0054, 0x7681, 0x0080, 0x8a11, 0xfc00, 0x4a11, 0x7711, 0x0038, 0x7681, 0x0000, 0x7711, 0x0039, 0x7681, 0x0000, 0x7711, 0x0038, 0x7681, 0x0001, 0x7711, 0x0039, 0x7681, 0x0030, 0x7711, 0x0038, 0x7681, 0x000e, 0x7711, 0x0039, 0x7681, 0x0002, 0x7711, 0x0038, 0x7681, 0x0004, 0x7711, 0x0039, 0x7681, 0x00a0, 0x7711, 0x0038, 0x7681, 0x0005, 0x7711, 0x0039, 0x7681, 0x0000, 0x8a11, 0xfc00, 0x4a11, 0x7711, 0x0038, 0x7681, 0x0001, 0x7711, 0x0039, 0x6981, 0x0001, 0x8a11, 0xfc00, 0x4a11, 0x7711, 0x0038, 0x7681, 0x0001, 0x7711, 0x0039, 0x6881, 0xfffe, 0x8a11, 0xfc00, 23 0xf495, 0x4a08, 0x4a09, 0x4a0a, 0x4a0b, 0x4a0c, 0x4a0d, 0x4a10, 0x4a11, 0x4a12, 0x4a13, 0x4a14, 0x4a15, 0x4a16, 0x4a17, 0x4a17, 0x4a19, 0x4a0e, 0x4a06, 0x4a07, 0x4a1a, 0x4a1d, 0x4a1b, 0x4a1c, 0x68f8, 0x0007, 0x7d3f, 0x69f8, 0x0007, 0x4000, 0x68f8, 0x001d, 0xfffc, 0x4818, 0x68f8, 0x0018, 0xfffe, 0x7711, 0x0001, 0x4a08, 0x7681, 0x0001, 0x10f8, 0x031d, 0x76f8, 0x031e, 0x0000, 0xfa44, 0x00c2, 0xf495, 0xeeff, 0x7712, 0x0054, 0x960f, 0xf830, 0x00c2, 0xf074, 0x00fc, 0x7711, 0x0054, 0x6981, 0x0001, 0xf074, 0x02af, 0xf073, 0x00c4, 0xf074, 0x00fc, 0xee01, 0x8a18, 0xf495, 0x8a1c, 0x8a1b, 0x8a1d, 0x8a1a, 0x8a07, 0x8a06, 0x8a0e, 0x8a19, 0x8a17, 0x8a17, 0x8a16, 0x8a15, 0x8a14, 0x8a13, 0x8a12, 0x8a11, 0x8a10, 0x8a0d, 0x8a0c, 0x8a0b, 0x8a0a, 0x8a09, 0x8a08, 0xf4eb, 0x4a11, 0x7711, 0x0026, 0x7712, 0x0001, 0x7713, 0x0001, 0x7681, 0x0010, 0x7711, 0x0000, 0x7681, 0xffff, 0xe501, 0xf495, 0xf6bb, 0xf074, 0x0284, 0xf074, 0x0243, 0xf4e1, 0xf495, 0xf073, 0x00f3, 0xe808, 0x75f8, 0x0008, 0x0280, 0xfc00, 0x4a11, 0x60f8, 0x031d, 0x0001, 0xfa30, 0x0109, 0xf495, 0xeefe, 0x60f8, 0x031d, 0x0002, 0xf820, 0x011e, 0x7711, 0x0054, 0x6881, 0xfffe, 0xf074, 0x02ba, 0xe800, 0x75f8, 0x0008, 0x8006, 0x76f8, 0x031b, 0x0000, 0x76f8, 0x0319, 0x0000, 0x76f8, 0x031a, 0x0000, 0xf073, 0x018b, 0x10f8, 0x031a, 0x08f8, 0x0318, 0xf844, 0x012f, 0x76f8, 0x031a, 0x0000, 0x76f8, 0x031e, 0x0001, 0x76f8, 0x02c5, 0x0003, 0xf074, 0x00f7, 0x10f8, 0x031e, 0xf844, 0x018b, 0x10f8, 0x0318, 0x00f8, 0x0319, 0x08f8, 0x031a, 0x8811, 0xf495, 0x7710, 0x1000, 0xf6a9, 0xf820, 0x0146, 0xf020, 0x1000, 0xf273, 0x014a, 0x08f8, 0x0319, 0x10f8, 0x0318, 0x08f8, 0x031a, 0x80f8, 0x031b, 0x10f8, 0x031c, 0xf6b8, 0xf000, 0x8000, 0x6ff8, 0x0319, 0x0c1f, 0x75f8, 0x0008, 0x8002, 0xe800, 0x75f8, 0x0008, 0x8003, 0x10f8, 0x0316, 0xf1ef, 0xf3e1, 0x10f8, 0x0317, 0xf2a0, 0x00f8, 0x031a, 0x4e00, 0xf020, 0xffff, 0x5700, 0xf280, 0x75f8, 0x0008, 0x8000, 0x5600, 0xf0f0, 0x75f8, 0x0008, 0x8001, 0xe800, 0x75f8, 0x031b, 0x8004, 0x75f8, 0x0008, 0x8005, 0x74f8, 0x02c7, 0x8006, 0x74f8, 0x02c8, 0x8001, 0x74f8, 0x02c9, 0x8000, 0x74f8, 0x02ca, 0x8003, 0xe801, 0x74f8, 0x02cb, 0x8002, 0x75f8, 0x0008, 0x8006, 0xee02, 0x8a11, 0xfc00, 0xf495, 0x4a08, 0x4a09, 0x4a0a, 0x4a0b, 0x4a0c, 0x4a0d, 0x4a10, 0x4a11, 0x4a12, 0x4a13, 0x4a14, 0x4a15, 0x4a16, 0x4a17, 0x4a17, 0x4a19, 0x4a0e, 0x4a06, 0x4a07, 0x4a1a, 0x4a1d, 0x4a1b, 0x4a1c, 0x68f8, 0x0007, 0x7d3f, 0x69f8, 0x0007, 0x4000, 0x68f8, 0x001d, 0xfffc, 0x4818, 0x68f8, 0x0018, 0xfffe, 0x7711, 0x0001, 0x4a08, 0x7681, 0x0040, 0x7711, 0x0055, 0x7681, 0x0000, 0xf020, 0x0800, 0x7711, 0x0057, 0xeeff, 0x1881, 0x8000, 0xf020, 0x0800, 0x1c00, 0x76f8, 0x0319, 0x0000, 0x80f8, 0x031c, 0xf074, 0x00fc, 0xee01, 0x8a18, 0xf495, 0x8a1c, 0x8a1b, 0x8a1d, 0x8a1a, 0x8a07, 0x8a06, 0x8a0e, 0x8a19, 0x8a17, 0x8a17, 0x8a16, 0x8a15, 0x8a14, 0x8a13, 0x8a12, 0x8a11, 0x8a10, 0x8a0d, 0x8a0c, 0x8a0b, 0x8a0a, 0x8a09, 0x8a08, 0xf4eb, 0xf495, 0x4a08, 0x4a09, 0x4a0a, 0x4a0b, 0x4a0c, 0x4a0d, 0x4a10, 0x4a11, 0x4a12, 0x4a13, 0x4a14, 0x4a15, 0x4a16, 0x4a17, 0x4a17, 0x4a19, 0x4a0e, 0x4a06, 0x4a07, 0x4a1a, 0x4a1d, 0x4a1b, 0x4a1c, 0x68f8, 0x0007, 0x7d3f, 0x69f8, 0x0007, 0x4000, 0x68f8, 0x001d, 0xfffc, 0x4818, 0x68f8, 0x0018, 0xfffe, 0x7711, 0x0001, 0x4a08, 0x7681, 0x0800, 0x10f8, 0x031b, 0x00f8, 0x0319, 0x80f8, 0x0319, 0x7710, 0x1000, 0x7211, 0x0319, 0x10f8, 0x031b, 0xf5a9, 0xeeff, 0x00f8, 0x031a, 0xfa20, 0x0228, 0x80f8, 0x031a, 0xf074, 0x00fc, 0xee01, 0x8a18, 0xf495, 0x8a1c, 0x8a1b, 0x8a1d, 0x8a1a, 0x8a07, 0x8a06, 0x8a0e, 0x8a19, 0x8a17, 0x8a17, 0x8a16, 0x8a15, 0x8a14, 0x8a13, 0x8a12, 0x8a11, 0x8a10, 0x8a0d, 0x8a0c, 0x8a0b, 0x8a0a, 0x8a09, 0x8a08, 0xf4eb, 0x4a11, 0x7711, 0x0055, 0x76f8, 0x031a, 0x0000, 0x76f8, 0x0319, 0x0000, 0x76f8, 0x031b, 0x0000, 0x76f8, 0x031c, 0x0000, 0x76f8, 0x031e, 0x0000, 0x76f8, 0x031d, 0x0001, 0x7681, 0x0003, 0x7711, 0x0057, 0x7681, 0x2800, 0x7711, 0x0055, 0x7681, 0x0004, 0x7711, 0x0057, 0x7681, 0x7141, 0x7711, 0x0055, 0x7681, 0x0000, 0x7711, 0x0057, 0x7681, 0x8000, 0x7711, 0x0055, 0x7681, 0x0001, 0x7711, 0x0057, 0x7681, 0x0022, 0x7711, 0x0055, 0x7681, 0x0002, 0x7711, 0x0057, 0x7681, 0x1000, 0x7711, 0x0054, 0x7681, 0x0080, 0x8a11, 0xfc00, 0x4a11, 0x7711, 0x0038, 0x7681, 0x0000, 0x7711, 0x0039, 0x7681, 0x0000, 0x7711, 0x0038, 0x7681, 0x0001, 0x7711, 0x0039, 0x7681, 0x0030, 0x7711, 0x0038, 0x7681, 0x000e, 0x7711, 0x0039, 0x7681, 0x0002, 0x7711, 0x0038, 0x7681, 0x0004, 0x7711, 0x0039, 0x7681, 0x00a0, 0x7711, 0x0038, 0x7681, 0x0005, 0x7711, 0x0039, 0x7681, 0x0000, 0x8a11, 0xfc00, 0x4a11, 0x7711, 0x0038, 0x7681, 0x0001, 0x7711, 0x0039, 0x6981, 0x0001, 0x8a11, 0xfc00, 0x4a11, 0x7711, 0x0038, 0x7681, 0x0001, 0x7711, 0x0039, 0x6881, 0xfffe, 0x8a11, 0xfc00,
24}; 24};
25static const unsigned short _section_vectors[] = { 25static const unsigned short _section_vectors[] = {
26 0xf273, 0x00df, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf273, 0x0080, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf273, 0x018e, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf273, 0x01e8, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 26 0xf273, 0x00df, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf273, 0x0080, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf273, 0x018e, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf273, 0x01e8, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495,
27}; 27};
28 28
29 29
30static const struct dsp_section dsp_image[] = { 30static const struct dsp_section dsp_image[] = {
31 {_section_text, 0x0080, 0x0245}, 31 {_section_text, 0x0080, 0x0245},
32 {NULL /* .bss */, 0x02c5, 0x005a}, 32 {NULL /* .bss */, 0x02c5, 0x005a},
33 {_section_vectors, 0x7f80, 0x0080}, 33 {_section_vectors, 0x7f80, 0x0080},
34 {NULL /* .dma */, 0x8000, 0x1000}, 34 {NULL /* .dma */, 0x8000, 0x1000},
35 {NULL, 0, 0} 35 {NULL, 0, 0}
36}; 36};
37 37
38/* Symbol table, usable with the DSP_() macro (see dsp-target.h). */ 38/* Symbol table, usable with the DSP_() macro (see dsp-target.h). */
diff --git a/firmware/target/arm/tms320dm320/dsp_image_helloworld.h b/firmware/target/arm/tms320dm320/dsp_image_helloworld.h
index 6cd3352cea..b98efc85d1 100644
--- a/firmware/target/arm/tms320dm320/dsp_image_helloworld.h
+++ b/firmware/target/arm/tms320dm320/dsp_image_helloworld.h
@@ -21,7 +21,7 @@
21 */ 21 */
22 22
23static const struct dsp_section dsp_image_helloworld[] = { 23static const struct dsp_section dsp_image_helloworld[] = {
24 {NULL, 0, 0} 24 {NULL, 0, 0}
25}; 25};
26 26
27/* Symbol table, usable with the DSP_() macro (see dsp-target.h). */ 27/* Symbol table, usable with the DSP_() macro (see dsp-target.h). */
diff --git a/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c b/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c
index 75e4b9e579..0debdaf098 100644
--- a/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c
+++ b/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c
@@ -69,14 +69,14 @@ void lcd_sleep()
69 if (lcd_on) 69 if (lcd_on)
70 { 70 {
71 lcd_on = false; 71 lcd_on = false;
72 memset16(FRAME, 0xFFFF, LCD_WIDTH*LCD_HEIGHT); 72 memset16(FRAME, 0xFFFF, LCD_WIDTH*LCD_HEIGHT);
73 sleep(HZ/5); 73 sleep(HZ/5);
74 /* Disabling these saves another ~15mA */ 74 /* Disabling these saves another ~15mA */
75 IO_OSD_OSDWINMD0 &= ~(0x01); 75 IO_OSD_OSDWINMD0 &= ~(0x01);
76 IO_VID_ENC_VMOD &= ~(0x01); 76 IO_VID_ENC_VMOD &= ~(0x01);
77 77
78 /* Disabling the LCD saves ~50mA */ 78 /* Disabling the LCD saves ~50mA */
79 IO_GIO_BITCLR2=1<<4; /* pin 36 */ 79 IO_GIO_BITCLR2=1<<4; /* pin 36 */
80 } 80 }
81} 81}
82 82
@@ -85,11 +85,11 @@ void lcd_awake(void)
85 /* "enabled" implies "powered" */ 85 /* "enabled" implies "powered" */
86 if (!lcd_on) 86 if (!lcd_on)
87 { 87 {
88 lcd_on=true; 88 lcd_on=true;
89 IO_OSD_OSDWINMD0 |= 0x01; 89 IO_OSD_OSDWINMD0 |= 0x01;
90 IO_VID_ENC_VMOD |= 0x01; 90 IO_VID_ENC_VMOD |= 0x01;
91 91
92 sleep(2); 92 sleep(2);
93 IO_GIO_BITSET2 = 1<<4; 93 IO_GIO_BITSET2 = 1<<4;
94 94
95 lcd_update(); 95 lcd_update();
@@ -120,8 +120,8 @@ void lcd_enable_composite(bool enable)
120 { 120 {
121 IO_GIO_BITCLR2 = 0x80; 121 IO_GIO_BITCLR2 = 0x80;
122 vidtemp |= 0x2015; 122 vidtemp |= 0x2015;
123 IO_VID_ENC_DCLKCTL = 0x0800; 123 IO_VID_ENC_DCLKCTL = 0x0800;
124 IO_VID_ENC_DCLKPTN0 = 0x0001; 124 IO_VID_ENC_DCLKPTN0 = 0x0001;
125 } 125 }
126 126
127 IO_VID_ENC_VMOD = vidtemp; 127 IO_VID_ENC_VMOD = vidtemp;
@@ -179,40 +179,40 @@ void lcd_init_device(void)
179 /* Clear the Frame */ 179 /* Clear the Frame */
180 memset16(FRAME, 0x0000, LCD_WIDTH*LCD_HEIGHT); 180 memset16(FRAME, 0x0000, LCD_WIDTH*LCD_HEIGHT);
181 181
182 IO_OSD_OSDWINMD0 &= ~(0x0001); 182 IO_OSD_OSDWINMD0 &= ~(0x0001);
183 IO_OSD_VIDWINMD &= ~(0x0001); 183 IO_OSD_VIDWINMD &= ~(0x0001);
184 184
185 /* Setup the LCD controller */ 185 /* Setup the LCD controller */
186 IO_VID_ENC_VMOD = 0x2014; 186 IO_VID_ENC_VMOD = 0x2014;
187 IO_VID_ENC_VDCTL = 0x2000; 187 IO_VID_ENC_VDCTL = 0x2000;
188 IO_VID_ENC_VDPRO = 0x0000; 188 IO_VID_ENC_VDPRO = 0x0000;
189 IO_VID_ENC_SYNCTL = 0x100E; 189 IO_VID_ENC_SYNCTL = 0x100E;
190 IO_VID_ENC_HSPLS = 1; /* HSYNC pulse width */ 190 IO_VID_ENC_HSPLS = 1; /* HSYNC pulse width */
191 IO_VID_ENC_VSPLS = 1; /* VSYNC pulse width */ 191 IO_VID_ENC_VSPLS = 1; /* VSYNC pulse width */
192 192
193 /* These calculations support 640x480 and 320x240 (based on OF) */ 193 /* These calculations support 640x480 and 320x240 (based on OF) */
194 IO_VID_ENC_HINT = LCD_NATIVE_WIDTH+LCD_NATIVE_WIDTH/3; 194 IO_VID_ENC_HINT = LCD_NATIVE_WIDTH+LCD_NATIVE_WIDTH/3;
195 IO_VID_ENC_HSTART = LCD_NATIVE_WIDTH/6; /* Back porch */ 195 IO_VID_ENC_HSTART = LCD_NATIVE_WIDTH/6; /* Back porch */
196 IO_VID_ENC_HVALID = LCD_NATIVE_WIDTH; /* Data valid */ 196 IO_VID_ENC_HVALID = LCD_NATIVE_WIDTH; /* Data valid */
197 IO_VID_ENC_VINT = LCD_NATIVE_HEIGHT+8; 197 IO_VID_ENC_VINT = LCD_NATIVE_HEIGHT+8;
198 IO_VID_ENC_VSTART = 2; 198 IO_VID_ENC_VSTART = 2;
199 IO_VID_ENC_VVALID = LCD_NATIVE_HEIGHT; 199 IO_VID_ENC_VVALID = LCD_NATIVE_HEIGHT;
200 200
201 IO_VID_ENC_HSDLY = 0x0000; 201 IO_VID_ENC_HSDLY = 0x0000;
202 IO_VID_ENC_VSDLY = 0x0000; 202 IO_VID_ENC_VSDLY = 0x0000;
203 IO_VID_ENC_YCCTL = 0x0000; 203 IO_VID_ENC_YCCTL = 0x0000;
204 IO_VID_ENC_RGBCTL = 0x0000; 204 IO_VID_ENC_RGBCTL = 0x0000;
205 IO_VID_ENC_RGBCLP = 0xFF00; 205 IO_VID_ENC_RGBCLP = 0xFF00;
206 IO_VID_ENC_LNECTL = 0x0000; 206 IO_VID_ENC_LNECTL = 0x0000;
207 IO_VID_ENC_CULLLNE = 0x0000; 207 IO_VID_ENC_CULLLNE = 0x0000;
208 IO_VID_ENC_LCDOUT = 0x0000; 208 IO_VID_ENC_LCDOUT = 0x0000;
209 IO_VID_ENC_BRTS = 0x0000; 209 IO_VID_ENC_BRTS = 0x0000;
210 IO_VID_ENC_BRTW = 0x0000; 210 IO_VID_ENC_BRTW = 0x0000;
211 IO_VID_ENC_ACCTL = 0x0000; 211 IO_VID_ENC_ACCTL = 0x0000;
212 IO_VID_ENC_PWMP = 0x0000; 212 IO_VID_ENC_PWMP = 0x0000;
213 IO_VID_ENC_PWMW = 0x0000; 213 IO_VID_ENC_PWMW = 0x0000;
214 214
215 /* Setup the display */ 215 /* Setup the display */
216 IO_OSD_MODE = 0x00ff; 216 IO_OSD_MODE = 0x00ff;
217 217
218 IO_OSD_ATRMD = 0x0000; 218 IO_OSD_ATRMD = 0x0000;
@@ -281,9 +281,9 @@ void lcd_init_device(void)
281 IO_OSD_VIDWIN0XL = LCD_NATIVE_WIDTH; 281 IO_OSD_VIDWIN0XL = LCD_NATIVE_WIDTH;
282 IO_OSD_VIDWIN0YL = LCD_NATIVE_HEIGHT; 282 IO_OSD_VIDWIN0YL = LCD_NATIVE_HEIGHT;
283 283
284 IO_OSD_OSDWINMD0 |= 0x01; 284 IO_OSD_OSDWINMD0 |= 0x01;
285 285
286 lcd_enable_composite(false); 286 lcd_enable_composite(false);
287} 287}
288 288
289#if defined(HAVE_LCD_MODES) 289#if defined(HAVE_LCD_MODES)
@@ -578,9 +578,9 @@ void lcd_update(void)
578 578
579#if defined(HAVE_LCD_MODES) && (HAVE_LCD_MODES & LCD_MODE_PAL256) 579#if defined(HAVE_LCD_MODES) && (HAVE_LCD_MODES & LCD_MODE_PAL256)
580void lcd_blit_pal256(unsigned char *src, int src_x, int src_y, int x, int y, 580void lcd_blit_pal256(unsigned char *src, int src_x, int src_y, int x, int y,
581 int width, int height) __attribute__ ((section(".icode"))); 581 int width, int height) __attribute__ ((section(".icode")));
582void lcd_blit_pal256(unsigned char *src, int src_x, int src_y, int x, int y, 582void lcd_blit_pal256(unsigned char *src, int src_x, int src_y, int x, int y,
583 int width, int height) 583 int width, int height)
584{ 584{
585#if CONFIG_ORIENTATION == SCREEN_PORTRAIT 585#if CONFIG_ORIENTATION == SCREEN_PORTRAIT
586#if defined(LCD_USE_DMA) 586#if defined(LCD_USE_DMA)
@@ -604,7 +604,7 @@ void lcd_blit_pal256(unsigned char *src, int src_x, int src_y, int x, int y,
604 char *dst=(char *)FRAME 604 char *dst=(char *)FRAME
605 + (LCD_NATIVE_WIDTH+LCD_FUDGE)*(LCD_NATIVE_HEIGHT-1) 605 + (LCD_NATIVE_WIDTH+LCD_FUDGE)*(LCD_NATIVE_HEIGHT-1)
606 - (LCD_NATIVE_WIDTH+LCD_FUDGE)*x + y; 606 - (LCD_NATIVE_WIDTH+LCD_FUDGE)*x + y;
607 607
608 src=src+src_x+src_y*width; 608 src=src+src_x+src_y*width;
609 609
610 while(height--) 610 while(height--)
@@ -627,29 +627,29 @@ void lcd_blit_pal256(unsigned char *src, int src_x, int src_y, int x, int y,
627 627
628void lcd_pal256_update_pal(fb_data *palette) 628void lcd_pal256_update_pal(fb_data *palette)
629{ 629{
630 unsigned char i; 630 unsigned char i;
631 for(i=0; i< 255; i++) 631 for(i=0; i< 255; i++)
632 { 632 {
633 int y, cb, cr; 633 int y, cb, cr;
634 unsigned char r=RGB_UNPACK_RED_LCD(palette[i])<<3; 634 unsigned char r=RGB_UNPACK_RED_LCD(palette[i])<<3;
635 unsigned char g=RGB_UNPACK_GREEN_LCD(palette[i])<<2; 635 unsigned char g=RGB_UNPACK_GREEN_LCD(palette[i])<<2;
636 unsigned char b=RGB_UNPACK_BLUE_LCD(palette[i])<<3; 636 unsigned char b=RGB_UNPACK_BLUE_LCD(palette[i])<<3;
637 637
638 y = ((77 * r + 150 * g + 29 * b) >> 8); cb = ((-43 * r - 85 * g + 128 * b) >> 8) + 128; 638 y = ((77 * r + 150 * g + 29 * b) >> 8); cb = ((-43 * r - 85 * g + 128 * b) >> 8) + 128;
639 cr = ((128 * r - 107 * g - 21 * b) >> 8) + 128; 639 cr = ((128 * r - 107 * g - 21 * b) >> 8) + 128;
640 640
641 while(IO_OSD_MISCCTL&0x08) 641 while(IO_OSD_MISCCTL&0x08)
642 {}; 642 {};
643 643
644 /* Write in y and cb */ 644 /* Write in y and cb */
645 IO_OSD_CLUTRAMYCB= ((unsigned char)y << 8) | (unsigned char)cb; 645 IO_OSD_CLUTRAMYCB= ((unsigned char)y << 8) | (unsigned char)cb;
646 646
647 /* Write in the index and cr */ 647 /* Write in the index and cr */
648 IO_OSD_CLUTRAMCR=((unsigned char)cr << 8) | i; 648 IO_OSD_CLUTRAMCR=((unsigned char)cr << 8) | i;
649 } 649 }
650} 650}
651#endif 651#endif
652 652
653void lcd_blit_yuv(unsigned char * const src[3], 653void lcd_blit_yuv(unsigned char * const src[3],
654 int src_x, int src_y, int stride, 654 int src_x, int src_y, int stride,
655 int x, int y, int width, 655 int x, int y, int width,
@@ -665,7 +665,7 @@ void lcd_blit_yuv(unsigned char * const src[3],
665 665
666 if (!lcd_on) 666 if (!lcd_on)
667 return; 667 return;
668 668
669 /* y has to be on a 16 pixel boundary */ 669 /* y has to be on a 16 pixel boundary */
670 y &= ~0xF; 670 y &= ~0xF;
671 671
@@ -703,33 +703,33 @@ void lcd_blit_yuv(unsigned char * const src[3],
703 register int y_remain=(stride<<1)-width; 703 register int y_remain=(stride<<1)-width;
704 do 704 do
705 { 705 {
706 register fb_data *c_dst=dst; 706 register fb_data *c_dst=dst;
707 register int c_width=width; 707 register int c_width=width;
708 708
709 do 709 do
710 { 710 {
711 /* This needs to be done in a block of 4 pixels */ 711 /* This needs to be done in a block of 4 pixels */
712 712
713 *c_dst=*yuv_src[0]<<8 | *yuv_src[1]; 713 *c_dst=*yuv_src[0]<<8 | *yuv_src[1];
714 *(c_dst+1)=*(yuv_src[0]+stride)<<8 | *yuv_src[2]; 714 *(c_dst+1)=*(yuv_src[0]+stride)<<8 | *yuv_src[2];
715 c_dst-=(LCD_NATIVE_WIDTH+LCD_FUDGE); 715 c_dst-=(LCD_NATIVE_WIDTH+LCD_FUDGE);
716 716
717 yuv_src[0]++;
718
719 *c_dst=*yuv_src[0]<<8 | *yuv_src[1];
720 *(c_dst+1)=*(yuv_src[0]+stride)<<8 | *yuv_src[2];
721 c_dst-=(LCD_NATIVE_WIDTH+LCD_FUDGE);
722
723 yuv_src[0]++; 717 yuv_src[0]++;
724 718
725 yuv_src[1]++; 719 *c_dst=*yuv_src[0]<<8 | *yuv_src[1];
726 yuv_src[2]++; 720 *(c_dst+1)=*(yuv_src[0]+stride)<<8 | *yuv_src[2];
727 721 c_dst-=(LCD_NATIVE_WIDTH+LCD_FUDGE);
728 c_width -= 2; 722
729 } 723 yuv_src[0]++;
730 while (c_width > 0); 724
731 725 yuv_src[1]++;
732 yuv_src[0] += y_remain; /* Skip down two luma lines-width */ 726 yuv_src[2]++;
727
728 c_width -= 2;
729 }
730 while (c_width > 0);
731
732 yuv_src[0] += y_remain; /* Skip down two luma lines-width */
733 yuv_src[1] += cbcr_remain; /* Skip down one chroma line-width/2 */ 733 yuv_src[1] += cbcr_remain; /* Skip down one chroma line-width/2 */
734 yuv_src[2] += cbcr_remain; 734 yuv_src[2] += cbcr_remain;
735 dst+=2; 735 dst+=2;
diff --git a/firmware/target/arm/tms320dm320/mrobe-500/power-mr500.c b/firmware/target/arm/tms320dm320/mrobe-500/power-mr500.c
index f24be5b74f..fa8a74d880 100644
--- a/firmware/target/arm/tms320dm320/mrobe-500/power-mr500.c
+++ b/firmware/target/arm/tms320dm320/mrobe-500/power-mr500.c
@@ -51,11 +51,11 @@ void power_init(void)
51 51
52unsigned int power_input_status(void) 52unsigned int power_input_status(void)
53{ 53{
54 /* Charger is active low */ 54 /* Charger is active low */
55 if(!(IO_GIO_BITSET1&(1<<9))) 55 if(!(IO_GIO_BITSET1&(1<<9)))
56 { 56 {
57 return POWER_INPUT_MAIN_CHARGER; 57 return POWER_INPUT_MAIN_CHARGER;
58 } 58 }
59 return POWER_INPUT_NONE; 59 return POWER_INPUT_NONE;
60} 60}
61 61
diff --git a/firmware/target/arm/usb-drv-arc.c b/firmware/target/arm/usb-drv-arc.c
index 41fbe3a7c5..a96b8a67e8 100644
--- a/firmware/target/arm/usb-drv-arc.c
+++ b/firmware/target/arm/usb-drv-arc.c
@@ -277,7 +277,7 @@
277#define QH_NEXT_TERMINATE (0x00000001) 277#define QH_NEXT_TERMINATE (0x00000001)
278#define QH_IOC (0x00008000) 278#define QH_IOC (0x00008000)
279#define QH_MULTO (0x00000C00) 279#define QH_MULTO (0x00000C00)
280#define QH_STATUS_HALT (0x00000040) 280#define QH_STATUS_HALT (0x00000040)
281#define QH_STATUS_ACTIVE (0x00000080) 281#define QH_STATUS_ACTIVE (0x00000080)
282#define EP_QUEUE_CURRENT_OFFSET_MASK (0x00000FFF) 282#define EP_QUEUE_CURRENT_OFFSET_MASK (0x00000FFF)
283#define EP_QUEUE_HEAD_NEXT_POINTER_MASK (0xFFFFFFE0) 283#define EP_QUEUE_HEAD_NEXT_POINTER_MASK (0xFFFFFFE0)
diff --git a/firmware/target/arm/usb-s3c6400x.c b/firmware/target/arm/usb-s3c6400x.c
index 689fc530d0..1d8902bae3 100644
--- a/firmware/target/arm/usb-s3c6400x.c
+++ b/firmware/target/arm/usb-s3c6400x.c
@@ -151,7 +151,7 @@ static void usb_reset(void)
151 GUSBCFG = 0x1408; /* OTG: 16bit PHY and some reserved bits */ 151 GUSBCFG = 0x1408; /* OTG: 16bit PHY and some reserved bits */
152 152
153 DCFG = 4; /* Address 0 */ 153 DCFG = 4; /* Address 0 */
154 DCTL = 0x800; /* Soft Reconnect */ 154 DCTL = 0x800; /* Soft Reconnect */
155 DIEPMSK = 0x0D; /* IN EP interrupt mask */ 155 DIEPMSK = 0x0D; /* IN EP interrupt mask */
156 DOEPMSK = 0x0D; /* IN EP interrupt mask */ 156 DOEPMSK = 0x0D; /* IN EP interrupt mask */
157 GINTMSK = 0xC3000; /* Interrupt mask: IN event, OUT event, bus reset */ 157 GINTMSK = 0xC3000; /* Interrupt mask: IN event, OUT event, bus reset */
@@ -368,7 +368,7 @@ void usb_drv_init(void)
368 368
369void usb_drv_exit(void) 369void usb_drv_exit(void)
370{ 370{
371 DCTL = 0x802; /* Soft Disconnect */ 371 DCTL = 0x802; /* Soft Disconnect */
372 372
373 ORSTCON = 1; /* Put the PHY into reset (needed to get current down) */ 373 ORSTCON = 1; /* Put the PHY into reset (needed to get current down) */
374 PCGCCTL = 1; /* Shut down PHY clock */ 374 PCGCCTL = 1; /* Shut down PHY clock */
@@ -407,7 +407,7 @@ int usb_detect(void)
407#else 407#else
408void usb_init_device(void) 408void usb_init_device(void)
409{ 409{
410 DCTL = 0x802; /* Soft Disconnect */ 410 DCTL = 0x802; /* Soft Disconnect */
411 411
412 ORSTCON = 1; /* Put the PHY into reset (needed to get current down) */ 412 ORSTCON = 1; /* Put the PHY into reset (needed to get current down) */
413 PCGCCTL = 1; /* Shut down PHY clock */ 413 PCGCCTL = 1; /* Shut down PHY clock */