Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:23:40

0001 /**
0002  * @file
0003  *
0004  * @ingroup RTEMSBSPsBfinTLL6527M
0005  *
0006  * @brief Global BSP definitions.
0007  *
0008  * This include file contains all board IO definitions for TLL6527M.
0009  */
0010 
0011 /*
0012  * COPYRIGHT (c) 2010 by ECE Northeastern University.
0013  *
0014  * The license and distribution terms for this file may be
0015  * found in the file LICENSE in this distribution or at
0016  * http://www.rtems.org/license
0017  */
0018 
0019 #ifndef LIBBSP_BFIN_TLL6527M_BSP_H
0020 #define LIBBSP_BFIN_TLL6527M_BSP_H
0021 
0022 /**
0023  * @defgroup RTEMSBSPsBfinTLL6527M TLL6527M
0024  *
0025  * @ingroup RTEMSBSPsBfin
0026  *
0027  * @brief TLL6527M Board Support Package.
0028  *
0029  * @{
0030  */
0031 
0032 #ifndef ASM
0033 
0034 #include <bspopts.h>
0035 #include <bsp/default-initial-extension.h>
0036 
0037 #include <rtems.h>
0038 #include <rtems/score/bfin.h>
0039 #include <rtems/bfin/bf52x.h>
0040 #include <bf52x.h>
0041 
0042 #ifdef __cplusplus
0043 extern "C" {
0044 #endif
0045 
0046 /*
0047  * PLL and clock setup values:
0048  */
0049 
0050 /*
0051  *  PLL configuration for TLL6527M
0052  *
0053  *  XTL   =  27 MHz
0054  *  CLKIN =  13 MHz
0055  *  VCO   = 391 MHz
0056  *  CCLK  = 391 MHz
0057  *  SCLK  = 130 MHz
0058  */
0059 
0060 /**
0061  * @name PLL Configuration
0062  * @{
0063  */
0064 
0065 #define PLL_CSEL    0x0000      ///< @brief CCLK = VCO      */
0066 #define PLL_SSEL    0x0003      ///< @brief SCLK = CCLK/3   */
0067 #define PLL_MSEL    0x3A00      ///< @brief VCO = 29xCLKIN  */
0068 #define PLL_DF      0x0001      ///< @brief CLKIN = XTL/2   */
0069 
0070 /** @} */
0071 
0072 /**
0073  * @name Clock setup values
0074  * @{
0075  */
0076 
0077 #define CLKIN           (25000000)  ///< @brief Input clock to the PLL */
0078 #define CCLK        (600000000)   ///< @brief CORE CLOCK     */
0079 #define SCLK        (100000000)   ///< @brief SYSTEM CLOCK   */
0080 
0081 /** @} */
0082 
0083 /**
0084  * @name UART setup values
0085  * @{
0086  */
0087 
0088 #define BAUDRATE    57600       ///< @brief Console Baudrate   */
0089 #define WORD_5BITS  0x00        ///< @brief 5 bits word        */
0090 #define WORD_6BITS  0x01        ///< @brief 6 bits word        */
0091 #define WORD_7BITS  0x02        ///< @brief 7 bits word        */
0092 #define WORD_8BITS  0x03        ///< @brief 8 bits word        */
0093 #define EVEN_PARITY 0x18        ///< @brief Enable EVEN parity */
0094 #define ODD_PARITY  0x08        ///< @brief Enable ODD parity  */
0095 #define TWO_STP_BIT 0x04        ///< @brief 2 stop bits        */
0096 
0097 /** @} */
0098 
0099 /**
0100  * @brief Install an interrupt handler
0101  *
0102  * This method installs an interrupt handle.
0103  *
0104  * @param[in] handler is the isr routine
0105  * @param[in] vector is the vector number
0106  * @param[in] type indicates whether RTEMS or RAW intr
0107  *
0108  * @return returns old vector
0109  */
0110 rtems_isr_entry set_vector(
0111   rtems_isr_entry     handler,
0112   rtems_vector_number vector,
0113   int                 type
0114 );
0115 
0116 /*
0117  *  Internal BSP methods that are used across file boundaries
0118  */
0119 void Init_RTC(void);
0120 
0121 /*
0122  * Prototype for methods in .S files that are referenced from C.
0123  */
0124 void bfin_null_isr(void);
0125 
0126 #ifdef __cplusplus
0127 }
0128 #endif
0129 
0130 #endif /* !ASM */
0131 
0132 /** @} */
0133 
0134 #endif