wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 1 | /* |
2 | * (C) Copyright 2003 | ||||
Albert ARIBAUD | 60fbc8d | 2011-08-04 18:45:45 +0200 | [diff] [blame] | 3 | * David Müller ELSOFT AG Switzerland. d.mueller@elsoft.ch |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 4 | * |
Wolfgang Denk | d79de1d | 2013-07-08 09:37:19 +0200 | [diff] [blame] | 5 | * SPDX-License-Identifier: GPL-2.0+ |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 6 | */ |
7 | |||||
8 | /************************************************ | ||||
9 | * NAME : s3c24x0.h | ||||
10 | * Version : 31.3.2003 | ||||
11 | * | ||||
12 | * common stuff for SAMSUNG S3C24X0 SoC | ||||
13 | ************************************************/ | ||||
14 | |||||
15 | #ifndef __S3C24X0_H__ | ||||
16 | #define __S3C24X0_H__ | ||||
17 | |||||
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 18 | /* Memory controller (see manual chapter 5) */ |
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 19 | struct s3c24x0_memctl { |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 20 | u32 bwscon; |
21 | u32 bankcon[8]; | ||||
22 | u32 refresh; | ||||
23 | u32 banksize; | ||||
24 | u32 mrsrb6; | ||||
25 | u32 mrsrb7; | ||||
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 26 | }; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 27 | |
28 | |||||
29 | /* USB HOST (see manual chapter 12) */ | ||||
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 30 | struct s3c24x0_usb_host { |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 31 | u32 HcRevision; |
32 | u32 HcControl; | ||||
33 | u32 HcCommonStatus; | ||||
34 | u32 HcInterruptStatus; | ||||
35 | u32 HcInterruptEnable; | ||||
36 | u32 HcInterruptDisable; | ||||
37 | u32 HcHCCA; | ||||
38 | u32 HcPeriodCuttendED; | ||||
39 | u32 HcControlHeadED; | ||||
40 | u32 HcControlCurrentED; | ||||
41 | u32 HcBulkHeadED; | ||||
42 | u32 HcBuldCurrentED; | ||||
43 | u32 HcDoneHead; | ||||
44 | u32 HcRmInterval; | ||||
45 | u32 HcFmRemaining; | ||||
46 | u32 HcFmNumber; | ||||
47 | u32 HcPeriodicStart; | ||||
48 | u32 HcLSThreshold; | ||||
49 | u32 HcRhDescriptorA; | ||||
50 | u32 HcRhDescriptorB; | ||||
51 | u32 HcRhStatus; | ||||
52 | u32 HcRhPortStatus1; | ||||
53 | u32 HcRhPortStatus2; | ||||
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 54 | }; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 55 | |
56 | |||||
57 | /* INTERRUPT (see manual chapter 14) */ | ||||
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 58 | struct s3c24x0_interrupt { |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 59 | u32 srcpnd; |
60 | u32 intmod; | ||||
61 | u32 intmsk; | ||||
62 | u32 priority; | ||||
63 | u32 intpnd; | ||||
64 | u32 intoffset; | ||||
65 | #if defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440) | ||||
66 | u32 subsrcpnd; | ||||
67 | u32 intsubmsk; | ||||
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 68 | #endif |
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 69 | }; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 70 | |
71 | |||||
72 | /* DMAS (see manual chapter 8) */ | ||||
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 73 | struct s3c24x0_dma { |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 74 | u32 disrc; |
75 | #if defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440) | ||||
76 | u32 disrcc; | ||||
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 77 | #endif |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 78 | u32 didst; |
79 | #if defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440) | ||||
80 | u32 didstc; | ||||
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 81 | #endif |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 82 | u32 dcon; |
83 | u32 dstat; | ||||
84 | u32 dcsrc; | ||||
85 | u32 dcdst; | ||||
86 | u32 dmasktrig; | ||||
87 | #if defined(CONFIG_S3C2400) || defined(CONFIG_S3C2410) \ | ||||
88 | || defined(CONFIG_S3C2440) | ||||
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 89 | u32 res[1]; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 90 | #endif |
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 91 | }; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 92 | |
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 93 | struct s3c24x0_dmas { |
94 | struct s3c24x0_dma dma[4]; | ||||
95 | }; | ||||
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 96 | |
97 | |||||
98 | /* CLOCK & POWER MANAGEMENT (see S3C2400 manual chapter 6) */ | ||||
99 | /* (see S3C2410 manual chapter 7) */ | ||||
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 100 | struct s3c24x0_clock_power { |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 101 | u32 locktime; |
102 | u32 mpllcon; | ||||
103 | u32 upllcon; | ||||
104 | u32 clkcon; | ||||
105 | u32 clkslow; | ||||
106 | u32 clkdivn; | ||||
107 | #if defined(CONFIG_S3C2440) | ||||
108 | u32 camdivn; | ||||
109 | #endif | ||||
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 110 | }; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 111 | |
112 | |||||
113 | /* LCD CONTROLLER (see manual chapter 15) */ | ||||
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 114 | struct s3c24x0_lcd { |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 115 | u32 lcdcon1; |
116 | u32 lcdcon2; | ||||
117 | u32 lcdcon3; | ||||
118 | u32 lcdcon4; | ||||
119 | u32 lcdcon5; | ||||
120 | u32 lcdsaddr1; | ||||
121 | u32 lcdsaddr2; | ||||
122 | u32 lcdsaddr3; | ||||
123 | u32 redlut; | ||||
124 | u32 greenlut; | ||||
125 | u32 bluelut; | ||||
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 126 | u32 res[8]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 127 | u32 dithmode; |
128 | u32 tpal; | ||||
129 | #if defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440) | ||||
130 | u32 lcdintpnd; | ||||
131 | u32 lcdsrcpnd; | ||||
132 | u32 lcdintmsk; | ||||
133 | u32 lpcsel; | ||||
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 134 | #endif |
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 135 | }; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 136 | |
137 | |||||
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 138 | #ifdef CONFIG_S3C2410 |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 139 | /* NAND FLASH (see S3C2410 manual chapter 6) */ |
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 140 | struct s3c2410_nand { |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 141 | u32 nfconf; |
142 | u32 nfcmd; | ||||
143 | u32 nfaddr; | ||||
144 | u32 nfdata; | ||||
145 | u32 nfstat; | ||||
146 | u32 nfecc; | ||||
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 147 | }; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 148 | #endif |
149 | #ifdef CONFIG_S3C2440 | ||||
150 | /* NAND FLASH (see S3C2440 manual chapter 6) */ | ||||
151 | struct s3c2440_nand { | ||||
152 | u32 nfconf; | ||||
153 | u32 nfcont; | ||||
154 | u32 nfcmd; | ||||
155 | u32 nfaddr; | ||||
156 | u32 nfdata; | ||||
157 | u32 nfeccd0; | ||||
158 | u32 nfeccd1; | ||||
159 | u32 nfeccd; | ||||
160 | u32 nfstat; | ||||
161 | u32 nfstat0; | ||||
162 | u32 nfstat1; | ||||
163 | }; | ||||
164 | #endif | ||||
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 165 | |
166 | |||||
167 | /* UART (see manual chapter 11) */ | ||||
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 168 | struct s3c24x0_uart { |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 169 | u32 ulcon; |
170 | u32 ucon; | ||||
171 | u32 ufcon; | ||||
172 | u32 umcon; | ||||
173 | u32 utrstat; | ||||
174 | u32 uerstat; | ||||
175 | u32 ufstat; | ||||
176 | u32 umstat; | ||||
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 177 | #ifdef __BIG_ENDIAN |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 178 | u8 res1[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 179 | u8 utxh; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 180 | u8 res2[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 181 | u8 urxh; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 182 | #else /* Little Endian */ |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 183 | u8 utxh; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 184 | u8 res1[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 185 | u8 urxh; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 186 | u8 res2[3]; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 187 | #endif |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 188 | u32 ubrdiv; |
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 189 | }; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 190 | |
191 | |||||
192 | /* PWM TIMER (see manual chapter 10) */ | ||||
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 193 | struct s3c24x0_timer { |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 194 | u32 tcntb; |
195 | u32 tcmpb; | ||||
196 | u32 tcnto; | ||||
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 197 | }; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 198 | |
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 199 | struct s3c24x0_timers { |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 200 | u32 tcfg0; |
201 | u32 tcfg1; | ||||
202 | u32 tcon; | ||||
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 203 | struct s3c24x0_timer ch[4]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 204 | u32 tcntb4; |
205 | u32 tcnto4; | ||||
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 206 | }; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 207 | |
208 | |||||
209 | /* USB DEVICE (see manual chapter 13) */ | ||||
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 210 | struct s3c24x0_usb_dev_fifos { |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 211 | #ifdef __BIG_ENDIAN |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 212 | u8 res[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 213 | u8 ep_fifo_reg; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 214 | #else /* little endian */ |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 215 | u8 ep_fifo_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 216 | u8 res[3]; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 217 | #endif |
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 218 | }; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 219 | |
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 220 | struct s3c24x0_usb_dev_dmas { |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 221 | #ifdef __BIG_ENDIAN |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 222 | u8 res1[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 223 | u8 ep_dma_con; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 224 | u8 res2[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 225 | u8 ep_dma_unit; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 226 | u8 res3[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 227 | u8 ep_dma_fifo; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 228 | u8 res4[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 229 | u8 ep_dma_ttc_l; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 230 | u8 res5[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 231 | u8 ep_dma_ttc_m; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 232 | u8 res6[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 233 | u8 ep_dma_ttc_h; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 234 | #else /* little endian */ |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 235 | u8 ep_dma_con; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 236 | u8 res1[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 237 | u8 ep_dma_unit; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 238 | u8 res2[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 239 | u8 ep_dma_fifo; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 240 | u8 res3[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 241 | u8 ep_dma_ttc_l; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 242 | u8 res4[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 243 | u8 ep_dma_ttc_m; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 244 | u8 res5[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 245 | u8 ep_dma_ttc_h; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 246 | u8 res6[3]; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 247 | #endif |
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 248 | }; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 249 | |
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 250 | struct s3c24x0_usb_device { |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 251 | #ifdef __BIG_ENDIAN |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 252 | u8 res1[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 253 | u8 func_addr_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 254 | u8 res2[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 255 | u8 pwr_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 256 | u8 res3[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 257 | u8 ep_int_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 258 | u8 res4[15]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 259 | u8 usb_int_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 260 | u8 res5[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 261 | u8 ep_int_en_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 262 | u8 res6[15]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 263 | u8 usb_int_en_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 264 | u8 res7[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 265 | u8 frame_num1_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 266 | u8 res8[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 267 | u8 frame_num2_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 268 | u8 res9[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 269 | u8 index_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 270 | u8 res10[7]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 271 | u8 maxp_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 272 | u8 res11[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 273 | u8 ep0_csr_in_csr1_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 274 | u8 res12[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 275 | u8 in_csr2_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 276 | u8 res13[7]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 277 | u8 out_csr1_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 278 | u8 res14[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 279 | u8 out_csr2_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 280 | u8 res15[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 281 | u8 out_fifo_cnt1_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 282 | u8 res16[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 283 | u8 out_fifo_cnt2_reg; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 284 | #else /* little endian */ |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 285 | u8 func_addr_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 286 | u8 res1[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 287 | u8 pwr_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 288 | u8 res2[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 289 | u8 ep_int_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 290 | u8 res3[15]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 291 | u8 usb_int_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 292 | u8 res4[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 293 | u8 ep_int_en_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 294 | u8 res5[15]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 295 | u8 usb_int_en_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 296 | u8 res6[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 297 | u8 frame_num1_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 298 | u8 res7[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 299 | u8 frame_num2_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 300 | u8 res8[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 301 | u8 index_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 302 | u8 res9[7]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 303 | u8 maxp_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 304 | u8 res10[7]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 305 | u8 ep0_csr_in_csr1_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 306 | u8 res11[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 307 | u8 in_csr2_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 308 | u8 res12[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 309 | u8 out_csr1_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 310 | u8 res13[7]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 311 | u8 out_csr2_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 312 | u8 res14[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 313 | u8 out_fifo_cnt1_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 314 | u8 res15[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 315 | u8 out_fifo_cnt2_reg; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 316 | u8 res16[3]; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 317 | #endif /* __BIG_ENDIAN */ |
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 318 | struct s3c24x0_usb_dev_fifos fifo[5]; |
319 | struct s3c24x0_usb_dev_dmas dma[5]; | ||||
320 | }; | ||||
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 321 | |
322 | |||||
323 | /* WATCH DOG TIMER (see manual chapter 18) */ | ||||
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 324 | struct s3c24x0_watchdog { |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 325 | u32 wtcon; |
326 | u32 wtdat; | ||||
327 | u32 wtcnt; | ||||
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 328 | }; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 329 | |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 330 | /* IIS (see manual chapter 21) */ |
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 331 | struct s3c24x0_i2s { |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 332 | #ifdef __BIG_ENDIAN |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 333 | u16 res1; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 334 | u16 iiscon; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 335 | u16 res2; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 336 | u16 iismod; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 337 | u16 res3; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 338 | u16 iispsr; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 339 | u16 res4; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 340 | u16 iisfcon; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 341 | u16 res5; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 342 | u16 iisfifo; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 343 | #else /* little endian */ |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 344 | u16 iiscon; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 345 | u16 res1; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 346 | u16 iismod; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 347 | u16 res2; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 348 | u16 iispsr; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 349 | u16 res3; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 350 | u16 iisfcon; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 351 | u16 res4; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 352 | u16 iisfifo; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 353 | u16 res5; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 354 | #endif |
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 355 | }; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 356 | |
357 | |||||
358 | /* I/O PORT (see manual chapter 9) */ | ||||
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 359 | struct s3c24x0_gpio { |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 360 | #ifdef CONFIG_S3C2400 |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 361 | u32 pacon; |
362 | u32 padat; | ||||
wdenk | 57b2d80 | 2003-06-27 21:31:46 +0000 | [diff] [blame] | 363 | |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 364 | u32 pbcon; |
365 | u32 pbdat; | ||||
366 | u32 pbup; | ||||
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 367 | |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 368 | u32 pccon; |
369 | u32 pcdat; | ||||
370 | u32 pcup; | ||||
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 371 | |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 372 | u32 pdcon; |
373 | u32 pddat; | ||||
374 | u32 pdup; | ||||
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 375 | |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 376 | u32 pecon; |
377 | u32 pedat; | ||||
378 | u32 peup; | ||||
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 379 | |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 380 | u32 pfcon; |
381 | u32 pfdat; | ||||
382 | u32 pfup; | ||||
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 383 | |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 384 | u32 pgcon; |
385 | u32 pgdat; | ||||
386 | u32 pgup; | ||||
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 387 | |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 388 | u32 opencr; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 389 | |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 390 | u32 misccr; |
391 | u32 extint; | ||||
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 392 | #endif |
393 | #ifdef CONFIG_S3C2410 | ||||
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 394 | u32 gpacon; |
395 | u32 gpadat; | ||||
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 396 | u32 res1[2]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 397 | u32 gpbcon; |
398 | u32 gpbdat; | ||||
399 | u32 gpbup; | ||||
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 400 | u32 res2; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 401 | u32 gpccon; |
402 | u32 gpcdat; | ||||
403 | u32 gpcup; | ||||
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 404 | u32 res3; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 405 | u32 gpdcon; |
406 | u32 gpddat; | ||||
407 | u32 gpdup; | ||||
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 408 | u32 res4; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 409 | u32 gpecon; |
410 | u32 gpedat; | ||||
411 | u32 gpeup; | ||||
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 412 | u32 res5; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 413 | u32 gpfcon; |
414 | u32 gpfdat; | ||||
415 | u32 gpfup; | ||||
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 416 | u32 res6; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 417 | u32 gpgcon; |
418 | u32 gpgdat; | ||||
419 | u32 gpgup; | ||||
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 420 | u32 res7; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 421 | u32 gphcon; |
422 | u32 gphdat; | ||||
423 | u32 gphup; | ||||
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 424 | u32 res8; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 425 | |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 426 | u32 misccr; |
427 | u32 dclkcon; | ||||
428 | u32 extint0; | ||||
429 | u32 extint1; | ||||
430 | u32 extint2; | ||||
431 | u32 eintflt0; | ||||
432 | u32 eintflt1; | ||||
433 | u32 eintflt2; | ||||
434 | u32 eintflt3; | ||||
435 | u32 eintmask; | ||||
436 | u32 eintpend; | ||||
437 | u32 gstatus0; | ||||
438 | u32 gstatus1; | ||||
439 | u32 gstatus2; | ||||
440 | u32 gstatus3; | ||||
441 | u32 gstatus4; | ||||
442 | #endif | ||||
443 | #if defined(CONFIG_S3C2440) | ||||
444 | u32 gpacon; | ||||
445 | u32 gpadat; | ||||
446 | u32 res1[2]; | ||||
447 | u32 gpbcon; | ||||
448 | u32 gpbdat; | ||||
449 | u32 gpbup; | ||||
450 | u32 res2; | ||||
451 | u32 gpccon; | ||||
452 | u32 gpcdat; | ||||
453 | u32 gpcup; | ||||
454 | u32 res3; | ||||
455 | u32 gpdcon; | ||||
456 | u32 gpddat; | ||||
457 | u32 gpdup; | ||||
458 | u32 res4; | ||||
459 | u32 gpecon; | ||||
460 | u32 gpedat; | ||||
461 | u32 gpeup; | ||||
462 | u32 res5; | ||||
463 | u32 gpfcon; | ||||
464 | u32 gpfdat; | ||||
465 | u32 gpfup; | ||||
466 | u32 res6; | ||||
467 | u32 gpgcon; | ||||
468 | u32 gpgdat; | ||||
469 | u32 gpgup; | ||||
470 | u32 res7; | ||||
471 | u32 gphcon; | ||||
472 | u32 gphdat; | ||||
473 | u32 gphup; | ||||
474 | u32 res8; | ||||
475 | |||||
476 | u32 misccr; | ||||
477 | u32 dclkcon; | ||||
478 | u32 extint0; | ||||
479 | u32 extint1; | ||||
480 | u32 extint2; | ||||
481 | u32 eintflt0; | ||||
482 | u32 eintflt1; | ||||
483 | u32 eintflt2; | ||||
484 | u32 eintflt3; | ||||
485 | u32 eintmask; | ||||
486 | u32 eintpend; | ||||
487 | u32 gstatus0; | ||||
488 | u32 gstatus1; | ||||
489 | u32 gstatus2; | ||||
490 | u32 gstatus3; | ||||
491 | u32 gstatus4; | ||||
492 | |||||
493 | u32 res9; | ||||
494 | u32 dsc0; | ||||
495 | u32 dsc1; | ||||
496 | u32 mslcon; | ||||
497 | u32 gpjcon; | ||||
498 | u32 gpjdat; | ||||
499 | u32 gpjup; | ||||
500 | u32 res10; | ||||
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 501 | #endif |
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 502 | }; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 503 | |
504 | |||||
505 | /* RTC (see manual chapter 17) */ | ||||
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 506 | struct s3c24x0_rtc { |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 507 | #ifdef __BIG_ENDIAN |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 508 | u8 res1[67]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 509 | u8 rtccon; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 510 | u8 res2[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 511 | u8 ticnt; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 512 | u8 res3[11]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 513 | u8 rtcalm; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 514 | u8 res4[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 515 | u8 almsec; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 516 | u8 res5[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 517 | u8 almmin; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 518 | u8 res6[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 519 | u8 almhour; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 520 | u8 res7[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 521 | u8 almdate; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 522 | u8 res8[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 523 | u8 almmon; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 524 | u8 res9[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 525 | u8 almyear; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 526 | u8 res10[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 527 | u8 rtcrst; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 528 | u8 res11[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 529 | u8 bcdsec; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 530 | u8 res12[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 531 | u8 bcdmin; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 532 | u8 res13[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 533 | u8 bcdhour; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 534 | u8 res14[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 535 | u8 bcddate; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 536 | u8 res15[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 537 | u8 bcdday; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 538 | u8 res16[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 539 | u8 bcdmon; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 540 | u8 res17[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 541 | u8 bcdyear; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 542 | #else /* little endian */ |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 543 | u8 res0[64]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 544 | u8 rtccon; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 545 | u8 res1[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 546 | u8 ticnt; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 547 | u8 res2[11]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 548 | u8 rtcalm; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 549 | u8 res3[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 550 | u8 almsec; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 551 | u8 res4[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 552 | u8 almmin; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 553 | u8 res5[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 554 | u8 almhour; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 555 | u8 res6[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 556 | u8 almdate; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 557 | u8 res7[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 558 | u8 almmon; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 559 | u8 res8[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 560 | u8 almyear; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 561 | u8 res9[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 562 | u8 rtcrst; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 563 | u8 res10[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 564 | u8 bcdsec; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 565 | u8 res11[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 566 | u8 bcdmin; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 567 | u8 res12[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 568 | u8 bcdhour; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 569 | u8 res13[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 570 | u8 bcddate; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 571 | u8 res14[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 572 | u8 bcdday; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 573 | u8 res15[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 574 | u8 bcdmon; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 575 | u8 res16[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 576 | u8 bcdyear; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 577 | u8 res17[3]; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 578 | #endif |
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 579 | }; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 580 | |
581 | |||||
582 | /* ADC (see manual chapter 16) */ | ||||
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 583 | struct s3c2400_adc { |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 584 | u32 adccon; |
585 | u32 adcdat; | ||||
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 586 | }; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 587 | |
588 | |||||
589 | /* ADC (see manual chapter 16) */ | ||||
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 590 | struct s3c2410_adc { |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 591 | u32 adccon; |
592 | u32 adctsc; | ||||
593 | u32 adcdly; | ||||
594 | u32 adcdat0; | ||||
595 | u32 adcdat1; | ||||
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 596 | }; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 597 | |
598 | |||||
599 | /* SPI (see manual chapter 22) */ | ||||
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 600 | struct s3c24x0_spi_channel { |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 601 | u8 spcon; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 602 | u8 res1[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 603 | u8 spsta; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 604 | u8 res2[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 605 | u8 sppin; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 606 | u8 res3[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 607 | u8 sppre; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 608 | u8 res4[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 609 | u8 sptdat; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 610 | u8 res5[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 611 | u8 sprdat; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 612 | u8 res6[3]; |
613 | u8 res7[16]; | ||||
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 614 | }; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 615 | |
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 616 | struct s3c24x0_spi { |
617 | struct s3c24x0_spi_channel ch[S3C24X0_SPI_CHANNELS]; | ||||
618 | }; | ||||
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 619 | |
620 | |||||
621 | /* MMC INTERFACE (see S3C2400 manual chapter 19) */ | ||||
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 622 | struct s3c2400_mmc { |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 623 | #ifdef __BIG_ENDIAN |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 624 | u8 res1[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 625 | u8 mmcon; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 626 | u8 res2[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 627 | u8 mmcrr; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 628 | u8 res3[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 629 | u8 mmfcon; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 630 | u8 res4[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 631 | u8 mmsta; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 632 | u16 res5; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 633 | u16 mmfsta; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 634 | u8 res6[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 635 | u8 mmpre; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 636 | u16 res7; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 637 | u16 mmlen; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 638 | u8 res8[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 639 | u8 mmcr7; |
640 | u32 mmrsp[4]; | ||||
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 641 | u8 res9[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 642 | u8 mmcmd0; |
643 | u32 mmcmd1; | ||||
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 644 | u16 res10; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 645 | u16 mmcr16; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 646 | u8 res11[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 647 | u8 mmdat; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 648 | #else |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 649 | u8 mmcon; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 650 | u8 res1[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 651 | u8 mmcrr; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 652 | u8 res2[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 653 | u8 mmfcon; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 654 | u8 res3[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 655 | u8 mmsta; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 656 | u8 res4[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 657 | u16 mmfsta; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 658 | u16 res5; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 659 | u8 mmpre; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 660 | u8 res6[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 661 | u16 mmlen; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 662 | u16 res7; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 663 | u8 mmcr7; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 664 | u8 res8[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 665 | u32 mmrsp[4]; |
666 | u8 mmcmd0; | ||||
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 667 | u8 res9[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 668 | u32 mmcmd1; |
669 | u16 mmcr16; | ||||
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 670 | u16 res10; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 671 | u8 mmdat; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 672 | u8 res11[3]; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 673 | #endif |
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 674 | }; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 675 | |
676 | |||||
677 | /* SD INTERFACE (see S3C2410 manual chapter 19) */ | ||||
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 678 | struct s3c2410_sdi { |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 679 | u32 sdicon; |
680 | u32 sdipre; | ||||
681 | u32 sdicarg; | ||||
682 | u32 sdiccon; | ||||
683 | u32 sdicsta; | ||||
684 | u32 sdirsp0; | ||||
685 | u32 sdirsp1; | ||||
686 | u32 sdirsp2; | ||||
687 | u32 sdirsp3; | ||||
688 | u32 sdidtimer; | ||||
689 | u32 sdibsize; | ||||
690 | u32 sdidcon; | ||||
691 | u32 sdidcnt; | ||||
692 | u32 sdidsta; | ||||
693 | u32 sdifsta; | ||||
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 694 | #ifdef __BIG_ENDIAN |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 695 | u8 res[3]; |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 696 | u8 sdidat; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 697 | #else |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 698 | u8 sdidat; |
kevin.morfitt@fearnside-systems.co.uk | b193f82 | 2009-11-04 17:49:31 +0900 | [diff] [blame] | 699 | u8 res[3]; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 700 | #endif |
C Nauman | 383c43e | 2010-10-26 23:04:31 +0900 | [diff] [blame] | 701 | u32 sdiimsk; |
kevin.morfitt@fearnside-systems.co.uk | f6e9ddf | 2009-10-10 13:32:01 +0900 | [diff] [blame] | 702 | }; |
wdenk | 7539dea | 2003-06-19 23:01:32 +0000 | [diff] [blame] | 703 | |
704 | #endif /*__S3C24X0_H__*/ |