⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hsi.h

📁 s3c6400 ADS下官方测试程序
💻 H
字号:
/**************************************************************************************
* 
*	Project Name : S3C6400 Validation
*
*	Copyright 2006 by Samsung Electronics, Inc.
*	All rights reserved.
*
*	Project Description :
*		This software is only for validating functions of the S3C6400.
*		Anybody can use this software without our permission.
*  
*--------------------------------------------------------------------------------------
* 
*	File Name : mipi_hsi.h
*  
*	File Description : This file declares prototypes of MIPI HSI API funcions and defines some values.
*
*	Author : Haksoo,Kim
*	Dept. : AP Development Team
*	Created Date : 2007/03/03
*	Version : 0.1 
* 
*	History
*	- Created(Haksoo,Kim 2007/03/03)
*  
**************************************************************************************/
 
#ifndef __HSI_H__
#define __HSI_H__


//=====================================================================================
// definitions

typedef enum
{
	HSI_INT_MODE, HSI_DMA_MODE
} HSI_OP_MODE;

typedef enum
{
	HSI_STREAM_MODE, HSI_FRAME_MODE
} HSI_FR_MODE;

typedef enum
{
	HSI_BURST_CHID_MODE, HSI_SINGLE_CHID_MODE
} HSI_CHID_MODE;

typedef enum
{
	HSI_CHID_0BIT, HSI_CHID_1BIT, HSI_CHID_2BIT, HSI_CHID_3BIT
} HSI_CHID_BITS;

typedef enum
{
	HSI_CHID_0, HSI_CHID_1, HSI_CHID_2, HSI_CHID_3, HSI_CHID_4, HSI_CHID_5, HSI_CHID_6, HSI_CHID_7
} HSI_CHID_VALUE;

typedef enum
{
	HSI_TXFIFO_DEPTH	= 32,
	HSI_RXFIFO_DEPTH	= 64
} HSI_FIFO_DEPTH;

typedef enum
{
	TXHOLD_TIMEOUT 		= 0x10,
	TXIDLE_TIMEOUT 		= 0x08,
	TXREQ_TIMEOUT		= 0x04,
	TX_BREAKFRAME_END	= 0x02,
	TXFIFO_EMPTY		= 0x01
} HSI_TX_INTERRUPT;

typedef enum
{
	RX_BREAK_DONE		= 0x80,
	RX_ADDED_CLOCK		= 0x40,
	RX_MISSED_CLOCK		= 0x20,
	RXACK_TIMEOUT		= 0x10,
	RX_BREAKFRAME_ERR	= 0x08,
	RX_DONE				= 0x04,
	RXFIFO_TIMEOUT		= 0x02,
	RXFIFO_FULL			= 0x01
} HSI_RX_INTERRUPT;

typedef enum
{
	HSI_TIMER_OFF, HSI_TIMER_ON
} HSI_TIMER_ONOFF;

typedef enum
{
	HSI_DREQ_FULL		= 0,
	HSI_DREQ_4WORDS		= 1,
	HSI_DREQ_8WORDS		= 2,
	HSI_DREQ_16WORDS	= 3,
} HSI_DMA_RX_TRESH_VAL;

#define HSI_TEST_COUNT		(HSI_RXFIFO_DEPTH*3+8)

//=====================================================================================
// prototypes of API functions
void HSI_SetPort(void);
void HSI_DisableTxDma(void);
void HSI_DisableRxDma(void);
void HSI_SetForTx(HSI_OP_MODE eOpMode, HSI_FR_MODE eFrMode, HSI_CHID_MODE eChidMode, HSI_CHID_BITS eChidBits, HSI_CHID_VALUE eChidValue);
void HSI_SetForRx(HSI_OP_MODE eOpMode, HSI_FR_MODE eFrMode, HSI_CHID_MODE eChidMode, HSI_CHID_BITS eChidBits);
void __irq HSI_Tx_ISR( void);
void __irq HSI_Rx_ISR( void);
void __irq HSI_Dma_ISR(void);
void HSI_SetDmaForTx(u32 uCount);
void HSI_SetDmaForRx(u32 uCount);
void HSI_SetBreakFrameTx(void);
void HSI_ClearBreakFrameTx(void);
void HSI_UnmaskTxInt(u32 uInt);
void HSI_UnmaskRxInt(u32 uInt);

//=====================================================================================
// extern variables
//extern 

#endif	//#ifndef __HSI_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -