Nut/OS  4.10.3
API Reference
at91_ssc.h
Go to the documentation of this file.
00001 #ifndef _ARCH_ARM_AT91_SSC_H_
00002 #define _ARCH_ARM_AT91_SSC_H_
00003 
00004 /*
00005  * Copyright (C) 2006-2007 by egnite Software GmbH. All rights reserved.
00006  *
00007  * Redistribution and use in source and binary forms, with or without
00008  * modification, are permitted provided that the following conditions
00009  * are met:
00010  *
00011  * 1. Redistributions of source code must retain the above copyright
00012  *    notice, this list of conditions and the following disclaimer.
00013  * 2. Redistributions in binary form must reproduce the above copyright
00014  *    notice, this list of conditions and the following disclaimer in the
00015  *    documentation and/or other materials provided with the distribution.
00016  * 3. Neither the name of the copyright holders nor the names of
00017  *    contributors may be used to endorse or promote products derived
00018  *    from this software without specific prior written permission.
00019  *
00020  * THIS SOFTWARE IS PROVIDED BY EGNITE SOFTWARE GMBH AND CONTRIBUTORS
00021  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
00022  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
00023  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL EGNITE
00024  * SOFTWARE GMBH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
00025  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
00026  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
00027  * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
00028  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
00029  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
00030  * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
00031  * SUCH DAMAGE.
00032  *
00033  * For additional information see http://www.ethernut.de/
00034  */
00035 
00067 
00070 #define SSC_CR_OFF                  0x00000000  
00071 #define SSC_CR      (SSC_BASE + SSC_CR_OFF)     
00072 #define SSC_RXEN                    0x00000001  
00073 #define SSC_RXDIS                   0x00000002  
00074 #define SSC_TXEN                    0x00000100  
00075 #define SSC_TXDIS                   0x00000200  
00076 #define SSC_SWRST                   0x00008000  
00078 
00079 
00081 #define SSC_CMR_OFF                 0x00000004  
00082 #define SSC_CMR     (SSC_BASE + SSC_CMR_OFF)    
00083 #define SSC_DIV_LSB                         0   
00084 #define SSC_DIV                     0x00000FFF  
00086 
00087 
00089 #define SSC_RCMR_OFF                0x00000010  
00090 #define SSC_RCMR    (SSC_BASE + SSC_RCMR_OFF)   
00091 #define SSC_TCMR_OFF                0x00000018  
00092 #define SSC_TCMR    (SSC_BASE + SSC_TCMR_OFF)   
00094 #define SSC_CKS                     0x00000003  
00095 #define SSC_CKS_DIV                 0x00000000  
00096 #define SSC_CKS_CLK                 0x00000001  
00097 #define SSC_CKS_PIN                 0x00000002  
00098 #define SSC_CKO                     0x0000001C  
00099 #define SSC_CKO_NONE                0x00000000  
00100 #define SSC_CKO_CONT                0x00000004  
00101 #define SSC_CKO_TRAN                0x00000008  
00102 #define SSC_CKI                     0x00000020  
00103 #define SSC_CKG                     0x000000C0  
00104 #define SSC_CKG_NONE                0x00000000  
00105 #define SSC_CKG_RFL                 0x00000040  
00106 #define SSC_CKG_RFH                 0x00000080  
00107 #define SSC_START                   0x00000F00  
00108 #define SSC_START_CONT              0x00000000  
00109 #define SSC_START_TX                0x00000100  
00110 #define SSC_START_LOW_RF            0x00000200  
00111 #define SSC_START_HIGH_RF           0x00000300  
00112 #define SSC_START_FALL_RF           0x00000400  
00113 #define SSC_START_RISE_RF           0x00000500  
00114 #define SSC_START_LEVEL_RF          0x00000600  
00115 #define SSC_START_EDGE_RF           0x00000700  
00116 #define SSC_START_COMP0             0x00000800  
00117 #define SSC_STOP                    0x00001000  
00118 #define SSC_STTDLY                  0x00FF0000  
00119 #define SSC_STTDLY_LSB                      16  
00120 #define SSC_PERIOD                  0xFF000000  
00121 #define SSC_PERIOD_LSB                      24  
00123 
00124 
00126 #define SSC_RFMR_OFF                0x00000014  
00127 #define SSC_RFMR    (SSC_BASE + SSC_RFMR_OFF)   
00128 #define SSC_TFMR_OFF                0x0000001C  
00129 #define SSC_TFMR    (SSC_BASE + SSC_TFMR_OFF)   
00131 #define SSC_DATLEN                  0x0000001F  
00132 #define SSC_DATLEN_LSB                      0   
00133 #define SSC_LOOP                    0x00000020  
00134 #define SSC_DATDEF                  0x00000020  
00135 #define SSC_MSBF                    0x00000080  
00136 #define SSC_DATNB                   0x00000F00  
00137 #define SSC_DATNB_LSB                       8   
00138 #define SSC_FSLEN                   0x000F0000  
00139 #define SSC_FSLEN_LSB                       16  
00140 #define SSC_FSOS                    0x00700000  
00141 #define SSC_FSOS_NONE               0x00000000  
00142 #define SSC_FSOS_NEGATIVE           0x00100000  
00143 #define SSC_FSOS_POSITIVE           0x00200000  
00144 #define SSC_FSOS_LOW                0x00300000  
00145 #define SSC_FSOS_HIGH               0x00400000  
00146 #define SSC_FSOS_TOGGLE             0x00500000  
00147 #define SSC_FSDEN                   0x00800000  
00148 #define SSC_FSEDGE                  0x01000000  
00150 
00151 
00153 #define SSC_RHR_OFF                 0x00000020  
00154 #define SSC_RHR     (SSC_BASE + SSC_RHR_OFF)    
00156 
00157 
00159 #define SSC_THR_OFF                 0x00000024  
00160 #define SSC_THR     (SSC_BASE + SSC_THR_OFF)    
00162 
00163 
00165 #define SSC_RSHR_OFF                0x00000030  
00166 #define SSC_RSHR    (SSC_BASE + SSC_RSHR_OFF)   
00168 
00169 
00171 #define SSC_TSHR_OFF                0x00000034  
00172 #define SSC_TSHR    (SSC_BASE + SSC_TSHR_OFF)   
00174 
00175 
00177 #define SSC_RC0R_OFF                0x00000038  
00178 #define SSC_RC0R    (SSC_BASE + SSC_RC0R_OFF)   
00180 
00181 
00183 #define SSC_RC1R_OFF                0x0000003C  
00184 #define SSC_RC1R    (SSC_BASE + SSC_RC1R_OFF)   
00186 
00187 
00189 #define SSC_SR_OFF                  0x00000040  
00190 #define SSC_SR      (SSC_BASE + SSC_SR_OFF)     
00191 #define SSC_TXRDY                   0x00000001  
00192 #define SSC_TXEMPTY                 0x00000002  
00193 #define SSC_ENDTX                   0x00000004  
00194 #define SSC_TXBUFE                  0x00000008  
00195 #define SSC_RXRDY                   0x00000010  
00196 #define SSC_OVRUN                   0x00000020  
00197 #define SSC_ENDRX                   0x00000040  
00198 #define SSC_RXBUFF                  0x00000080  
00199 #define SSC_CP0                     0x00000100  
00200 #define SSC_CP1                     0x00000200  
00201 #define SSC_TXSYN                   0x00000400  
00202 #define SSC_RXSYN                   0x00000800  
00203 #define SSC_TXENA                   0x00010000  
00204 #define SSC_RXENA                   0x00020000  
00206 
00207 
00209 #define SSC_IER_OFF                 0x00000044  
00210 #define SSC_IER     (SSC_BASE + SSC_IER_OFF)    
00212 
00213 
00215 #define SSC_IDR_OFF                 0x00000048  
00216 #define SSC_IDR     (SSC_BASE + SSC_IDR_OFF)    
00218 
00219 
00221 #define SSC_IMR_OFF                 0x0000004C  
00222 #define SSC_IMR     (SSC_BASE + SSC_IMR_OFF)    
00224 
00225 #if defined(SSC_HAS_PDC)
00226 
00229 #define SSC_RPR    (SSC_BASE + PERIPH_RPR_OFF)  
00231 
00232 
00234 #define SSC_RCR    (SSC_BASE + PERIPH_RCR_OFF)  
00236 
00237 
00239 #define SSC_TPR    (SSC_BASE + PERIPH_TPR_OFF)  
00241 
00242 
00244 #define SSC_TCR    (SSC_BASE + PERIPH_TCR_OFF)  
00246 
00247 
00249 #define SSC_RNPR   (SSC_BASE + PERIPH_RNPR_OFF) 
00251 
00252 
00254 #define SSC_RNCR   (SSC_BASE + PERIPH_RNCR_OFF) 
00256 
00257 
00259 #define SSC_TNPR   (SSC_BASE + PERIPH_TNPR_OFF) 
00261 
00262 
00264 #define SSC_TNCR   (SSC_BASE + PERIPH_TNCR_OFF) 
00266 
00267 
00269 #define SSC_PTCR   (SSC_BASE + PERIPH_PTCR_OFF) 
00271 
00272 
00274 #define SSC_PTSR   (SSC_BASE + PERIPH_PTSR_OFF) 
00276 
00277 #endif
00278 
00282 #endif                          /* _ARCH_ARM_AT91_SSC_H_ */