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

📄 s3c6400_iis_interface_macro.h

📁 Samsung公司S3C6400芯片的BSP源码包
💻 H
字号:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
// -----------------------------------------------------------------------------
//
//      THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
//      ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
//      THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
//      PARTICULAR PURPOSE.
//
// -----------------------------------------------------------------------------

//
// s3c6400_iis7_interface_macro.h

#ifndef _S3C6400_IIS_INTERFACE_MACRO_H_
#define _S3C6400_IIS_INTERFACE_MACRO_H_

#if __cplusplus
extern "C"
{
#endif

// IISCON : IIS Interface Control Register
#define LEFT_RIGHT_INDICATION_STATUS			(1 << 11)
#define TX_FIFO_EMPTY_STATUS					(1 << 10)
#define RX_FIFO_EMPTY_STATUS					(1 <<  9)
#define TX_FIFO_FULL_STATUS						(1 <<  8)
#define RX_FIFO_FULL_STATUS						(1 <<  7)

#define IISCON_STATUS_MASK						(0x1F << 7)


#define TX_DMA_NOPAUSE							(0 <<  6)
#define TX_DMA_PAUSE							(1 <<  6)
#define RX_DMA_NOPAUSE							(0 <<  5)
#define RX_DMA_PAUSE							(1 <<  5)
#define TX_CHANNEL_NOPAUSE						(0 <<  4)
#define TX_CHANNEL_PAUSE						(1 <<  4)
#define RX_CHANNEL_NOPAUSE						(0 <<  3)
#define RX_CHANNEL_PAUSE						(1 <<  3)
#define TX_DMA_INACTIVE							(0 <<  2)
#define TX_DMA_ACTIVE							(1 <<  2)
#define RX_DMA_INACTIVE							(0 <<  1)
#define RX_DMA_ACTIVE							(1 <<  1)
#define IIS_INACTIVE							(0 <<  0)
#define IIS_ACTIVE								(1 <<  0)

#define TX_MOD_MASK		(TX_DMA_PAUSE|TX_CHANNEL_PAUSE|TX_DMA_ACTIVE)
#define RX_MOD_MASK		(RX_DMA_PAUSE|RX_CHANNEL_PAUSE|RX_DMA_ACTIVE)


// IISMOD : IIS Interface Mode Register
#define CODEC_CLOCK_SOURCE_MASK					(1 << 12)
#define CODEC_CLK_USE_INTERNEL_CLK				(0 << 12)
#define CODEC_CLK_USE_EXTERNEL_CLK				(1 << 12)

#define IIS_CLK_MASTER_SLAVE_MASK				(3 << 10)
#define IIS_CLK_MASTER_PCLK_DIV_MODE			(0 << 10)
#define IIS_CLK_MASTER_IISCLK_BYPASS_MODE		(1 << 10)
#define IIS_CLK_SLAVE_MODE						(2 << 10)

#define TRANSFER_MODE_MASK						(3 << 8)
#define TRANSFER_MODE_TX_ONLY					(0 << 8)
#define TRANSFER_MODE_RX_ONLY					(1 << 8)
#define TRANSFER_MODE_BOTH						(2 << 8)

#define LR_CH_POL_MASK							(1 << 7)
#define LR_CH_POL_LOW_FOR_LEFT_HIGH_FOR_RIGHT	(0 << 7)
#define LR_CH_POL_HIGH_FOR_LEFT_LOW_FOR_RIGHT	(1 << 7)

#define SERIAL_DATA_FORMAT_MASK					(3 << 5)
#define SERIAL_DATA_FORMAT_IIS					(0 << 5)
#define SERIAL_DATA_FORMAT_MSB_JUSTIFIED		(1 << 5)
#define SERIAL_DATA_FORMAT_LSB_JUSTIFIED		(2 << 5)

#define IIS_CODEC_CLOCK_FREQUENCY_MASK			(3 << 3)
#define IIS_CODEC_CLOCK_FREQUENCY_256FS			(0 << 3)
#define IIS_CODEC_CLOCK_FREQUENCY_512FS			(1 << 3)
#define IIS_CODEC_CLOCK_FREQUENCY_384FS			(2 << 3)
#define IIS_CODEC_CLOCK_FREQUENCY_768FS			(3 << 3)

#define BIT_CLOCK_FREQUENCY_MASK				(3 << 1)
#define BIT_CLOCK_FREQUENCY_32FS				(0 << 1)
#define BIT_CLOCK_FREQUENCY_48FS				(1 << 1)
#define BIT_CLOCK_FREQUENCY_16FS				(2 << 1)
#define BIT_CLOCK_FREQUENCY_24FS				(3 << 1)

#define BIT_LENGTH_PER_CHANNEL_MASK				(1 << 0)
#define BIT_LENGTH_PER_CHANNEL_16BIT			(0 << 0)
#define BIT_LENGTH_PER_CHANNEL_8BIT				(1 << 0)

// IISFIC : IIS Interface FIFO Control Register
#define TX_FIFO_FLUSH							(1 << 15)
#define TX_FIFO_DATA_COUNT_MASK					(0x1F << 8) // [12:8] 5 bits
#define TX_FIFO_DATA_COUNT_SHIFT				(8)
#define RX_FIFO_FLUSH							(1 << 7)
#define RX_FIFO_DATA_COUNT_SHIFT				(0)
#define RX_FIFO_DATA_COUNT_MASK					(0x1F << 0) // [4:0] 5 bits

// IISPSR : IIS Interface Clock Divider Control Register
#define PRESCALER_A_ACTIVE						(1 << 15)
#define PRESCALER_A_DIVISION_VALUE_SHIFT		(8)
#define PRESCALER_A_DIVISION_VALUE_MASK			(0x3F) // [13:8] 6 bits

// IISTXD : IIS Interface Transmit Data Register

// IISRXD : IIS Interface Receive Data Register

#if __cplusplus
	}
#endif

#endif	// _S3C6400_IIS_INTERFACE_MACRO_H_

⌨️ 快捷键说明

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