void sm5701_set_imled(int imled_ma)
{
    struct i2c_client * client;
    u8 data = 0;

    client = leds_sm5701_client;
  
    if( !client) return;

    pr_info("%s imled_ma = %d\n",__func__,imled_ma);

    if(imled_ma < IMLED_MIN) 
        imled_ma = IMLED_MIN;
    else if(imled_ma > IMLED_MAX) 
        imled_ma = IMLED_MAX;

    SM5701_reg_read(client, SM5701_FLEDCNTL4, &data);

    data = (data & (~SM5701_FLEDCNTL4_IMLED)) | imled_ma;

    SM5701_reg_write(client,SM5701_FLEDCNTL4,data);    
  
    pr_info("write SM5701 addr : 0x%02x data : 0x%02x\n", SM5701_FLEDCNTL4, data);
    
}
Example #2
0
void SM5701_set_operationmode(int operation_mode)
{
	struct i2c_client * client;
	u8 data = 0;

	client = SM5701_core_client;

	if(!client) return;

	pr_info("%s operation_mode = %d\n",__func__,operation_mode);

	SM5701_reg_read(client, SM5701_CNTL, &data);

	data = (data & (~SM5701_CNTL_OPERATIONMODE)) | operation_mode;

	SM5701_reg_write(client,SM5701_CNTL,data);

	pr_info("write SM5701 addr : 0x%02x data : 0x%02x\n", SM5701_CNTL, data);
}
void sm5701_set_abstmr(int abstmr_sec)
{
    struct i2c_client * client;
    u8 data = 0;

    client = leds_sm5701_client;
  
    if( !client) return;

    pr_info("%s abstmr_sec = %d\n",__func__,abstmr_sec);

    SM5701_reg_read(client, SM5701_FLEDCNTL1, &data);

    data = (data & (~SM5701_FLEDCNTL1_ABSTMR)) | (abstmr_sec << ABSTMR_SHIFT);

    SM5701_reg_write(client,SM5701_FLEDCNTL1,data);    
  
    pr_info("write SM5701 addr : 0x%02x data : 0x%02x\n", SM5701_FLEDCNTL1, data);
    
}
void SM5701_set_bstout(int bstout_mv)
{
    struct i2c_client * client;
    u8 data = 0;

    client = leds_sm5701_client;
  
    if( !client) return;

    pr_info("%s bstout_mv = %d\n",__func__,bstout_mv);

    SM5701_reg_read(client, SM5701_FLEDCNTL6, &data);

    data = (data & (~SM5701_FLEDCNTL6_BSTOUT))| bstout_mv;

    SM5701_reg_write(client,SM5701_FLEDCNTL6,data);    
  
    pr_info("write SM5701 addr : 0x%02x data : 0x%02x\n", SM5701_FLEDCNTL6, data);
    
}
void sm5701_set_lbdhys(int lbdhys_mv)
{
    struct i2c_client * client;
    u8 data = 0;

    client = leds_sm5701_client;
  
    if( !client) return;

    pr_info("%s lbdhys_mv = %d\n",__func__,lbdhys_mv);

    SM5701_reg_read(client, SM5701_FLEDCNTL5, &data);

    data = (data & (~SM5701_FLEDCNTL5_LBDHYS))| lbdhys_mv;

    SM5701_reg_write(client,SM5701_FLEDCNTL5,data);    
  
    pr_info("write SM5701 addr : 0x%02x data : 0x%02x\n", SM5701_FLEDCNTL5, data);
    
}
void sm5701_set_lowbatt(int lowbatt_v)
{
    struct i2c_client * client;
    u8 data = 0;

    client = leds_sm5701_client;
  
    if( !client) return;

    pr_info("%s lowbatt_v = %d\n",__func__,lowbatt_v);

    SM5701_reg_read(client, SM5701_FLEDCNTL5, &data);

    data = (data & (~SM5701_FLEDCNTL5_LOWBATT)) | (lowbatt_v << LOWBATT_SHIFT);

    SM5701_reg_write(client,SM5701_FLEDCNTL5,data);    
  
    pr_info("write SM5701 addr : 0x%02x data : 0x%02x\n", SM5701_FLEDCNTL5, data);
    
}
void sm5701_set_lbrstimer(int lbrstimer_us)
{
    struct i2c_client * client;
    u8 data = 0;

    client = leds_sm5701_client;
  
    if( !client) return;

    pr_info("%s lbrstimer_us = %d\n",__func__,lbrstimer_us);

    SM5701_reg_read(client, SM5701_FLEDCNTL5, &data);

    data = (data & (~SM5701_FLEDCNTL5_LBRSTIMER)) | (lbrstimer_us << LBRSTIMER_SHIFT);

    SM5701_reg_write(client,SM5701_FLEDCNTL5,data);    
  
    pr_info("write SM5701 addr : 0x%02x data : 0x%02x\n", SM5701_FLEDCNTL5, data);
    
}
void sm5701_set_enlowbatt(int enlowbatt_enable)
{
    struct i2c_client * client;
    u8 data = 0;

    client = leds_sm5701_client;
  
    if( !client) return;

    pr_info("%s enlowbatt_enable = %d\n",__func__,enlowbatt_enable);

    SM5701_reg_read(client, SM5701_FLEDCNTL5, &data);

    data = (data & (~SM5701_FLEDCNTL5_ENLOWBATT)) | (enlowbatt_enable << ENLOWBATT_SHIFT);

    SM5701_reg_write(client,SM5701_FLEDCNTL5,data);    
  
    pr_info("write SM5701 addr : 0x%02x data : 0x%02x\n", SM5701_FLEDCNTL5, data);
    
}
void sm5701_set_onetimer(int onetimer_ms)
{
    struct i2c_client * client;
    u8 data = 0;

    client = leds_sm5701_client;
  
    if( !client) return;

    pr_info("%s onetimer_ms = %d\n",__func__,onetimer_ms);

    SM5701_reg_read(client, SM5701_FLEDCNTL2, &data);

    data = (data & (~SM5701_FLEDCNTL2_ONETIMER)) | onetimer_ms;

    SM5701_reg_write(client,SM5701_FLEDCNTL2,data);    
  
    pr_info("write SM5701 addr : 0x%02x data : 0x%02x\n", SM5701_FLEDCNTL2, data);
    
}
void sm5701_set_noneshot(int noneshot_enable)
{
    struct i2c_client * client;
    u8 data = 0;

    client = leds_sm5701_client;
  
    if( !client) return;

    pr_info("%s noneshot_enable = %d\n",__func__,noneshot_enable);

    SM5701_reg_read(client, SM5701_FLEDCNTL2, &data);

    data = (data & (~SM5701_FLEDCNTL2_nONESHOT)) | (noneshot_enable << nONESHOT_SHIFT);

    SM5701_reg_write(client,SM5701_FLEDCNTL2,data);    
  
    pr_info("write SM5701 addr : 0x%02x data : 0x%02x\n", SM5701_FLEDCNTL2, data);
    
}
void sm5701_set_safet(int safet_us)
{
    struct i2c_client * client;
    u8 data = 0;

    client = leds_sm5701_client;
  
    if( !client) return;

    pr_info("%s safet_us = %d\n",__func__,safet_us);

    SM5701_reg_read(client, SM5701_FLEDCNTL2, &data);

    data = (data & (~SM5701_FLEDCNTL2_SAFET)) | (safet_us << SAFET_SHIFT);

    SM5701_reg_write(client,SM5701_FLEDCNTL2,data);    
  
    pr_info("write SM5701 addr : 0x%02x data : 0x%02x\n", SM5701_FLEDCNTL2, data);
    
}
void sm5701_set_fleden(int fled_enable)
{
    struct i2c_client * client;
    u8 data = 0;

    client = leds_sm5701_client;
  
    if( !client) return;

    pr_info("%s fled_enable = %d\n",__func__,fled_enable);

    SM5701_reg_read(client, SM5701_FLEDCNTL1, &data);
    
    data = (data & (~SM5701_FLEDCNTL1_FLEDEN)) | fled_enable;

    SM5701_reg_write(client,SM5701_FLEDCNTL1,data);    
  
    pr_info("write SM5701 addr : 0x%02x data : 0x%02x\n", SM5701_FLEDCNTL1, data);
    
}