天天看點

[ISINK]MT6328 ISINK呼吸燈模式配置方法[ISINK]MT6328 ISINK呼吸燈模式配置方法

[ISINK]MT6328 ISINK呼吸燈模式配置方法

[DESCRIPTION]

MT6328 ISINK呼吸燈模式配置方法

[SOLUTION]

MT6328 ISINK 支援呼吸燈模式的話

需要修改檔案alps\kernel-3.10\drivers\misc\mediatek\leds\mt6735\leds.c

修改函數, 以ISINK0為例。

int mt_brightness_set_pmic(enum mt65xx_led_pmic pmic_type, u32 level, u32

div)

{

..........

if(pmic_type == MT65XX_LED_PMIC_NLED_ISINK0)

{

pmic_set_register_value(PMIC_RG_DRV_32K_CK_PDN,0x0); // Disable power down

pmic_set_register_value(PMIC_RG_DRV_ISINK0_CK_PDN,0);

pmic_set_register_value(PMIC_RG_DRV_ISINK0_CK_CKSEL,0);

pmic_set_register_value(PMIC_ISINK_CH0_MODE,ISINK_BREATH_MODE);

pmic_set_register_value(PMIC_ISINK_CH0_STEP,ISINK_3);//16mA

pmic_set_register_value(PMIC_ISINK_BREATH0_TR1_SEL,0x02);

pmic_set_register_value(PMIC_ISINK_BREATH0_TR2_SEL,0x02);

pmic_set_register_value(PMIC_ISINK_BREATH0_TF1_SEL,0x02);

pmic_set_register_value(PMIC_ISINK_BREATH0_TF2_SEL,0x02);

pmic_set_register_value(PMIC_ISINK_BREATH0_TON_SEL,0x02);

pmic_set_register_value(PMIC_ISINK_BREATH0_TOFF_SEL,0x03);

pmic_set_register_value(PMIC_ISINK_DIM0_DUTY,15);

pmic_set_register_value(PMIC_ISINK_DIM0_FSEL,1999); => 0.5Hz

if(level){

pmic_set_register_value(PMIC_ISINK_CHOP0_EN,1);

pmic_set_register_value(PMIC_ISINK_CH0_BIAS_EN,1);

pmic_set_register_value(PMIC_ISINK_CH0_EN,NLED_ON);

}else{

pmic_set_register_value(PMIC_ISINK_CHOP0_EN,0);

pmic_set_register_value(PMIC_ISINK_CH0_BIAS_EN,0);

pmic_set_register_value(PMIC_ISINK_CH0_EN,NLED_OFF);

}

}

............

}

具體參數資訊可以參考FAQ:[FAQ13419]采用PMIC MT6331、MT6325的Isink實作呼吸

繼續閱讀