在PMUCtrl.c里面增加
void LDOCtrl_Write_Reg(MMP_UBYTE ubReg, MMP_UBYTE ubValue)
{
MMP_UBYTE Readreg;
MMP_USHORT ReadValue;
RTNA_DBG_Str(0, "LDOCtrl_Write_Reg!304\r\n");
#if 1
{
static MMP_I2CM_ATTR LDOI2C= {
MMP_I2CM_GPIO, //i2cmID
0x60, //ubSlaveAddr
8, //ubRegLen
8, //ubDataLen
0x0, //ubDelayTime
MMP_FALSE, //bDelayWaitEn
MMP_TRUE, //bInputFilterEn
MMP_FALSE, //b10BitModeEn
MMP_FALSE, //bClkStretchEn
0, //ubSlaveAddr1
0, //ubDelayCycle
2, //ubPadNum
200000 /*16KHZ*/, //ulI2cmSpeed
MMP_TRUE, //bOsProtectEn
MMP_GPIO18, //sw_clk_pin
MMP_GPIO17, //sw_data_pin
MMP_FALSE, //bRfclModeEn
MMP_FALSE, //bWfclModeEn
MMP_TRUE, //bRepeatModeEn
0 //ubVifPioMdlId
};
MMPF_I2cm_WriteReg(&LDOI2C, ubReg, ubValue);
MMPF_I2cm_ReadReg(&LDOI2C, 0x01, &ReadValue);
RTNA_DBG_Str(0, "MMPF_I2cm_ReadReg!335\r\n");RTNA_DBG_Long(0, Readreg);
RTNA_DBG_Str(0, "MMPF_I2cm_ReadReg!336\r\n");RTNA_DBG_Long(0, ReadValue);
}
#else
RTNA_DBG_Str(0, "No PMU device!224\r\n");
#endif
}
其中LDO1寄存器地址为0x44;
其中LDO1寄存器地址为0x46;
ubValue的值的算法是 value=(Vtarget-0.7)*1000/25;
只需要在sensor初始化之前设置其电压即可。
|