Exemplo n.º 1
0
TYPE_IR_REG_RESULT ir_reg_irda_hwinit(TYPE_LED_POWER a_val)
{
	TYPE_IR_REG_RESULT	w_ret	= IR_REG_RESULT_SUCCESS;

	#ifdef IR_FEATURE_WAIT_FOR_SLEEP
	struct timespec tu;
	#endif

	spin_lock_init(&Irreg_spin_lock);

	ir_reg_gol_irdacc_reset_dis();
	ir_reg_irdacc_ena();

	ir_reg_set_sd(IR_GPIO_LOW);

	ir_reg_led_pwr_sel(a_val);

	if (a_val != IR_LED_POWER_NON) {
		ir_reg_led_leda_on();
	}
	#ifdef IR_FEATURE_WAIT_FOR_SLEEP
	tu.tv_sec = 0;
	tu.tv_nsec = IR_SD_RECOVERY_WAIT_NSEC;
	hrtimer_nanosleep(&tu, NULL, HRTIMER_MODE_REL, CLOCK_MONOTONIC);
	#else
	mdelay(IR_SD_RECOVERY_WAIT);
	#endif

	g_ir_ledpow = a_val;

	return (w_ret);
}
Exemplo n.º 2
0
TYPE_IR_REG_RESULT ir_reg_irda_hwinit(void)
{
	TYPE_IR_REG_RESULT	w_ret	= IR_REG_RESULT_SUCCESS;

	struct timespec tu;

	spin_lock_init(&Irreg_spin_lock);

	ir_reg_gol_irdacc_reset_dis();
	ir_reg_irdacc_ena();

	ir_reg_set_sd(IR_GPIO_LOW);




	tu.tv_sec = 0;
	tu.tv_nsec = IR_SD_RECOVERY_WAIT_NSEC;
	hrtimer_nanosleep(&tu, NULL, HRTIMER_MODE_REL, CLOCK_MONOTONIC);

	return (w_ret);
}
Exemplo n.º 3
0
TYPE_IR_REG_RESULT ir_reg_irsd_active(void)
{
	TYPE_IR_REG_RESULT w_ret = IR_REG_RESULT_SUCCESS;

	struct timespec tu;

	int f_map_hcs1 = 0;

	if (lr388g7_hcs1 != NULL) {
		goto ready;
	}

	f_map_hcs1 = 1;

	if (ir_reg_ioremap_nocache() != IR_REG_RESULT_SUCCESS) {
		w_ret = IR_REG_RESULT_FAIL;
		MSG_IRREG_FATAL("ioremap error\n");
		goto error;
	}

ready:
	ir_reg_gol_irdacc_reset_dis();
	ir_reg_set_sd(IR_GPIO_LOW);

	tu.tv_sec = 0;
	tu.tv_nsec = IR_SD_RECOVERY_WAIT_NSEC;
	hrtimer_nanosleep(&tu, NULL, HRTIMER_MODE_REL, CLOCK_MONOTONIC);

error:
	if (f_map_hcs1 == 1) {
		ir_reg_iounmap();
		f_map_hcs1 = 0;
	}

	return (w_ret);
}