(0x6<<4) |
               SYS_CONTROL_A_WDOG_ACTION |
               SYS_CONTROL_A_WATCHDOG);
-
-       i2c_reg_write(addr, SYS_CONTROL_A, val);
+       if(i2c_write(addr, SYS_CONTROL_A, 1, &val, 1)) {
+               printf("Error accessing DA9030 via i2c.\n");
+               return;
+       }
 
        i2c_reg_write(addr, REG_CONTROL_1_97, 0xfd); /* disable LDO1, enable LDO6 */
        i2c_reg_write(addr, LDO2_3, 0xd1);      /* LDO2 =1,9V, LDO3=3,1V */
 
 #define CFG_I2C_SPEED          400000  /* I2C speed */
 #define CFG_I2C_SLAVE          1       /* I2C controllers address */
 #define DA9030_I2C_ADDR                0x49    /* I2C address of DA9030 */
-#define CFG_DA9030_EXTON_DELAY 0       /* wait x us after DA9030 reset via EXTON */
+#define CFG_DA9030_EXTON_DELAY 100000  /* wait x us after DA9030 reset via EXTON */
 /* #define CONFIG_HW_WATCHDOG  1       /\* Required for hitting the DA9030 WD *\/ */
 
 /*