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
|
/*======================================================================================
* MODULE NAME: spi
* FILE NAME: spi_controller.h
*
* FUNCTIONS
*
* SPI_CONTROLLER_Enable_Manual_Mode To provide interface for Enable SPI Controller Manual Mode.
* SPI_CONTROLLER_Write_One_Byte To provide interface for write one byte to SPI bus.
* SPI_CONTROLLER_Write_NByte To provide interface for write N bytes to SPI bus.
* SPI_CONTROLLER_Read_NByte To provide interface for read N bytes from SPI bus.
* SPI_CONTROLLER_Chip_Select_Low To provide interface for set chip select low in SPI bus.
* SPI_CONTROLLER_Chip_Select_High To provide interface for set chip select high in SPI bus.
*
* DEPENDENCIES
*
* * $History: $
* MODIFICTION HISTORY:
*
*======================================================================================
*/
#ifndef __SPI_CONTROLLER_H__
#define __SPI_CONTROLLER_H__
/* INCLUDE FILE DECLARATIONS --------------------------------------------------------- */
#include "types.h"
/* NAMING CONSTANT DECLARATIONS ------------------------------------------------------ */
/* MACRO DECLARATIONS ---------------------------------------------------------------- */
/* TYPE DECLARATIONS ----------------------------------------------------------------- */
typedef enum{
SPI_CONTROLLER_SPEED_SINGLE = 0,
SPI_CONTROLLER_SPEED_DUAL,
SPI_CONTROLLER_SPEED_QUAD
} SPI_CONTROLLER_SPEED_T;
typedef enum{
SPI_CONTROLLER_RTN_NO_ERROR = 0,
SPI_CONTROLLER_RTN_SET_OPFIFO_ERROR,
SPI_CONTROLLER_RTN_READ_DATAPFIFO_ERROR,
SPI_CONTROLLER_RTN_WRITE_DATAPFIFO_ERROR,
SPI_CONTROLLER_RTN_DEF_NO
} SPI_CONTROLLER_RTN_T;
typedef enum{
SPI_CONTROLLER_MODE_AUTO = 0,
SPI_CONTROLLER_MODE_MANUAL,
SPI_CONTROLLER_MODE_NO
} SPI_CONTROLLER_MODE_T;
/*------------------------------------------------------------------------------------
* FUNCTION: SPI_CONTROLLER_RTN_T SPI_CONTROLLER_Enable_Manual_Mode( void )
* PURPOSE : To provide interface for enable SPI Controller Manual Mode Enable.
* AUTHOR :
* CALLED BY
* -
* CALLS
* -
* PARAMs :
* INPUT : None
* OUTPUT: None
* RETURN : SPI_RTN_NO_ERROR - Successful. Otherwise - Failed.
* NOTES :
* MODIFICTION HISTORY:
*------------------------------------------------------------------------------------
*/
SPI_CONTROLLER_RTN_T SPI_CONTROLLER_Enable_Manual_Mode( void );
/*------------------------------------------------------------------------------------
* FUNCTION: SPI_CONTROLLER_RTN_T SPI_CONTROLLER_Write_One_Byte( u8 data )
* PURPOSE : To provide interface for write one byte to SPI bus.
* AUTHOR :
* CALLED BY
* -
* CALLS
* -
* PARAMs :
* INPUT : data - The data variable of this function.
* OUTPUT: None
* RETURN : SPI_RTN_NO_ERROR - Successful. Otherwise - Failed.
* NOTES :
* MODIFICTION HISTORY:
*------------------------------------------------------------------------------------
*/
SPI_CONTROLLER_RTN_T SPI_CONTROLLER_Write_One_Byte( u8 data );
/*------------------------------------------------------------------------------------
* FUNCTION: SPI_CONTROLLER_RTN_T SPI_CONTROLLER_WRITE_NBYTES( u8 *ptr_data,
* u32 len,
* SPI_CONTROLLER_SPEED_T speed )
* PURPOSE : To provide interface for write N bytes to SPI bus.
* AUTHOR :
* CALLED BY
* -
* CALLS
* -
* PARAMs :
* INPUT : ptr_data - The data variable of this function.
* len - The len variable of this function.
* speed - The speed variable of this function.
* OUTPUT: None
* RETURN : SPI_RTN_NO_ERROR - Successful. Otherwise - Failed.
* NOTES :
* MODIFICTION HISTORY:
*------------------------------------------------------------------------------------
*/
SPI_CONTROLLER_RTN_T SPI_CONTROLLER_Write_NByte( u8 *ptr_data, u32 len, SPI_CONTROLLER_SPEED_T speed );
/*------------------------------------------------------------------------------------
* FUNCTION: SPI_CONTROLLER_RTN_T SPI_CONTROLLER_READ_NBYTES( u8 *ptr_rtn_data,
* u8 len,
* SPI_CONTROLLER_SPEED_T speed )
* PURPOSE : To provide interface for read N bytes from SPI bus.
* AUTHOR :
* CALLED BY
* -
* CALLS
* -
* PARAMs :
* INPUT : len - The len variable of this function.
* speed - The speed variable of this function.
* OUTPUT: ptr_rtn_data - The ptr_rtn_data variable of this function.
* RETURN : SPI_RTN_NO_ERROR - Successful. Otherwise - Failed.
* NOTES :
* MODIFICTION HISTORY:
*------------------------------------------------------------------------------------
*/
SPI_CONTROLLER_RTN_T SPI_CONTROLLER_Read_NByte( u8 *ptr_rtn_data, u32 len, SPI_CONTROLLER_SPEED_T speed );
/*------------------------------------------------------------------------------------
* FUNCTION: SPI_CONTROLLER_RTN_T SPI_CONTROLLER_Chip_Select_Low( void )
* PURPOSE : To provide interface for set chip select low in SPI bus.
* AUTHOR :
* CALLED BY
* -
* CALLS
* -
* PARAMs :
* INPUT : None
* OUTPUT: None
* RETURN : SPI_RTN_NO_ERROR - Successful. Otherwise - Failed.
* NOTES :
* MODIFICTION HISTORY:
*------------------------------------------------------------------------------------
*/
SPI_CONTROLLER_RTN_T SPI_CONTROLLER_Chip_Select_Low( void );
/*------------------------------------------------------------------------------------
* FUNCTION: SPI_CONTROLLER_RTN_T SPI_CONTROLLER_Chip_Select_High( void )
* PURPOSE : To provide interface for set chip select high in SPI bus.
* AUTHOR :
* CALLED BY
* -
* CALLS
* -
* PARAMs :
* INPUT : None
* OUTPUT: None
* RETURN : SPI_RTN_NO_ERROR - Successful. Otherwise - Failed.
* NOTES :
* MODIFICTION HISTORY:
*------------------------------------------------------------------------------------
*/
SPI_CONTROLLER_RTN_T SPI_CONTROLLER_Chip_Select_High( void );
#if 0
SPI_CONTROLLER_RTN_T SPI_CONTROLLER_Xfer_NByte( u8 *ptr_data_in, u32 len_in, u8 *ptr_data_out, u32 len_out, SPI_CONTROLLER_SPEED_T speed );
#endif
#endif /* ifndef __SPI_CONTROLLER_H__ */
/* End of [spi_controller.h] package */
|