コード例 #1
0
void	touch_information_display(struct touch *ts)
{
#if 0
	printk("--------------------------------------------------------\n");
	printk("           TOUCH SCREEN INFORMATION\n");
	printk("--------------------------------------------------------\n");
#endif
	touch_wake_control(ts);
	if(touch_i2c_read(ts->client, REG_TS_FIRMWARE_ID, 1, &ts->fw_version) == 1)
		printk("LGD TOUCH F/W Version = %d.%02d\n", ts->fw_version/100, ts->fw_version%100);
#if 0		
	printk("TOUCH FINGRES MAX = %d\n", ts->pdata->max_fingers);
	printk("TOUCH ABS X MAX = %d, TOUCH ABS X MIN = %d\n", ts->pdata->abs_max_x, ts->pdata->abs_min_x);
	printk("TOUCH ABS Y MAX = %d, TOUCH ABS Y MIN = %d\n", ts->pdata->abs_max_y, ts->pdata->abs_min_y);

	if(ts->pdata->touch_max)
		printk("TOUCH MAJOR MAX = %d, TOUCH MAJOR MIN = %d\n", ts->pdata->touch_max, ts->pdata->touch_min);
	if(ts->pdata->width_max)
		printk("TOUCH WIDTH MAX = %d, TOUCH WIDTH MIN = %d\n", ts->pdata->width_max, ts->pdata->width_min);
	if(ts->pdata->id_max)		
		printk("TOUCH ID MAX = %d, TOUCH ID MIN = %d\n", ts->pdata->id_max, ts->pdata->id_min);
	else
		printk("TOUCH ID MAX = %d, TOUCH ID MIN = %d\n", ts->pdata->max_fingers, 0);

	if(ts->pdata->gpio_init)	
		printk("GPIO Early Init Function Implemented\n");
	if(ts->pdata->reset_gpio)	
		printk("H/W Reset Function Implemented\n");
	if(ts->pdata->wake_gpio)	
		printk("H/W Wake-up control Function Implemented\n");

	printk("--------------------------------------------------------\n");
#endif
}
コード例 #2
0
//[*]--------------------------------------------------------------------------------------------------[*]
// firmware version display
//[*]--------------------------------------------------------------------------------------------------[*]
static	ssize_t show_fw_version			(struct device *dev, struct device_attribute *attr, char *buf)
{
	struct touch 	*ts = dev_get_drvdata(dev);

	if(!err_mask(ts->fw_status) && !(ts->fw_status & STATUS_BOOT_MODE))	{
		touch_disable(ts);
		touch_wake_control(ts);
		touch_i2c_read(ts->client, REG_TS_FIRMWARE_ID, 1, &ts->fw_version);
		touch_enable(ts);
	}

	return sprintf(buf, "%d\n", ts->fw_version);
}
コード例 #3
0
//[*]--------------------------------------------------------------------------------------------------[*]
//[*]--------------------------------------------------------------------------------------------------[*]
//   disablel (1 -> disable irq, cancel work, 0 -> enable irq), show irq state
//[*]--------------------------------------------------------------------------------------------------[*]
static	ssize_t show_idle				(struct device *dev, struct device_attribute *attr, char *buf)
{
	struct touch 	*ts = dev_get_drvdata(dev);
	unsigned char	idle = 0;

	if(!err_mask(ts->fw_status) && !(ts->fw_status & STATUS_BOOT_MODE))	{
		touch_disable(ts);
		touch_wake_control(ts);
		if(touch_i2c_read(ts->client, REG_TS_IDLE_RD, 1, &idle) == 1)		{
			touch_enable(ts);
			return sprintf(buf, "%d\n", idle);
		}
		touch_enable(ts);
	}
	return sprintf(buf, "%d\n", -1);
}
コード例 #4
0
//[*]--------------------------------------------------------------------------------------------------[*]
static	ssize_t store_idle			(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
{
	struct touch 	*ts = dev_get_drvdata(dev);
	unsigned long 	val  = 0;
	unsigned char	idle = 0;
	int 			err;

	if ((err = strict_strtoul(buf, 10, &val)))	return err;

	if (val > 255 && val < 0)	idle = 0;
	else	{
		idle = (unsigned char)val;
		if(!err_mask(ts->fw_status) && !(ts->fw_status & STATUS_BOOT_MODE))	{
			touch_disable(ts);
			touch_wake_control(ts);
			touch_i2c_write(ts->client, REG_TS_IDLE_WR, 1, &idle);
			touch_enable(ts);
		}
	}

	return count;
}