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

📄 i2c-s3c2410.h

📁 周立功magic2410实验箱源码 第6章Linux高级实验(part1) 6.1 Linux内核编译实验 6.2 Linux根文件系统实验 6.3 CAT1025读/写实验. 6.4 ZL
💻 H
字号:
/*
   --------------------------------------------------------------------
   i2c-s3c2410.h: Global defines for the I2C controller on board the    
                  Samsung S3C2410X processor.                                
   --------------------------------------------------------------------

   Steve Hein, SGI Inc.   <ssh@sgi.com>
   Copyright 2002 SGI Inc.


   This file was heavily leveraged from:

   i2c-ppc405.h: Global defines for the I2C controller on board the    
                 IBM 405 PPC processor.                                

   Ian DaSilva, MontaVista Software, Inc.
   idasilva@mvista.com or source@mvista.com

   Copyright 2000 MontaVista Software Inc.

 *  This program is free software; you can redistribute  it and/or modify it
 *  under  the terms of  the GNU General  Public License as published by the
 *  Free Software Foundation;  either version 2 of the  License, or (at your
 *  option) any later version.
 *
 *  THIS  SOFTWARE  IS PROVIDED   ``AS  IS'' AND   ANY  EXPRESS OR IMPLIED
 *  WARRANTIES,   INCLUDING, BUT NOT  LIMITED  TO, THE IMPLIED WARRANTIES OF
 *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN
 *  NO  EVENT  SHALL   THE AUTHOR  BE    LIABLE FOR ANY   DIRECT, INDIRECT,
 *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 *  NOT LIMITED   TO, PROCUREMENT OF  SUBSTITUTE GOODS  OR SERVICES; LOSS OF
 *  USE, DATA,  OR PROFITS; OR  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 *  ANY THEORY OF LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT
 *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 *  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 *  You should have received a copy of the  GNU General Public License along
 *  with this program; if not, write  to the Free Software Foundation, Inc.,
 *  675 Mass Ave, Cambridge, MA 02139, USA.
 */


#ifndef I2C_S3C2410_H
#define I2C_S3C2410_H 1

#include <asm/arch/hardware.h>

/*
 * I2C registers
 */

#define VA_IIC_BASE			  io_p2v(0x54000000)
#define S3C2410_IICCON        (VA_IIC_BASE + 0x0)
#define S3C2410_IICSTAT       (VA_IIC_BASE + 0x4)
#define S3C2410_IICADD        (VA_IIC_BASE + 0x8)
#define S3C2410_IICDS         (VA_IIC_BASE + 0xC)

/* IICCON bits */
#define S3C2410_IICCON_ACK_EN        (1<<7)
#define S3C2410_IICCON_TCLK_PCLK512  (1<<6)
#define S3C2410_IICCON_INT_EN        (1<<5)
#define S3C2410_IICCON_INT_PEND      (1<<4)
#define S3C2410_IICCON_TCLK_MSK      (0xff)

/* IICSTAT bits */
#define S3C2410_IICSTAT_MRX_MODE      (2<<6)
#define S3C2410_IICSTAT_MTX_MODE      (3<<6)
#define S3C2410_IICSTAT_SRX_MODE      (0<<6)
#define S3C2410_IICSTAT_STX_MODE      (1<<6)
#define S3C2410_IICSTAT_MODE_MSK      (3<<6)
#define S3C2410_IICSTAT_BUSY          (1<<5)
#define S3C2410_IICSTAT_OUT_EN        (1<<4)
#define S3C2410_IICSTAT_ARB_FAILED    (1<<3)
#define S3C2410_IICSTAT_SLAVEADDR     (1<<2)
#define S3C2410_IICSTAT_ADDRZERO      (1<<1)
#define S3C2410_IICSTAT_NACK          (1<<0)
#define S3C2410_IICSTAT_MRX_ENABLE (S3C2410_IICSTAT_MRX_MODE | S3C2410_IICSTAT_BUSY | S3C2410_IICSTAT_OUT_EN)
#define S3C2410_IICSTAT_MTX_ENABLE (S3C2410_IICSTAT_MTX_MODE | S3C2410_IICSTAT_BUSY | S3C2410_IICSTAT_OUT_EN)

#endif  /* I2C_S3C2410_H */

⌨️ 快捷键说明

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