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

📄 triton.c

📁 Linux Kernel 2.6.9 for OMAP1710
💻 C
字号:
/*  * linux/drivers/i2c/chips/triton.c *  * Provides API's for accessing registers of TRITON Chip. * * Copyright (C) 2004 Texas Instruments, Inc.  *  * This package is free software; you can redistribute it and/or modify  * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation.  *  * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.  */#include <linux/i2c.h>#include <asm/arch/triton.h>/* TRITON Device Address */#define TRITON_I2C_ADDR		0x2Dint triton_i2c_write( u8 val, u8 addr){		struct i2c_adapter *adap;	int err;	struct i2c_msg msg[1];	unsigned char data[2];	adap = i2c_get_adapter(0);	if ( !adap ) {		return -ENODEV;	}	msg->addr = TRITON_I2C_ADDR;	msg->flags = 0;	msg->len = 2;	msg->buf = data;	data[0] = addr;	data[1] = val ;	err = i2c_transfer(adap,msg,1);	if ( err >= 0 ){		return 0;	}	return err;}int triton_i2c_read( u8 *val , u8 addr){	struct i2c_adapter *adap;	int err;	struct i2c_msg msg[1];	unsigned char data[1];	adap = i2c_get_adapter(0);	if (!adap){		return -ENODEV;	}	msg->addr = TRITON_I2C_ADDR;	msg->flags = 0;	msg->len = 1;	msg->buf = data;	data[0] = addr;	err = i2c_transfer(adap, msg, 1);	if (err<0)		return err;	msg->addr = 0x2D;		msg->flags = I2C_M_RD;	msg->len = 1;	msg->buf = data;	data[0] = 0xFF;	err = i2c_transfer(adap, msg, 1);	*val = data[0];	if (err >= 0){		return 0;	}	return err;}EXPORT_SYMBOL(triton_i2c_read);EXPORT_SYMBOL(triton_i2c_write);

⌨️ 快捷键说明

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