Пример #1
0
int check_id(unsigned int dec)
{
	int ret;
	gpio_i2c_write(dec, 0xFF, 0x01);
	ret = (gpio_i2c_read(dec, 0xf4)<<8) | (gpio_i2c_read(dec, 0xf5));
	return ret;
}
Пример #2
0
static int mt9d131_device_init(void)
{

    unsigned char regvalue;
    int loop1;
     
    /* read Chip version */
    gpio_i2c_write(I2C_MT9D131, 0xf0, 0x00);
    gpio_i2c_write(I2C_MT9D131, 0xf1, 0x00);
    regvalue = gpio_i2c_read(I2C_MT9D131, 0x00);
    loop1 = gpio_i2c_read(I2C_MT9D131, 0xf1); 
    if((regvalue != 0x15) || (loop1 != 0x19))
    {
        printk("read Prodect ID Number MSB is %x\n",regvalue);
        printk("read Prodect ID Number LSB is %x\n",loop1);
        printk("check mt9d131 ID error.\n");
        return -EFAULT;
    }
    if(out_mode == 1)
        mt9d131_uxga_init();
    else
        mt9d131_vga_init();  

    return 0;
}
Пример #3
0
static uint32_t ks103_read_reg_i2c(uint8_t addr, uint8_t reg)
{
	uint8_t data_read;

	/* 需要读取的寄存器 */
	gpio_i2c_start();
	gpio_i2c_write(addr);
	if(gpio_i2c_ack() != 0){ /* 无应答 */
		return KS103_DATA_ERROR;
	}
	gpio_i2c_write(reg);
	if(gpio_i2c_ack() != 0){ /* 无应答 */
		return KS103_DATA_ERROR;
	}

	/* 读取寄存器的数值 */
	gpio_i2c_start();
	gpio_i2c_write(addr + 1);
	if(gpio_i2c_ack() != 0){ /* 无应答 */
		return KS103_DATA_ERROR;
	}
	data_read = gpio_i2c_read();
	gpio_i2c_ack();
	gpio_i2c_stop();

	return (uint32_t) data_read;
}
Пример #4
0
//int gpioi2c_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)
long gpioi2c_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
{
    unsigned int val;
	
	char device_addr, reg_addr;
	short reg_val;
	
	
	switch(cmd)
	{
		case GPIO_I2C_READ:
			val = *(unsigned int *)arg;
			device_addr = (val&0xff000000)>>24;
			reg_addr = (val&0xff0000)>>16;
			
			reg_val = gpio_i2c_read(device_addr, reg_addr);
			*(unsigned int *)arg = (val&0xffff0000)|reg_val;			
			break;
		
		case GPIO_I2C_WRITE:
			val = *(unsigned int *)arg;
			device_addr = (val&0xff000000)>>24;
			reg_addr = (val&0xff0000)>>16;
			
			reg_val = val&0xffff;
			gpio_i2c_write(device_addr, reg_addr, reg_val);
			break;		
	
		default:
			return -1;
	}
    return 0;
}
Пример #5
0
int tlv320aic31_read(unsigned char chip_addr,unsigned char reg_addr)
{
#ifdef HI_GPIO_I2C
    return gpio_i2c_read(chip_addr,reg_addr);
#else    
    return i2c_read(chip_addr,reg_addr);
#endif
}
Пример #6
0
static unsigned char it6604_byte_read(unsigned char chip_addr, unsigned char addr)
{

#if 0
#ifndef HI_FPGA
    return gpio_i2c_read(chip_addr,addr);
#else
    if (IT6604A_I2C_ADDR == chip_addr || IT6604B_I2C_ADDR == chip_addr)
    {
        return gpio_i2c_read(chip_addr,addr);
    }
    else
    {
        return gpio_i2c1_read(chip_addr,addr);
    }
#endif	

#else
    return gpio_i2c_read(chip_addr,addr);
#endif
}
Пример #7
0
BYTE HDMIRX_ReadI2C_Byte(BYTE RegAddr)
{
	return gpio_i2c_read(IT6604A_I2C_ADDR,RegAddr);
}