#define uint16 unsigned short
#define uint32 unsigned int
uint32 __sramdata data[5];
+uint8 __sramdata arm_voltage = 0;
#define CRU_CLKGATE0_CON 0xd0
#define CRU_CLKGATE8_CON 0xf0
data = 0x23; //set arm 1.0v
sram_i2c_init(); //init i2c device
-// ret = sram_i2c_read(slaveaddr, slavereg);
+ arm_voltage = sram_i2c_read(slaveaddr, slavereg);
// sram_printhex(ret);
sram_i2c_write(slaveaddr, slavereg, data);//
sram_i2c_deinit(); //deinit i2c device
uint8 data,ret;
slaveaddr = I2C_SADDR; //slave device addr
slavereg = 0x22; // reg addr
- data = 0x2b;
-
+
sram_i2c_init(); //init i2c device
-// ret = sram_i2c_read(slaveaddr, slavereg);
+ if (arm_voltage >= 0x3b ){ // set arm <= 1.3v
+ data = 0x3b;
+ }
+ else if(arm_voltage <= 0x1f){
+ data = 0x1f; // set arm >= 0.95v
+ }
+ else
+ data = arm_voltage;
sram_i2c_write(slaveaddr, slavereg, data);
sram_i2c_deinit(); //deinit i2c device
}