コード例 #1
0
static void gsl_sw_init(struct i2c_client *client)
{
	struct gsl_ts_data *ts = i2c_get_clientdata(client);
	int rc;
	if(ts->sw_init_flag == 1)
		return;
	ts->sw_init_flag = 1;
	disable_irq(client->irq);
	gsl_ts_shutdown_low();	
	msleep(20); 	
	gsl_ts_shutdown_high();	
	msleep(20); 		
	rc = gsl_test_i2c(client);
	if(rc < 0)
	{
		ts->sw_init_flag = 0;
		printk("------gsl_ts test_i2c error------\n");
		enable_irq(client->irq);
		return;
	}

	gsl_clear_reg(client);
	gsl_reset_core(client);
	gsl_load_fw(client,gsl_cfg_table[gsl_cfg_index].fw,
		gsl_cfg_table[gsl_cfg_index].fw_size);
	gsl_start_core(client);
	gsl_reset_core(client);
	gsl_start_core(client);
	ts->sw_init_flag = 0;
	enable_irq(client->irq);
}
コード例 #2
0
ファイル: driver.c プロジェクト: k6dsp/gsl1680
static void init_chip(struct i2c_client *client,char *fw_file) {

	reset_chip(client);
	gsl_load_fw(client,fw_file);
	startup_chip(client);
	reset_chip(client);
	gslX680_shutdown_low(client);
	usleep(50000);
	gslX680_shutdown_high(client);
	usleep(30000);
	gslX680_shutdown_low(client);
	usleep(5000);
	gslX680_shutdown_high(client);
	usleep(20000);
	reset_chip(client);
	startup_chip(client);	
}
コード例 #3
0
ファイル: gsl1688.c プロジェクト: DigFarmer/keyboard
static void gsl_sw_init(void)
{
	gsl_clear_reg();
	gsl_reset_core();
    gsl_load_fw(GSLX68X_FW,val_len);
}