diff --git a/trunk/pm.c b/trunk/pm.c index fac0904..886b8d5 100644 --- a/trunk/pm.c +++ b/trunk/pm.c @@ -327,6 +327,7 @@ err PM_BL_set( u8 dat ) u8 blset; #endif u8 intset = 0; + u8 status_blset = 0; // RMW‚đŤs‚¤ // Read @@ -358,7 +359,7 @@ err PM_BL_set( u8 dat ) } #ifdef _PMIC_TWL_ - if(( blset != 0x00 ) + if(( blset != 0x00 ) && ( ( dat & ( REG_BIT_CMD_BL_U_OFF | REG_BIT_CMD_BL_L_OFF )) == ( REG_BIT_CMD_BL_U_OFF | REG_BIT_CMD_BL_L_OFF )) ) { PM_TEG_LCD_dis( 1 ); @@ -371,7 +372,8 @@ err PM_BL_set( u8 dat ) wait_ms( 10 ); } - vreg_ctr[VREG_C_STATUS] = (( vreg_ctr[VREG_C_STATUS] & 0b10011111 ) | ( blset << 5 )); + status_blset = ((blset & 0x01) << 1) | ((blset & 0x02) >> 1); + vreg_ctr[VREG_C_STATUS] = (( vreg_ctr[VREG_C_STATUS] & 0b10011111 ) | ( status_blset << 5 )); { u8 tot;