blob: def8508b0ba9ef3acc94dd80ddb685ea329a7e9e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
|
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
* $Id$
*
* Copyright (C) 2007 by Karl Kurbjun
* Copyright (C) 2008 by Maurus Cuelenaere
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
/** All register offset definitions for the TI DM320
* Taken from: http://svn.neurostechnology.com/filedetails.php?repname=neuros-bsp&path=%2Ftrunk%2Fkernels%2Flinux-2.6.15%2Finclude%2Fasm-arm%2Farch-ntosd-dm320%2Fio_registers.h&rev=0&sc=0
*/
#ifndef __DM320_H__
#define __DM320_H__
#if !defined(__ASSEMBLER__) && !defined(__LD__)
/* These variables are created during linking (app/boot.lds) */
extern unsigned long _lcdbuf;
extern unsigned long _lcdbuf2;
extern unsigned long _ttbstart;
#endif
#define TTB_BASE_ADDR (_ttbstart) /* End of memory */
#define FRAME ((short *) (&_lcdbuf)) /* Right after TTB */
#define FRAME2 ((short *) (&_lcdbuf2)) /* Right after FRAME */
#define PHY_IO_BASE 0x00030000
#define DM320_REG(addr) (*(volatile unsigned short *)(PHY_IO_BASE + (addr)))
#define PHY_IO_BASE2 0x00060000
#define DM320_REG2(addr) (*(volatile unsigned int *)(PHY_IO_BASE2 + (addr)))
#define COP_IO_BASE 0x00090000
#define DM320_COP(addr) (*(volatile unsigned short *)(COP_IO_BASE + (addr)))
/* This needs to be 2048 byte aligned, but USB_QHARRAY_ATTR should take care
* of that */
#define USB_QHARRAY_ATTR __attribute__((section(".qharray"),nocommon,aligned(4)))
#define USB_DEVBSS_ATTR IBSS_ATTR
/* Timer 0-3 */
#define IO_TIMER0_TMMD DM320_REG(0x0000)
#define IO_TIMER0_TMRSV0 DM320_REG(0x0002)
#define IO_TIMER0_TMPRSCL DM320_REG(0x0004)
#define IO_TIMER0_TMDIV DM320_REG(0x0006)
#define IO_TIMER0_TMTRG DM320_REG(0x0008)
#define IO_TIMER0_TMCNT DM320_REG(0x000A)
#define IO_TIMER1_TMMD DM320_REG(0x0080)
#define IO_TIMER1_TMRSV0 DM320_REG(0x0082)
#define IO_TIMER1_TMPRSCL DM320_REG(0x0084)
#define IO_TIMER1_TMDIV DM320_REG(0x0086)
#define IO_TIMER1_TMTRG DM320_REG(0x0088)
#define IO_TIMER1_TMCNT DM320_REG(0x008A)
#define IO_TIMER2_TMMD DM320_REG(0x0100)
#define IO_TIMER2_TMVDCLR DM320_REG(0x0102)
#define IO_TIMER2_TMPRSCL DM320_REG(0x0104)
#define IO_TIMER2_TMDIV DM320_REG(0x0106)
#define IO_TIMER2_TMTRG DM320_REG(0x0108)
#define IO_TIMER2_TMCNT DM320_REG(0x010A)
#define IO_TIMER3_TMMD DM320_REG(0x0180)
#define IO_TIMER3_TMVDCLR DM320_REG(0x0182)
#define IO_TIMER3_TMPRSCL DM320_REG(0x0184)
#define IO_TIMER3_TMDIV DM320_REG(0x0186)
#define IO_TIMER3_TMTRG DM320_REG(0x0188)
#define IO_TIMER3_TMCNT DM320_REG(0x018A)
/* Serial 0/1 */
#define IO_SERIAL0_TX_DATA DM320_REG(0x0200)
#define IO_SERIAL0_RX_DATA DM320_REG(0x0202)
#define IO_SERIAL0_TX_ENABLE DM320_REG(0x0204)
#define IO_SERIAL0_MODE DM320_REG(0x0206)
#define IO_SERIAL0_DMA_TRIGGER DM320_REG(0x0208)
#define IO_SERIAL0_DMA_MODE DM320_REG(0x020A)
#define IO_SERIAL0_DMA_SDRAM_LOW DM320_REG(0x020C)
#define IO_SERIAL0_DMA_SDRAM_HI DM320_REG(0x020E)
#define IO_SERIAL0_DMA_STATUS DM320_REG(0x0210)
#define IO_SERIAL1_TX_DATA DM320_REG(0x0280)
#define IO_SERIAL1_RX_DATA DM320_REG(0x0282)
#define IO_SERIAL1_TX_ENABLE DM320_REG(0x0284)
#define IO_SERIAL1_MODE DM320_REG(0x0286)
/* UART 0/1 */
#define IO_UART0_DTRR DM320_REG(0x0300)
#define IO_UART0_BRSR DM320_REG(0x0302)
#define IO_UART0_MSR DM320_REG(0x0304)
#define IO_UART0_RFCR DM320_REG(0x0306)
#define IO_UART0_TFCR DM320_REG(0x0308)
#define IO_UART0_LCR DM320_REG(0x030A)
#define IO_UART0_SR DM320_REG(0x030C)
#define IO_UART1_DTRR DM320_REG(0x0380)
#define IO_UART1_BRSR DM320_REG(0x0382)
#define IO_UART1_MSR DM320_REG(0x0384)
#define IO_UART1_RFCR DM320_REG(0x0386)
#define IO_UART1_TFCR DM320_REG(0x0388)
#define IO_UART1_LCR DM320_REG(0x038A)
#define IO_UART1_SR DM320_REG(0x038C)
/* Watchdog Timer */
#define IO_WATCHDOG_MODE DM320_REG(0x0400)
#define IO_WATCHDOG_RESET DM320_REG(0x0402)
#define IO_WATCHDOG_PRESCALAR DM320_REG(0x0404)
#define IO_WATCHDOG_DIVISOR DM320_REG(0x0406)
#define IO_WATCHDOG_EXT_RESET DM320_REG(0x0408)
/* MMC/SD Controller */
#define IO_MMC_CONTROL DM320_REG(0x0480)
#define IO_MMC_MEM_CLK_CONTROL DM320_REG(0x0482)
#define IO_MMC_STATUS0 DM320_REG(0x0484)
#define IO_MMC_STATUS1 DM320_REG(0x0486)
#define IO_MMC_INT_ENABLE DM320_REG(0x0488)
#define IO_MMC_RESPONSE_TIMEOUT DM320_REG(0x048A)
#define IO_MMC_READ_TIMEOUT DM320_REG(0x048C)
#define IO_MMC_BLOCK_LENGTH DM320_REG(0x048E)
#define IO_MMC_NR_BLOCKS DM320_REG(0x0490)
#define IO_MMC_NR_BLOCKS_COUNT DM320_REG(0x0492)
#define IO_MMC_RX_DATA DM320_REG(0x0494)
#define IO_MMC_TX_DATA DM320_REG(0x0496)
#define IO_MMC_COMMAND DM320_REG(0x0498)
#define IO_MMC_ARG_LOW DM320_REG(0x049A)
#define IO_MMC_ARG_HI DM320_REG(0x049C)
#define IO_MMC_RESPONSE0 DM320_REG(0x049E)
#define IO_MMC_RESPONSE1 DM320_REG(0x04A0)
#define IO_MMC_RESPONSE2 DM320_REG(0x04A2)
#define IO_MMC_RESPONSE3 DM320_REG(0x04A4)
#define IO_MMC_RESPONSE4 DM320_REG(0x04A6)
#define IO_MMC_RESPONSE5 DM320_REG(0x04A8)
#define IO_MMC_RESPONSE6 DM320_REG(0x04AA)
#define IO_MMC_RESPONSE7 DM320_REG(0x04AC)
#define IO_MMC_SPI_DATA DM320_REG(0x04AE)
#define IO_MMC_SPI_ERR DM320_REG(0x04B0)
#define IO_MMC_COMMAND_INDEX DM320_REG(0x04B2)
#define IO_MMC_CLK_START_PHASE DM320_REG(0x04B4)
#define IO_MMC_RESPONSE_TOUT_CNT DM320_REG(0x04B6)
#define IO_MMC_READ_TOUT_CNT DM320_REG(0x04B8)
#define IO_MMC_BLOCK_LENGTH_CNT DM320_REG(0x04BA)
#define IO_MMC_SD_DMA_TRIGGER DM320_REG(0x04BC)
#define IO_MMC_SD_DMA_MODE DM320_REG(0x04BE)
#define IO_MMC_SD_DMA_ADDR_LOW DM320_REG(0x04C0)
#define IO_MMC_SD_DMA_ADDR_HI DM320_REG(0x04C2)
#define IO_MMC_SD_DMA_STATUS0 DM320_REG(0x04C4)
#define IO_MMC_SD_DMA_STATUS1 DM320_REG(0x04C6)
#define IO_MMC_SD_DMA_TIMEOUT DM320_REG(0x04C8)
#define IO_SDIO_CONTROL DM320_REG(0x04CA)
#define IO_SDIO_STATUS0 DM320_REG(0x04CC)
#define IO_SDIO_INT_ENABLE DM320_REG(0x04CE)
#define IO_SDIO_INT_STATUS DM320_REG(0x04D0)
/* Interrupt Controller */
#define IO_INTC_FIQ0 DM320_REG(0x0500)
#define IO_INTC_FIQ1 DM320_REG(0x0502)
#define IO_INTC_FIQ2 DM320_REG(0x0504)
#define IO_INTC_IRQ0 DM320_REG(0x0508)
#define IO_INTC_IRQ1 DM320_REG(0x050A)
#define IO_INTC_IRQ2 DM320_REG(0x050C)
#define IO_INTC_FIQENTRY0 DM320_REG(0x0510)
#define IO_INTC_FIQENTRY1 DM320_REG(0x0512)
#define IO_INTC_FIQ_LOCK_ADDR0 DM320_REG(0x0514)
#define IO_INTC_FIQ_LOCK_ADDR1 DM320_REG(0x0516)
#define IO_INTC_IRQENTRY0 DM320_REG(0x0518)
#define IO_INTC_IRQENTRY1 DM320_REG(0x051A)
#define IO_INTC_IRQ_LOCK_ADDR0 DM320_REG(0x051C)
#define IO_INTC_IRQ_LOCK_ADDR1 DM320_REG(0x051E)
#define IO_INTC_FISEL0 DM320_REG(0x0520)
#define IO_INTC_FISEL1 DM320_REG(0x0522)
#define IO_INTC_FISEL2 DM320_REG(0x0524)
#define IO_INTC_EINT0 DM320_REG(0x0528)
#define IO_INTC_EINT1 DM320_REG(0x052A)
#define IO_INTC_EINT2 DM320_REG(0x052C)
#define IO_INTC_RAW DM320_REG(0x0530)
#define IO_INTC_ENTRY_TBA0 DM320_REG(0x0538)
#define IO_INTC_ENTRY_TBA1 DM320_REG(0x053A)
#define IO_INTC_PRIORITY0 DM320_REG(0x0540)
#define IO_INTC_PRIORITY1 DM320_REG(0x0542)
#define IO_INTC_PRIORITY2 DM320_REG(0x0544)
#define IO_INTC_PRIORITY3 DM320_REG(0x0546)
#define IO_INTC_PRIORITY4 DM320_REG(0x0548)
#define IO_INTC_PRIORITY5 DM320_REG(0x054A)
#define IO_INTC_PRIORITY6 DM320_REG(0x054C)
#define IO_INTC_PRIORITY7 DM320_REG(0x054E)
#define IO_INTC_PRIORITY8 DM320_REG(0x0550)
#define IO_INTC_PRIORITY9 DM320_REG(0x0552)
#define IO_INTC_PRIORITY10 DM320_REG(0x0554)
#define IO_INTC_PRIORITY11 DM320_REG(0x0556)
#define IO_INTC_PRIORITY12 DM320_REG(0x0558)
#define IO_INTC_PRIORITY13 DM320_REG(0x055A)
#define IO_INTC_PRIORITY14 DM320_REG(0x055C)
#define IO_INTC_PRIORITY15 DM320_REG(0x055E)
#define IO_INTC_PRIORITY16 DM320_REG(0x0560)
#define IO_INTC_PRIORITY17 DM320_REG(0x0562)
#define IO_INTC_PRIORITY18 DM320_REG(0x0564)
#define IO_INTC_PRIORITY19 DM320_REG(0x0566)
#define IO_INTC_PRIORITY20 DM320_REG(0x0568)
#define IO_INTC_PRIORITY21 DM320_REG(0x056A)
#define IO_INTC_PRIORITY22 DM320_REG(0x056C)
/* GIO Controller */
#define IO_GIO_DIR0 DM320_REG(0x0580)
#define IO_GIO_DIR1 DM320_REG(0x0582)
#define IO_GIO_DIR2 DM320_REG(0x0584)
#define IO_GIO_INV0 DM320_REG(0x0586)
#define IO_GIO_INV1 DM320_REG(0x0588)
#define IO_GIO_INV2 DM320_REG(0x058A)
#define IO_GIO_BITSET0 DM320_REG(0x058C)
#define IO_GIO_BITSET1 DM320_REG(0x058E)
#define IO_GIO_BITSET2 DM320_REG(0x0590)
#define IO_GIO_BITCLR0 DM320_REG(0x0592)
#define IO_GIO_BITCLR1 DM320_REG(0x0594)
#define IO_GIO_BITCLR2 DM320_REG(0x0596)
#define IO_GIO_IRQPORT DM320_REG(0x0598)
#define IO_GIO_IRQEDGE DM320_REG(0x059A)
#define IO_GIO_CHAT0 DM320_REG(0x059C)
#define IO_GIO_CHAT1 DM320_REG(0x059E)
#define IO_GIO_CHAT2 DM320_REG(0x05A0)
#define IO_GIO_NCHAT DM320_REG(0x05A2)
#define IO_GIO_FSEL0 DM320_REG(0x05A4)
#define IO_GIO_FSEL1 DM320_REG(0x05A6)
#define IO_GIO_FSEL2 DM320_REG(0x05A8)
#define IO_GIO_FSEL3 DM320_REG(0x05AA)
#define IO_GIO_FSEL4 DM320_REG(0x05AC)
#define IO_GIO_CARD_SET DM320_REG(0x05AE)
#define IO_GIO_CARD_ST DM320_REG(0x05B0)
/* DSP Controller */
#define IO_DSPC_HPIB_CONTROL DM320_REG(0x0600)
#define IO_DSPC_HPIB_STATUS DM320_REG(0x0602)
/* OSD Controller */
#define IO_OSD_MODE DM320_REG(0x0680)
#define IO_OSD_VIDWINMD DM320_REG(0x0682)
#define IO_OSD_OSDWINMD0 DM320_REG(0x0684)
#define IO_OSD_OSDWINMD1 DM320_REG(0x0686)
#define IO_OSD_ATRMD DM320_REG(0x0688)
#define IO_OSD_RECTCUR DM320_REG(0x0688)
#define IO_OSD_RESERVED DM320_REG(0x068A)
#define IO_OSD_VIDWIN0OFST DM320_REG(0x068C)
#define IO_OSD_VIDWIN1OFST DM320_REG(0x068E)
#define IO_OSD_OSDWIN0OFST DM320_REG(0x0690)
#define IO_OSD_OSDWIN1OFST DM320_REG(0x0692)
#define IO_OSD_VIDWINADH DM320_REG(0x0694)
#define IO_OSD_VIDWIN0ADL DM320_REG(0x0696)
#define IO_OSD_VIDWIN1ADL DM320_REG(0x0698)
#define IO_OSD_OSDWINADH DM320_REG(0x069A)
#define IO_OSD_OSDWIN0ADL DM320_REG(0x069C)
#define IO_OSD_OSDWIN1ADL DM320_REG(0x069E)
#define IO_OSD_BASEPX DM320_REG(0x06A0)
#define IO_OSD_BASEPY DM320_REG(0x06A2)
#define IO_OSD_VIDWIN0XP DM320_REG(0x06A4)
#define IO_OSD_VIDWIN0YP DM320_REG(0x06A6)
#define IO_OSD_VIDWIN0XL DM320_REG(0x06A8)
#define IO_OSD_VIDWIN0YL DM320_REG(0x06AA)
#define IO_OSD_VIDWIN1XP DM320_REG(0x06AC)
#define IO_OSD_VIDWIN1YP DM320_REG(0x06AE)
#define IO_OSD_VIDWIN1XL DM320_REG(0x06B0)
#define IO_OSD_VIDWIN1YL DM320_REG(0x06B2)
#define IO_OSD_OSDWIN0XP DM320_REG(0x06B4)
#define IO_OSD_OSDWIN0YP DM320_REG(0x06B6)
#define IO_OSD_OSDWIN0XL DM320_REG(0x06B8)
#define IO_OSD_OSDWIN0YL DM320_REG(0x06BA)
#define IO_OSD_OSDWIN1XP DM320_REG(0x06BC)
#define IO_OSD_OSDWIN1YP DM320_REG(0x06BE)
#define IO_OSD_OSDWIN1XL DM320_REG(0x06C0)
#define IO_OSD_OSDWIN1YL DM320_REG(0x06C2)
#define IO_OSD_CURXP DM320_REG(0x06C4)
#define IO_OSD_CURYP DM320_REG(0x06C6)
#define IO_OSD_CURXL DM320_REG(0x06C8)
#define IO_OSD_CURYL DM320_REG(0x06CA)
#define IO_OSD_W0BMP01 DM320_REG(0x06D0)
#define IO_OSD_W0BMP23 DM320_REG(0x06D2)
#define IO_OSD_W0BMP45 DM320_REG(0x06D4)
#define IO_OSD_W0BMP67 DM320_REG(0x06D6)
#define IO_OSD_W0BMP89 DM320_REG(0x06D8)
#define IO_OSD_W0BMPAB DM320_REG(0x06DA)
#define IO_OSD_W0BMPCD DM320_REG(0x06DC)
#define IO_OSD_W0BMPEF DM320_REG(0x06DE)
#define IO_OSD_W1BMP01 DM320_REG(0x06E0)
#define IO_OSD_W1BMP23 DM320_REG(0x06E2)
#define IO_OSD_W1BMP45 DM320_REG(0x06E4)
#define IO_OSD_W1BMP67 DM320_REG(0x06E6)
#define IO_OSD_W1BMP89 DM320_REG(0x06E8)
#define IO_OSD_W1BMPAB DM320_REG(0x06EA)
#define IO_OSD_W1BMPCD DM320_REG(0x06EC)
#define IO_OSD_W1BMPEF DM320_REG(0x06EE)
#define IO_OSD_MISCCTL DM320_REG(0x06F4)
#define IO_OSD_CLUTRAMYCB DM320_REG(0x06F6)
#define IO_OSD_CLUTRAMCR DM320_REG(0x06F8)
#define IO_OSD_PPWIN0ADH DM320_REG(0x06FC)
#define IO_OSD_PPWIN0ADL DM320_REG(0x06FE)
/* CCD Controller */
#define IO_CCD_SYNCEN DM320_REG(0x0700)
#define IO_CCD_MODESET DM320_REG(0x0702)
#define IO_CCD_HDWIDTH DM320_REG(0x0704)
#define IO_CCD_VDWIDTH DM320_REG(0x0706)
#define IO_CCD_PPLN DM320_REG(0x0708)
#define IO_CCD_LPFR DM320_REG(0x070A)
#define IO_CCD_SPH DM320_REG(0x070C)
#define IO_CCD_NPH DM320_REG(0x070E)
#define IO_CCD_SLV0 DM320_REG(0x0710)
#define IO_CCD_SLV1 DM320_REG(0x0712)
#define IO_CCD_NLV DM320_REG(0x0714)
#define IO_CCD_CULH DM320_REG(0x0716)
#define IO_CCD_CULV DM320_REG(0x0718)
#define IO_CCD_HSIZE DM320_REG(0x071A)
#define IO_CCD_SDOFST DM320_REG(0x071C)
#define IO_CCD_STADRH DM320_REG(0x071E)
#define IO_CCD_STADRL DM320_REG(0x0720)
#define IO_CCD_CLAMP DM320_REG(0x0722)
#define IO_CCD_DCSUB DM320_REG(0x0724)
#define IO_CCD_COLPTN DM320_REG(0x0726)
#define IO_CCD_BLKCMP0 DM320_REG(0x0728)
#define IO_CCD_BLKCMP1 DM320_REG(0x072A)
#define IO_CCD_MEDFILT DM320_REG(0x072C)
#define IO_CCD_RYEGAIN DM320_REG(0x072E)
#define IO_CCD_GRCYGAIN DM320_REG(0x0730)
#define IO_CCD_GBGGAIN DM320_REG(0x0732)
#define IO_CCD_BMGGAIN DM320_REG(0x0734)
#define IO_CCD_OFFSET DM320_REG(0x0736)
#define IO_CCD_OUTCLP DM320_REG(0x0738)
#define IO_CCD_VDINT0 DM320_REG(0x073A)
#define IO_CCD_VDINT1 DM320_REG(0x073C)
#define IO_CCD_RSV0 DM320_REG(0x073E)
#define IO_CCD_GAMMAWD DM320_REG(0x0740)
#define IO_CCD_REC656IF DM320_REG(0x0742)
#define IO_CCD_CCDFG DM320_REG(0x0744)
#define IO_CCD_FMTCFG DM320_REG(0x0746)
#define IO_CCD_FMTSPH DM320_REG(0x0748)
#define IO_CCD_FMTLNH DM320_REG(0x074A)
#define IO_CCD_FMTSLV DM320_REG(0x074C)
#define IO_CCD_FMTSNV DM320_REG(0x074E)
#define IO_CCD_FMTOFST DM320_REG(0x0750)
#define IO_CCD_FMTRLEN DM320_REG(0x0752)
#define IO_CCD_FMTHCNT DM320_REG(0x0754)
#define IO_CCD_FMTPTNA DM320_REG(0x0756)
#define IO_CCD_FMTPTNB DM320_REG(0x0758)
/* NTSC/PAL Encoder */
#define IO_VID_ENC_VMOD DM320_REG(0x0800)
#define IO_VID_ENC_VDCTL DM320_REG(0x0802)
#define IO_VID_ENC_VDPRO DM320_REG(0x0804)
#define IO_VID_ENC_SYNCTL DM320_REG(0x0806)
#define IO_VID_ENC_HSPLS DM320_REG(0x0808)
#define IO_VID_ENC_VSPLS DM320_REG(0x080A)
#define IO_VID_ENC_HINT DM320_REG(0x080C)
#define IO_VID_ENC_HSTART DM320_REG(0x080E)
#define IO_VID_ENC_HVALID DM320_REG(0x0810)
#define IO_VID_ENC_VINT DM320_REG(0x0812)
#define IO_VID_ENC_VSTART DM320_REG(0x0814)
#define IO_VID_ENC_VVALID DM320_REG(0x0816)
#define IO_VID_ENC_HSDLY DM320_REG(0x0818)
#define IO_VID_ENC_VSDLY DM320_REG(0x081A)
#define IO_VID_ENC_YCCTL DM320_REG(0x081C)
#define IO_VID_ENC_RGBCTL DM320_REG(0x081E)
#define IO_VID_ENC_RGBCLP DM320_REG(0x0820)
#define IO_VID_ENC_LNECTL DM320_REG(0x0822)
#define IO_VID_ENC_CULLLNE DM320_REG(0x0824)
#define IO_VID_ENC_LCDOUT DM320_REG(0x0826)
#define IO_VID_ENC_BRTS DM320_REG(0x0828)
#define IO_VID_ENC_BRTW DM320_REG(0x082A)
#define IO_VID_ENC_ACCTL DM320_REG(0x082C)
#define IO_VID_ENC_PWMP DM320_REG(0x082E)
#define IO_VID_ENC_PWMW DM320_REG(0x0830)
#define IO_VID_ENC_DCLKCTL DM320_REG(0x0832)
#define IO_VID_ENC_DCLKPTN0 DM320_REG(0x0834)
#define IO_VID_ENC_DCLKPTN1 DM320_REG(0x0836)
#define IO_VID_ENC_DCLKPTN2 DM320_REG(0x0838)
#define IO_VID_ENC_DCLKPTN3 DM320_REG(0x083A)
#define IO_VID_ENC_DCLKPTN0A DM320_REG(0x083C)
#define IO_VID_ENC_DCLKPTN1A DM320_REG(0x083E)
#define IO_VID_ENC_DCLKPTN2A DM320_REG(0x0840)
#define IO_VID_ENC_DCLKPTN3A DM320_REG(0x0842)
#define IO_VID_ENC_DCLKHS DM320_REG(0x0844)
#define IO_VID_ENC_DCLKHSA DM320_REG(0x0846)
#define IO_VID_ENC_DCLKHR DM320_REG(0x0848)
#define IO_VID_ENC_DCLKVS DM320_REG(0x084A)
#define IO_VID_ENC_DCLKVR DM320_REG(0x084C)
#define IO_VID_ENC_CAPCTL DM320_REG(0x084E)
#define IO_VID_ENC_CAPDO DM320_REG(0x0850)
#define IO_VID_ENC_CAPDE DM320_REG(0x0852)
#define IO_VID_ENC_ATR0 DM320_REG(0x0854)
/* Clock Controller */
#define IO_CLK_PLLA DM320_REG(0x0880)
#define IO_CLK_PLLB DM320_REG(0x0882)
#define IO_CLK_SEL0 DM320_REG(0x0884)
#define IO_CLK_SEL1 DM320_REG(0x0886)
#define IO_CLK_SEL2 DM320_REG(0x0888)
#define IO_CLK_DIV0 DM320_REG(0x088A)
#define IO_CLK_DIV1 DM320_REG(0x088C)
#define IO_CLK_DIV2 DM320_REG(0x088E)
#define IO_CLK_DIV3 DM320_REG(0x0890)
#define IO_CLK_DIV4 DM320_REG(0x0892)
#define IO_CLK_BYP DM320_REG(0x0894)
#define IO_CLK_INV DM320_REG(0x0896)
#define IO_CLK_MOD0 DM320_REG(0x0898)
#define IO_CLK_MOD1 DM320_REG(0x089A)
#define IO_CLK_MOD2 DM320_REG(0x089C)
#define IO_CLK_LPCTL0 DM320_REG(0x089E)
#define IO_CLK_LPCTL1 DM320_REG(0x08A0)
#define IO_CLK_OSEL DM320_REG(0x08A2)
#define IO_CLK_O0DIV DM320_REG(0x08A4)
#define IO_CLK_O1DIV DM320_REG(0x08A6)
#define IO_CLK_O2DIV DM320_REG(0x08A8)
#define IO_CLK_PWM0C DM320_REG(0x08AA)
#define IO_CLK_PWM0H DM320_REG(0x08AC)
#define IO_CLK_PWM1C DM320_REG(0x08AE)
#define IO_CLK_PWM1H DM320_REG(0x08B0)
/* Bus Controller */
#define IO_BUSC_ECR DM320_REG(0x0900)
#define IO_BUSC_EBYTER DM320_REG(0x0902)
#define IO_BUSC_EBITR DM320_REG(0x0904)
#define IO_BUSC_REVR DM320_REG(0x0906)
/* Known Silicon Revisions */
#define REVR_ES10 0x0010
#define REVR_ES11 0x0011
/* SDRAM Controller */
#define IO_SDRAM_SDBUFD0L DM320_REG(0x0980)
#define IO_SDRAM_SDBUFD0H DM320_REG(0x0982)
#define IO_SDRAM_SDBUFD1L DM320_REG(0x0984)
#define IO_SDRAM_SDBUFD1H DM320_REG(0x0986)
#define IO_SDRAM_SDBUFD2L DM320_REG(0x0988)
#define IO_SDRAM_SDBUFD2H DM320_REG(0x098A)
#define IO_SDRAM_SDBUFD3L DM320_REG(0x098C)
#define IO_SDRAM_SDBUFD3H DM320_REG(0x098E)
#define IO_SDRAM_SDBUFD4L DM320_REG(0x0990)
#define IO_SDRAM_SDBUFD4H DM320_REG(0x0992)
#define IO_SDRAM_SDBUFD5L DM320_REG(0x0994)
#define IO_SDRAM_SDBUFD5H DM320_REG(0x0996)
#define IO_SDRAM_SDBUFD6L DM320_REG(0x0998)
#define IO_SDRAM_SDBUFD6H DM320_REG(0x099A)
#define IO_SDRAM_SDBUFD7L DM320_REG(0x099C)
#define IO_SDRAM_SDBUFD7H DM320_REG(0x099E)
#define IO_SDRAM_SDBUFAD1 DM320_REG(0x09A0)
#define IO_SDRAM_SDBUFAD2 DM320_REG(0x09A2)
#define IO_SDRAM_SDBUFCTL DM320_REG(0x09A4)
#define IO_SDRAM_SDMODE DM320_REG(0x09A6)
#define IO_SDRAM_REFCTL DM320_REG(0x09A8)
#define IO_SDRAM_SDPRTY1 DM320_REG(0x09AA)
#define IO_SDRAM_SDPRTY2 DM320_REG(0x09AC)
#define IO_SDRAM_SDPRTY3 DM320_REG(0x09AE)
#define IO_SDRAM_SDPRTY4 DM320_REG(0x09B0)
#define IO_SDRAM_SDPRTY5 DM320_REG(0x09B2)
#define IO_SDRAM_SDPRTY6 DM320_REG(0x09B4)
#define IO_SDRAM_SDPRTY7 DM320_REG(0x09B6)
#define IO_SDRAM_SDPRTY8 DM320_REG(0x09B8)
#define IO_SDRAM_SDPRTY9 DM320_REG(0x09BA)
#define IO_SDRAM_SDPRTY10 DM320_REG(0x09BC)
#define IO_SDRAM_SDPRTY11 DM320_REG(0x09BE)
#define IO_SDRAM_SDPRTY12 DM320_REG(0x09C0)
#define IO_SDRAM_RSV DM320_REG(0x09C2)
#define IO_SDRAM_SDPRTYON DM320_REG(0x09C4)
#define IO_SDRAM_SDDMASEL DM320_REG(0x09C6)
/* EMIF Controller */
#define IO_EMIF_CS0CTRL1 DM320_REG(0x0A00)
#define IO_EMIF_CS0CTRL2 DM320_REG(0x0A02)
#define IO_EMIF_CS0CTRL3 DM320_REG(0x0A04)
#define IO_EMIF_CS1CTRL1A DM320_REG(0x0A06)
#define IO_EMIF_CS1CTRL1B DM320_REG(0x0A08)
#define IO_EMIF_CS1CTRL2 DM320_REG(0x0A0A)
#define IO_EMIF_CS2CTRL1 DM320_REG(0x0A0C)
#define IO_EMIF_CS2CTRL2 DM320_REG(0x0A0E)
#define IO_EMIF_CS3CTRL1 DM320_REG(0x0A10)
#define IO_EMIF_CS3CTRL2 DM320_REG(0x0A12)
#define IO_EMIF_CS4CTRL1 DM320_REG(0x0A14)
#define IO_EMIF_CS4CTRL2 DM320_REG(0x0A16)
#define IO_EMIF_BUSCTRL DM320_REG(0x0A18)
#define IO_EMIF_BUSRLS DM320_REG(0x0A1A)
#define IO_EMIF_CFCTRL1 DM320_REG(0x0A1C)
#define IO_EMIF_CFCTRL2 DM320_REG(0x0A1E)
#define IO_EMIF_SMCTRL DM320_REG(0x0A20)
#define IO_EMIF_BUSINTEN DM320_REG(0x0A22)
#define IO_EMIF_BUSSTS DM320_REG(0x0A24)
#define IO_EMIF_BUSWAITMD DM320_REG(0x0A26)
#define IO_EMIF_ECC1CP DM320_REG(0x0A28)
#define IO_EMIF_ECC1LP DM320_REG(0x0A2A)
#define IO_EMIF_ECC2CP DM320_REG(0x0A2C)
#define IO_EMIF_ECC2LP DM320_REG(0x0A2E)
#define IO_EMIF_ECC3CP DM320_REG(0x0A30)
#define IO_EMIF_ECC3LP DM320_REG(0x0A32)
#define IO_EMIF_ECC4CP DM320_REG(0x0A34)
#define IO_EMIF_ECC4LP DM320_REG(0x0A36)
#define IO_EMIF_ECC5CP DM320_REG(0x0A38)
#define IO_EMIF_ECC5LP DM320_REG(0x0A3A)
#define IO_EMIF_ECC6CP DM320_REG(0x0A3C)
#define IO_EMIF_ECC6LP DM320_REG(0x0A3E)
#define IO_EMIF_ECC7CP DM320_REG(0x0A40)
#define IO_EMIF_ECC7LP DM320_REG(0x0A42)
#define IO_EMIF_ECC8CP DM320_REG(0x0A44)
#define IO_EMIF_ECC8LP DM320_REG(0x0A46)
#define IO_EMIF_ECCCLR DM320_REG(0x0A48)
#define IO_EMIF_PAGESZ DM320_REG(0x0A4A)
#define IO_EMIF_PRIORCTL DM320_REG(0x0A4C)
#define IO_EMIF_MGDSPDEST DM320_REG(0x0A4E)
#define IO_EMIF_MGDSPADDH DM320_REG(0x0A50)
#define IO_EMIF_MGDSPADDL DM320_REG(0x0A52)
#define IO_EMIF_AHBADDH DM320_REG(0x0A54)
#define IO_EMIF_AHBADDL DM320_REG(0x0A56)
#define IO_EMIF_MTCADDH DM320_REG(0x0A58)
#define IO_EMIF_MTCADDL DM320_REG(0x0A5A)
#define IO_EMIF_DMASIZE DM320_REG(0x0A5C)
#define IO_EMIF_DMAMTCSEL DM320_REG(0x0A5E)
#define IO_EMIF_DMACTL DM320_REG(0x0A60)
/* Preivew Engine */
#define IO_PREV_ENG_PVEN DM320_REG(0x0A80)
#define IO_PREV_ENG_PVSET1 DM320_REG(0x0A82)
#define IO_PREV_ENG_RADRH DM320_REG(0x0A84)
#define IO_PREV_ENG_RADRL DM320_REG(0x0A86)
#define IO_PREV_ENG_WADRH DM320_REG(0x0A88)
#define IO_PREV_ENG_WADRL DM320_REG(0x0A8A)
#define IO_PREV_ENG_HSTART DM320_REG(0x0A8C)
#define IO_PREV_ENG_HSIZE DM320_REG(0x0A8E)
#define IO_PREV_ENG_VSTART DM320_REG(0x0A90)
#define IO_PREV_ENG_VSIZE DM320_REG(0x0A92)
#define IO_PREV_ENG_PVSET2 DM320_REG(0x0A94)
#define IO_PREV_ENG_NFILT DM320_REG(0x0A96)
#define IO_PREV_ENG_DGAIN DM320_REG(0x0A98)
#define IO_PREV_ENG_WBGAIN0 DM320_REG(0x0A9A)
#define IO_PREV_ENG_WBGAIN1 DM320_REG(0x0A9C)
#define IO_PREV_ENG_SMTH DM320_REG(0x0A9E)
#define IO_PREV_ENG_HRSZ DM320_REG(0x0AA0)
#define IO_PREV_ENG_VRSZ DM320_REG(0x0AA2)
#define IO_PREV_ENG_BLOFST0 DM320_REG(0x0AA4)
#define IO_PREV_ENG_BLOFST1 DM320_REG(0x0AA6)
#define IO_PREV_ENG_MTXGAIN0 DM320_REG(0x0AA8)
#define IO_PREV_ENG_MTXGAIN1 DM320_REG(0x0AAA)
#define IO_PREV_ENG_MTXGAIN2 DM320_REG(0x0AAC)
#define IO_PREV_ENG_MTXGAIN3 DM320_REG(0x0AAE)
#define IO_PREV_ENG_MTXGAIN4 DM320_REG(0x0AB0)
#define IO_PREV_ENG_MTXGAIN5 DM320_REG(0x0AB2)
#define IO_PREV_ENG_MTXGAIN6 DM320_REG(0x0AB4)
#define IO_PREV_ENG_MTXGAIN7 DM320_REG(0x0AB6)
#define IO_PREV_ENG_MTXGAIN8 DM320_REG(0x0AB8)
#define IO_PREV_ENG_MTXOFST0 DM320_REG(0x0ABA)
#define IO_PREV_ENG_MTXOFST1 DM320_REG(0x0ABC)
#define IO_PREV_ENG_MTXOFST2 DM320_REG(0x0ABE)
#define IO_PREV_ENG_GAMTBYP DM320_REG(0x0AC0)
#define IO_PREV_ENG_CSC0 DM320_REG(0x0AC2)
#define IO_PREV_ENG_CSC1 DM320_REG(0x0AC4)
#define IO_PREV_ENG_CSC2 DM320_REG(0x0AC6)
#define IO_PREV_ENG_CSC3 DM320_REG(0x0AC8)
#define IO_PREV_ENG_CSC4 DM320_REG(0x0ACA)
#define IO_PREV_ENG_YOFST DM320_REG(0x0ACC)
#define IO_PREV_ENG_COFST DM320_REG(0x0ACE)
#define IO_PREV_ENG_CNTBRT DM320_REG(0x0AD0)
#define IO_PREV_ENG_CSUP0 DM320_REG(0x0AD2)
#define IO_PREV_ENG_CSUP1 DM320_REG(0x0AD4)
#define IO_PREV_ENG_SETUPY DM320_REG(0x0AD4)
#define IO_PREV_ENG_SETUPC DM320_REG(0x0AD8)
#define IO_PREV_ENG_TABLE_ADDR DM320_REG(0x0ADA)
#define IO_PREV_ENG_TABLE_DATA DM320_REG(0x0ADC)
#define IO_PREV_ENG_HG_CTL DM320_REG(0x0ADE)
#define IO_PREV_ENG_HG_R0_HSTART DM320_REG(0x0AE0)
#define IO_PREV_ENG_HG_R0_HSIZE DM320_REG(0x0AE2)
#define IO_PREV_ENG_HG_R0_VSTART DM320_REG(0x0AE4)
#define IO_PREV_ENG_HR_R0_VSIZE DM320_REG(0x0AE6)
#define IO_PREV_ENG_HG_R1_HSTART DM320_REG(0x0AE8)
#define IO_PREV_ENG_HG_R1_HSIZE DM320_REG(0x0AEA)
#define IO_PREV_ENG_HG_R1_VSTART DM320_REG(0x0AEC)
#define IO_PREV_ENG_HG_R1_VSIZE DM320_REG(0x0AEE)
#define IO_PREV_ENG_HG_R2_HSTART DM320_REG(0x0AF0)
#define IO_PREV_ENG_HG_R2_HSIZE DM320_REG(0x0AF2)
#define IO_PREV_ENG_HG_R2_VSTART DM320_REG(0x0AF4)
#define IO_PREV_ENG_HG_R2_VSIZE DM320_REG(0x0AF6)
#define IO_PREV_ENG_HG_R3_HSTART DM320_REG(0x0AF8)
#define IO_PREV_ENG_HG_R3_HSIZE DM320_REG(0x0AFA)
#define IO_PREV_ENG_HG_R3_VSTART DM320_REG(0x0AFC)
#define IO_PREV_ENG_HG_R3_VSIZE DM320_REG(0x0AFE)
#define IO_PREV_ENG_HG_ADDR DM320_REG(0x0B00)
#define IO_PREV_ENG_HG_DATA DM320_REG(0x0B02)
/* H3A Hardware */
#define IO_H3A_H3ACTRL DM320_REG(0x0B80)
#define IO_H3A_AFCTRL DM320_REG(0x0B82)
#define IO_H3A_AFPAX1 DM320_REG(0x0B84)
#define IO_H3A_AFPAX2 DM320_REG(0x0B86)
#define IO_H3A_AFPAX3 DM320_REG(0x0B88)
#define IO_H3A_AFPAX4 DM320_REG(0x0B8A)
#define IO_H3A_AFIRSH DM320_REG(0x0B8C)
#define IO_H3A_AFPAX5 DM320_REG(0x0B8E)
#define IO_H3A_AFSDRA1 DM320_REG(0x0B90)
#define IO_H3A_AFSDRA2 DM320_REG(0x0B92)
#define IO_H3A_AFSDRFLG DM320_REG(0x0B94)
#define IO_H3A_AFCOEFF10 DM320_REG(0x0B96)
#define IO_H3A_AFCOEFF11 DM320_REG(0x0B98)
#define IO_H3A_AFCOEFF12 DM320_REG(0x0B9A)
#define IO_H3A_AFCOEFF13 DM320_REG(0x0B9C)
#define IO_H3A_AFCOEFF14 DM320_REG(0x0B9E)
#define IO_H3A_AFCOEFF15 DM320_REG(0x0BA0)
#define IO_H3A_AFCOEFF16 DM320_REG(0x0BA2)
#define IO_H3A_AFCOEFF17 DM320_REG(0x0BA4)
#define IO_H3A_AFCOEFF18 DM320_REG(0x0BA6)
#define IO_H3A_AFCOEFF19 DM320_REG(0x0BA8)
#define IO_H3A_AFCOEFF110 DM320_REG(0x0BAA)
#define IO_H3A_AFCOEFF20 DM320_REG(0x0BAC)
#define IO_H3A_AFCOEFF21 DM320_REG(0x0BAE)
#define IO_H3A_AFCOEFF22 DM320_REG(0x0BB0)
#define IO_H3A_AFCOEFF23 DM320_REG(0x0BB2)
#define IO_H3A_AFCOEFF24 DM320_REG(0x0BB4)
#define IO_H3A_AFCOEFF25 DM320_REG(0x0BB6)
#define IO_H3A_AFCOEFF26 DM320_REG(0x0BB8)
#define IO_H3A_AFCOEFF27 DM320_REG(0x0BBA)
#define IO_H3A_AFCOEFF28 DM320_REG(0x0BBC)
#define IO_H3A_AFCOEFF29 DM320_REG(0x0BBE)
#define IO_H3A_AFCOEFF210 DM320_REG(0x0BC0)
#define IO_H3A_AEWCTRL DM320_REG(0x0BC2)
#define IO_H3A_AEWWIN1 DM320_REG(0x0BC4)
#define IO_H3A_AEWWIN2 DM320_REG(0x0BC6)
#define IO_H3A_AEWWIN3 DM320_REG(0x0BC8)
#define IO_H3A_AEWWIN4 DM320_REG(0x0BCA)
#define IO_H3A_AEWWIN5 DM320_REG(0x0BCC)
#define IO_H3A_AEWSDRA1 DM320_REG(0x0BCE)
#define IO_H3A_AEWSDRA2 DM320_REG(0x0BD0)
#define IO_H3A_AEWSDRFLG DM320_REG(0x0BD2)
/* Reserved 0x0C00 - 0x0CCFF */
/* Memory Stick Controller : */
#define IO_MEM_STICK_MODE DM320_REG(0x0C80)
#define IO_MEM_STICK_CMD DM320_REG(0x0C82)
#define IO_MEM_STICK_DATA DM320_REG(0x0C84)
#define IO_MEM_STICK_STATUS DM320_REG(0x0C86)
#define IO_MEM_STICK_SYS DM320_REG(0x0C88)
#define IO_MEM_STICK_ENDIAN DM320_REG(0x0C8A)
#define IO_MEM_STICK_INT_STATUS DM320_REG(0x0C8C)
#define IO_MEM_STICK_DMA_TRG DM320_REG(0x0C8E)
#define IO_MEM_STICK_DMA_MODE DM320_REG(0x0C90)
#define IO_MEM_STICK_SDRAM_ADDL DM320_REG(0x0C92)
#define IO_MEM_STICK_SDRAM_ADDH DM320_REG(0x0C94)
#define IO_MEM_STICK_DMA_STATUS DM320_REG(0x0C96)
/* ATM : WBB Need to find these Register values */
#define IO_ATM_ DM320_REG(0x0D00)
/* I2C */
#define IO_I2C_TXDATA DM320_REG(0x0D80)
#define IO_I2C_RXDATA DM320_REG(0x0D82)
#define IO_I2C_SCS DM320_REG(0x0D84)
/* VLYNQ */
#define VL_ID DM320_REG2(0x0300)
#define VL_CTRL DM320_REG2(0x0304)
#define VL_STAT DM320_REG2(0x0308)
#define VL_INTPRI DM320_REG2(0x030c)
#define VL_INTST DM320_REG2(0x0310)
#define VL_INTPND DM320_REG2(0x0314)
#define VL_INTPTR DM320_REG2(0x0318)
#define VL_TXMAP DM320_REG2(0x031c)
#define VL_RXMAPSZ1 DM320_REG2(0x0320)
#define VL_RXMAPOF1 DM320_REG2(0x0324)
#define VL_RXMAPSZ2 DM320_REG2(0x0328)
#define VL_RXMAPOF2 DM320_REG2(0x032c)
#define VL_RXMAPSZ3 DM320_REG2(0x0330)
#define VL_RXMAPOF3 DM320_REG2(0x0334)
#define VL_RXMAPSZ4 DM320_REG2(0x0338)
#define VL_RXMAPOF4 DM320_REG2(0x033c)
#define VL_CHIPVER DM320_REG2(0x0340)
#define VL_AUTONEG DM320_REG2(0x0344)
#define VL_MANNEG DM320_REG2(0x0348)
#define VL_NEGSTAT DM320_REG2(0x034c)
#define VL_ENDIAN DM320_REG2(0x035c)
#define VL_INTVEC30 DM320_REG2(0x0360)
#define VL_INTVEC74 DM320_REG2(0x0364)
#define VL_ID_R DM320_REG2(0x0380)
#define VL_CTRL_R DM320_REG2(0x0384)
#define VL_STAT_R DM320_REG2(0x0388)
#define VL_INTPRI_R DM320_REG2(0x038c)
#define VL_INTST_R DM320_REG2(0x0390)
#define VL_INTPND_R DM320_REG2(0x0394)
#define VL_INTPTR_R DM320_REG2(0x0398)
#define VL_TXMAP_R DM320_REG2(0x039c)
#define VL_RXMAPSZ1_R DM320_REG2(0x03a0)
#define VL_RXMAPOF1_R DM320_REG2(0x03a4)
#define VL_RXMAPSZ2_R DM320_REG2(0x03a8)
#define VL_RXMAPOF2_R DM320_REG2(0x03ac)
#define VL_RXMAPSZ3_R DM320_REG2(0x03b0)
#define VL_RXMAPOF3_R DM320_REG2(0x03b4)
#define VL_RXMAPSZ4_R DM320_REG2(0x03b8)
#define VL_RXMAPOF4_R DM320_REG2(0x03bc)
#define VL_CHIPVER_R DM320_REG2(0x03c0)
#define VL_AUTONEG_R DM320_REG2(0x03c4)
#define VL_MANNEG_R DM320_REG2(0x03c8)
#define VL_NEGSTAT_R DM320_REG2(0x03cc)
#define VL_ENDIAN_R DM320_REG2(0x03dc)
#define VL_INTVEC30_R DM320_REG2(0x03e0)
#define VL_INTVEC74_R DM320_REG2(0x03e4)
/* Coprocessor Interface */
#define COP_SDEM_ADDRH DM320_COP(0xe000)
#define COP_SDEM_ADDRL DM320_COP(0xe002)
#define COP_SDEM_LOFST DM320_COP(0xe004)
#define COP_BUF_ADDR DM320_COP(0xe006)
#define COP_BUF_LOFST DM320_COP(0xe008)
#define COP_DMA_XNUM DM320_COP(0xe00a)
#define COP_DMA_YNUM DM320_COP(0xe00c)
#define COP_DMA_CTRL DM320_COP(0xe00e)
#define COP_BUF_MUX0 DM320_COP(0xe010)
#define COP_BUF_MUX1 DM320_COP(0xe012)
#define COP_IMG_MODE DM320_COP(0xe014)
#define COP_CP_CLKC DM320_COP(0xe502)
/* Taken from linux/include/asm-arm/arch-itdm320/irqs.h
*
* Copyright (C) 1999 ARM Limited
* Copyright (C) 2004 Ingenient Technologies
*/
/*
* Interrupt numbers
*/
#define IRQ_TIMER0 0
#define IRQ_TIMER1 1
#define IRQ_TIMER2 2
#define IRQ_TIMER3 3
#define IRQ_CCD_VD0 4
#define IRQ_CCD_VD1 5
#define IRQ_CCD_WEN 6
#define IRQ_VENC 7
#define IRQ_SERIAL0 8
#define IRQ_SERIAL1 9
#define IRQ_EXT_HOST 10
#define IRQ_DSPHINT 11
#define IRQ_UART0 12
#define IRQ_UART1 13
#define IRQ_USB_DMA 14
#define IRQ_USB_CORE 15
#define IRQ_VLYNQ 16
#define IRQ_MTC0 17
#define IRQ_MTC1 18
#define IRQ_SD_MMC 19
#define IRQ_SDIO_MS 20
#define IRQ_GIO0 21
#define IRQ_GIO1 22
#define IRQ_GIO2 23
#define IRQ_GIO3 24
#define IRQ_GIO4 25
#define IRQ_GIO5 26
#define IRQ_GIO6 27
#define IRQ_GIO7 28
#define IRQ_GIO8 29
#define IRQ_GIO9 30
#define IRQ_GIO10 31
#define IRQ_GIO11 32
#define IRQ_GIO12 33
#define IRQ_GIO13 34
#define IRQ_GIO14 35
#define IRQ_GIO15 36
#define IRQ_PREVIEW0 37
#define IRQ_PREVIEW1 38
#define IRQ_WATCHDOG 39
#define IRQ_I2C 40
#define IRQ_CLKC 41
/* Embedded Debugging Interrupts */
#define IRQ_ICE 42
#define IRQ_ARMCOM_RX 43
#define IRQ_ARMCOM_TX 44
#define IRQ_RESERVED 45
#define NR_IRQS 46
/* Taken from linux/include/asm-arm/arch-integrator/timex.h
*
* Copyright (C) 1999 ARM Limited
*/
#define CONFIG_TIMER0_TMMD_STOP 0x0000
#define CONFIG_TIMER0_TMMD_ONE_SHOT 0x0001
#define CONFIG_TIMER0_TMMD_FREE_RUN 0x0002
#define CONFIG_TIMER1_TMMD_STOP 0x0000
#define CONFIG_TIMER1_TMMD_ONE_SHOT 0x0001
#define CONFIG_TIMER1_TMMD_FREE_RUN 0x0002
#define CONFIG_TIMER2_TMMD_STOP 0x0000
#define CONFIG_TIMER2_TMMD_ONE_SHOT 0x0001
#define CONFIG_TIMER2_TMMD_FREE_RUN 0x0002
#define CONFIG_TIMER2_TMMD_CCD_SHUTTER 0x0100
#define CONFIG_TIMER2_TMMD_CCD_STROBE 0x0200
#define CONFIG_TIMER2_TMMD_POLARITY 0x0400
#define CONFIG_TIMER2_TMMD_TRG_SELECT 0x0800
#define CONFIG_TIMER2_TMMD_TRG_READY 0x1000
#define CONFIG_TIMER2_TMMD_SIGNAL 0x2000
#define CONFIG_TIMER3_TMMD_STOP 0x0000
#define CONFIG_TIMER3_TMMD_ONE_SHOT 0x0001
#define CONFIG_TIMER3_TMMD_FREE_RUN 0x0002
#define CONFIG_TIMER3_TMMD_CCD_SHUTTER 0x0100
#define CONFIG_TIMER3_TMMD_CCD_STROBE 0x0200
#define CONFIG_TIMER3_TMMD_POLARITY 0x0400
#define CONFIG_TIMER3_TMMD_TRG_SELECT 0x0800
#define CONFIG_TIMER3_TMMD_TRG_READY 0x1000
#define CONFIG_TIMER3_TMMD_SIGNAL 0x2000
/*
* IO_MODx bits
*/
#define CLK_MOD0_HPIB (1 << 11)
#define CLK_MOD0_DSP (1 << 10)
#define CLK_MOD0_EXTHOST (1 << 9)
#define CLK_MOD0_SDRAMC (1 << 8)
#define CLK_MOD0_EMIF (1 << 7)
#define CLK_MOD0_INTC (1 << 6)
#define CLK_MOD0_AIM (1 << 5)
#define CLK_MOD0_E2ICE (1 << 4)
#define CLK_MOD0_ETM (1 << 3)
#define CLK_MOD0_AHB (1 << 2)
#define CLK_MOD0_BUSC (1 << 1)
#define CLK_MOD0_ARM (1 << 0)
#define CLK_MOD1_CPBUS (1 << 11)
#define CLK_MOD1_SEQ (1 << 10)
#define CLK_MOD1_DCT (1 << 9)
#define CLK_MOD1_IMGBUF (1 << 8)
#define CLK_MOD1_IMX (1 << 7)
#define CLK_MOD1_VLCD (1 << 6)
#define CLK_MOD1_DAC (1 << 5)
#define CLK_MOD1_VENC (1 << 4)
#define CLK_MOD1_OSD (1 << 3)
#define CLK_MOD1_PRV (1 << 2)
#define CLK_MOD1_H3A (1 << 1)
#define CLK_MOD1_CCDC (1 << 0)
#define CLK_MOD2_TEST (1 << 15)
#define CLK_MOD2_MS (1 << 14)
#define CLK_MOD2_VLYNQ (1 << 13)
#define CLK_MOD2_I2C (1 << 12)
#define CLK_MOD2_MMC (1 << 11)
#define CLK_MOD2_SIF1 (1 << 10)
#define CLK_MOD2_SIF0 (1 << 9)
#define CLK_MOD2_UART1 (1 << 8)
#define CLK_MOD2_UART0 (1 << 7)
#define CLK_MOD2_USB (1 << 6)
#define CLK_MOD2_GIO (1 << 5)
#define CLK_MOD2_CCDTMR1 (1 << 4)
#define CLK_MOD2_CCDTMR0 (1 << 3)
#define CLK_MOD2_TMR1 (1 << 2)
#define CLK_MOD2_TMR0 (1 << 1)
#define CLK_MOD2_WDT (1 << 0)
#define CLK_SEL0_UART0 (1 << 5)
#define CLK_SEL1_OSD (1 << 12)
#define CLK_SEL1_CCD (1 << 8)
#define CLK_SEL1_VENCPLL (1 << 4)
#define CLK_SEL1_VENC(x) (x << 0)
#define CLK_OSEL_O2SEL(x) (x << 8)
#define CLK_OSEL_O1SEL(x) (x << 4)
#define CLK_OSEL_O0SEL(x) (x << 0)
#define CLK_BYP_AXL (1 << 12)
#define CLK_BYP_SDRAM (1 << 8)
#define CLK_BYP_DSP (1 << 4)
#define CLK_BYP_ARM (1 << 0)
#define CLK_INV_MMC (1 << 0)
#define CLK_INV_VENC (1 << 4)
#define CLK_INV_CCD (1 << 8)
#define CLK_INV_SIF0 (1 << 12)
#define CLK_INV_SIF1 (1 << 13)
#define MMC_CTRL_DATRST (1 << 0)
#define MMC_CTRL_CMDRST (1 << 1)
#define MMC_CTRL_WIDTH (1 << 2)
#define MMC_CTRL_DMASZEN (1 << 4)
#define MMC_CTRL_TEST2 (1 << 8)
#define MMC_CTRL_PERMDR (1 << 9)
#define MMC_CTRL_PERMDX (1 << 10)
#define MMC_CMD_CMD_MASK (0x3F)
#define MMC_CMD_PPLEN (1 << 7)
#define MMC_CMD_BSYEXP (1 << 8)
#define MMC_CMD_RSPFMT_SHIFT 9
#define MMC_CMD_RSPFMT_MASK (3 << MMC_CMD_RSPFMT_SHIFT)
#define MMC_CMD_WRITE (1 << 11)
#define MMC_CMD_STREAM (1 << 12)
#define MMC_CMD_DATA (1 << 13)
#define MMC_CMD_INITCLK (1 << 14)
#define MMC_CMD_DCLR (1 << 15)
#define MMC_ST0_DATDNE (1 << 0)
#define MMC_ST0_BSYDNE (1 << 1)
#define MMC_ST0_RSPDNE (1 << 2)
#define MMC_ST0_DATA_TIMEOUT (1 << 3)
#define MMC_ST0_CMD_TIMEOUT (1 << 4)
#define MMC_ST0_WR_CRCERR (1 << 5)
#define MMC_ST0_RD_CRCERR (1 << 6)
#define MMC_ST0_RESP_CRCERR (1 << 7)
#define MMC_ST0_DMADNE (1 << 8)
#define MMC_ST0_DXRDY (1 << 9)
#define MMC_ST0_DRRDY (1 << 10)
#define MMC_ST0_DAT3_EDGE (1 << 11)
#define MMC_ST1_BUSY (1 << 0)
#define MMC_ST1_CLKSTP (1 << 1)
#define MMC_ST1_DXEMPTY (1 << 2)
#define MMC_ST1_DXFULL (1 << 3)
#define MMC_ST1_DAT3ST (1 << 4)
#define MMC_DMAMODE_RD_WORDSWAP (1 << 10)
#define MMC_DMAMODE_WR_WORDSWAP (1 << 11)
#define MMC_DMAMODE_WRITE (1 << 12)
#define MMC_DMAMODE_ENABLE (1 << 13)
#define MMC_DMAMODE_TIMEOUTIRQ_EN (1 << 14)
/*
* IO_EINTx bits
*/
#define INTR_EINT0_USB1 (1 << 15)
#define INTR_EINT0_USB0 (1 << 14)
#define INTR_EINT0_UART1 (1 << 13)
#define INTR_EINT0_UART0 (1 << 12)
#define INTR_EINT0_IMGBUF (1 << 11)
#define INTR_EINT0_EXTHOST (1 << 10)
#define INTR_EINT0_SP1 (1 << 9)
#define INTR_EINT0_SP0 (1 << 8)
#define INTR_EINT0_VENC (1 << 7)
#define INTR_EINT0_CCDWEN (1 << 6)
#define INTR_EINT0_CCDVD1 (1 << 5)
#define INTR_EINT0_CCDVD0 (1 << 4)
#define INTR_EINT0_TMR3 (1 << 3)
#define INTR_EINT0_TMR2 (1 << 2)
#define INTR_EINT0_TMR1 (1 << 1)
#define INTR_EINT0_TMR0 (1 << 0)
#define INTR_EINT1_EXT10 (1 << 15)
#define INTR_EINT1_EXT9 (1 << 14)
#define INTR_EINT1_EXT8 (1 << 13)
#define INTR_EINT1_EXT7 (1 << 12)
#define INTR_EINT1_EXT6 (1 << 11)
#define INTR_EINT1_EXT5 (1 << 10)
#define INTR_EINT1_EXT4 (1 << 9)
#define INTR_EINT1_EXT3 (1 << 8)
#define INTR_EINT1_EXT2 (1 << 7)
#define INTR_EINT1_EXT1 (1 << 6)
#define INTR_EINT1_EXT0 (1 << 5)
#define INTR_EINT1_MMCSDMS1 (1 << 4)
#define INTR_EINT1_MMCSDMS0 (1 << 3)
#define INTR_EINT1_MTC1 (1 << 2)
#define INTR_EINT1_MTC0 (1 << 1)
#define INTR_EINT1_VLYNQ (1 << 0)
#define INTR_EINT2_RSVINT (1 << 13)
#define INTR_EINT2_ARMCOMTX (1 << 12)
#define INTR_EINT2_ARMCOMRX (1 << 11)
#define INTR_EINT2_E2ICE (1 << 10)
#define INTR_EINT2_INTRC (1 << 9)
#define INTR_EINT2_I2C (1 << 8)
#define INTR_EINT2_WDT (1 << 7)
#define INTR_EINT2_PREV1 (1 << 6)
#define INTR_EINT2_PREV0 (1 << 5)
#define INTR_EINT2_EXT15 (1 << 4)
#define INTR_EINT2_EXT14 (1 << 3)
#define INTR_EINT2_EXT13 (1 << 2)
#define INTR_EINT2_EXT12 (1 << 1)
#define INTR_EINT2_EXT11 (1 << 0)
/*
* IO_IRQx bits
*/
#define INTR_IRQ0_TMR0 INTR_EINT0_TMR0
#define INTR_IRQ0_TMR1 INTR_EINT0_TMR1
#define INTR_IRQ0_TMR2 INTR_EINT0_TMR2
#define INTR_IRQ0_TMR3 INTR_EINT0_TMR3
#define INTR_IRQ0_UART1 INTR_EINT0_UART1
#define INTR_IRQ0_CCDVD1 INTR_EINT0_CCDVD1
#define INTR_IRQ0_IMGBUF INTR_EINT0_IMGBUF
#define INTR_IRQ1_EXT0 INTR_EINT1_EXT0
#define INTR_IRQ1_EXT2 INTR_EINT1_EXT2
#define INTR_IRQ1_EXT7 INTR_EINT1_EXT7
#define INTR_IRQ1_MTC0 INTR_EINT1_MTC0
/*
* HPIBCTL bits
*/
#define HPIBCTL_DBIO (1 << 10)
#define HPIBCTL_DHOLD (1 << 9)
#define HPIBCTL_DRST (1 << 8)
#define HPIBCTL_DINT0 (1 << 7)
#define HPIBCTL_EXCHG (1 << 5)
#define HPIBCTL_HPNMI (1 << 3)
#define HPIBCTL_HPIEN (1 << 0)
/*
* Video Encoder bits
*/
#define VENC_VMOD_VDMD(x) (x << 12)
#define VENC_VMOD_ITLC (1 << 10)
#define VENC_VMOD_CBTYP (1 << 9)
#define VENC_VMOD_CBMD (1 << 8)
#define VENC_VMOD_NTPLS(x) (x << 6)
#define VENC_VMOD_SLAVE (1 << 5)
#define VENC_VMOD_VMD (1 << 4)
#define VENC_VMOD_BLNK (1 << 3)
#define VENC_VMOD_DACPD (1 << 2)
#define VENC_VMOD_VIE (1 << 1)
#define VENC_VMOD_VENC (1 << 0)
#define VENC_VDCTL_VCLKP (1 << 14)
#define VENC_VDCTL_VCLKE (1 << 13)
#define VENC_VDCTL_VCLKZ (1 << 12)
#define VENC_VDCTL_DOMD(x) (x << 4)
#define VENC_VDCTL_YCDC (1 << 2)
#define VENC_VDCTL_INPTRU (1 << 1)
#define VENC_VDCTL_YCDIR (1 << 0)
#define VENC_VDPRO_PFLTY(x) (x << 12)
#define VENC_VDPRO_PFLTR (1 << 11)
#define VENC_VDPRO_YCDLY(x) (x << 8)
#define VENC_VDPRO_RGBMAT (1 << 7)
#define VENC_VDPRO_ATRGB (1 << 6)
#define VENC_VDPRO_ATYCC (1 << 5)
#define VENC_VDPRO_ATCOM (1 << 4)
#define VENC_VDPRO_STUP (1 << 3)
#define VENC_VDPRO_CRCUT (1 << 2)
#define VENC_VDPRO_CUPS (1 << 1)
#define VENC_VDPRO_YUPS (1 << 0)
#define VENC_SYNCTL_EXFEN (1 << 12)
#define VENC_SYNCTL_EXFIV (1 << 11)
#define VENC_SYNCTL_EXSYNC (1 << 10)
#define VENC_SYNCTL_EXVIV (1 << 9)
#define VENC_SYNCTL_EXHIV (1 << 8)
#define VENC_SYNCTL_CSP (1 << 7)
#define VENC_SYNCTL_CSE (1 << 6)
#define VENC_SYNCTL_SYSW (1 << 5)
#define VENC_SYNCTL_VSYNCS (1 << 4)
#define VENC_SYNCTL_VPL (1 << 3)
#define VENC_SYNCTL_HPL (1 << 2)
#define VENC_SYNCTL_SYE (1 << 1)
#define VENC_SYNCTL_SYDIR (1 << 0)
#define VENC_RGBCTL_IRONM (1 << 11)
#define VENC_RGBCTL_DFLTR (1 << 10)
#define VENC_RGBCTL_DFLTS(x) (x << 8)
#define VENC_RGBCTL_RGBEF(x) (x << 4)
#define VENC_RGBCTL_RGBOF(x) (x << 0)
#define VENC_RGBCLP_UCLIP(x) (x << 8)
#define VENC_RGBCLP_OFST(x) (x << 0)
#define VENC_LCDOUT_FIDS (1 << 8)
#define VENC_LCDOUT_FIDP (1 << 7)
#define VENC_LCDOUT_PWMP (1 << 6)
#define VENC_LCDOUT_PWME (1 << 5)
#define VENC_LCDOUT_ACE (1 << 4)
#define VENC_LCDOUT_BRP (1 << 3)
#define VENC_LCDOUT_BRE (1 << 2)
#define VENC_LCDOUT_OEP (1 << 1)
#define VENC_LCDOUT_OEE (1 << 0)
#define VENC_DCLKCTL_DOFST(x) (x << 12)
#define VENC_DCLKCTL_DCKEC (1 << 11)
#define VENC_DCLKCTL_DCKME (1 << 10)
#define VENC_DCLKCTL_DCKOH (1 << 9)
#define VENC_DCLKCTL_DCKIH (1 << 8)
#define VENC_DCLKCTL_DCKPW(x) (x << 0)
/* Timer frequency */
/* timer is based on PCLK and minimum division is 2 */
#define TIMER_FREQ (27000000)
#endif
|