Back to home page

LXR

 
 

    


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

0001 /**
0002  * @file
0003  *
0004  * @ingroup RTEMSBSPsBfinEZKit533
0005  *
0006  * @brief Global BSP definitions.
0007  *
0008  * This include file contains all board IO definitions for TLL6527M.
0009  */
0010 
0011 /*  bsp.h
0012  *
0013  *  This include file contains all board IO definitions for eZKit533.
0014  *
0015  *  Copyright (c) 2006 by Atos Automacao Industrial Ltda.
0016  *             written by Alain Schaefer <alain.schaefer@easc.ch>
0017  *                    and Antonio Giovanini <antonio@atos.com.br>
0018  *
0019  *  The license and distribution terms for this file may be
0020  *  found in the file LICENSE in this distribution or at
0021  *  http://www.rtems.org/license/LICENSE.
0022  */
0023 
0024 
0025 #ifndef LIBBSP_BFIN_EZKIT533_BSP_H
0026 #define LIBBSP_BFIN_EZKIT533_BSP_H
0027 
0028 #ifndef ASM
0029 
0030 #include <libcpu/bf533.h>
0031 
0032 #include <bspopts.h>
0033 #include <bsp/default-initial-extension.h>
0034 
0035 #include <rtems.h>
0036 #include <rtems/score/bfin.h>
0037 #include <rtems/bfin/bf533.h>
0038 
0039 #ifdef __cplusplus
0040 extern "C" {
0041 #endif
0042 
0043 /**
0044  * @defgroup RTEMSBSPsBfinEZKit533 BF533 EZ-KIT
0045  *
0046  * @ingroup RTEMSBSPsBfin
0047  *
0048  * @brief BF533 EZ-KIT Board Support Package.
0049  *
0050  * @{
0051  */
0052 
0053 /**
0054  * @name PLL and clock setup values:
0055  * @brief  PLL configuration for ezkit533
0056  *
0057  *  XTL   =  27 MHz
0058  *  CLKIN =  13 MHz
0059  *  VCO   = 391 MHz
0060  *  CCLK  = 391 MHz
0061  *  SCLK  = 130 MHz
0062  *
0063  * @{
0064  *
0065  */
0066 
0067 #define PLL_CSEL    0x0000      ///< @brief CCLK = VCO      */
0068 #define PLL_SSEL    0x0003      ///< @brief SCLK = CCLK/3   */
0069 #define PLL_MSEL    0x3A00      ///< @brief VCO = 29xCLKIN  */
0070 #define PLL_DF      0x0001      ///< @brief CLKIN = XTL/2   */
0071 
0072 #define CCLK        391000000   ///< @brief CORE CLOCK     */
0073 #define SCLK        130000000   ///< @brief SYSTEM CLOCK   */
0074 
0075 /** @} */
0076 
0077 /**
0078  * @name UART setup values
0079  * @{
0080  */
0081 
0082 #define BAUDRATE    57600       ///< @brief Console Baudrate   */
0083 #define WORD_5BITS  0x00        ///< @brief 5 bits word        */
0084 #define WORD_6BITS  0x01        ///< @brief 6 bits word        */
0085 #define WORD_7BITS  0x02        ///< @brief 7 bits word        */
0086 #define WORD_8BITS  0x03        ///< @brief 8 bits word        */
0087 #define EVEN_PARITY 0x18        ///< @brief Enable EVEN parity */
0088 #define ODD_PARITY  0x08        ///< @brief Enable ODD parity  */
0089 #define TWO_STP_BIT 0x04        ///< @brief 2 stop bits        */
0090 
0091 /** @} */
0092 
0093 /**
0094  * @name Ezkit flash ports
0095  * @{
0096  */
0097 
0098 #define FlashA_PortB_Dir  0x20270007L
0099 #define FlashA_PortB_Data 0x20270005L
0100 
0101 /** @} */
0102 
0103 /**
0104  * @brief Blackfin environment memory map
0105  */
0106 #define L1_DATA_SRAM_A 0xff800000L
0107 
0108 #define FIFOLENGTH 0x100
0109 
0110 /**
0111  * @name Constants
0112  * @{
0113  */
0114 
0115 #define RAM_START 0
0116 #define RAM_END   0x100000
0117 
0118 /** @} */
0119 
0120 /**
0121  * @name functions
0122  * @{
0123  */
0124 
0125 /**
0126  * @brief Helper Function to use the EzKits LEDS.
0127  * Can be used by the Application.
0128  */
0129 void setLED (uint8_t value);
0130 
0131 /**
0132  * @brief Helper Function to use the EzKits LEDS
0133  */
0134 uint8_t getLED (void);
0135 
0136 /**
0137  * @brief Install an interrupt handler
0138  *
0139  * This method installs an interrupt handle.
0140  *
0141  * @param[in] handler is the isr routine
0142  * @param[in] vector is the vector number
0143  * @param[in] type indicates whether RTEMS or RAW intr
0144  *
0145  * @return returns old vector
0146  */
0147 rtems_isr_entry set_vector(
0148   rtems_isr_entry     handler,
0149   rtems_vector_number vector,
0150   int                 type
0151 );
0152 
0153 /*
0154  *  Internal BSP methods that are used across file boundaries
0155  */
0156 void Init_RTC(void);
0157 
0158 /*
0159  * Prototype for methods in .S files that are referenced from C.
0160  */
0161 void bfin_null_isr(void);
0162 
0163 /** @} */
0164 
0165 /** @} */
0166 
0167 #ifdef __cplusplus
0168 }
0169 #endif
0170 
0171 #endif /* !ASM */
0172 
0173 /** @} */
0174 
0175 #endif