#define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10)
 
-       if (i2c_read (RS5C372_PPC_I2C_ADR, 0, 1, buffer, sizeof (buffer))) {
+       if (! i2c_read (RS5C372_PPC_I2C_ADR, 0, 1, buffer, sizeof (buffer))) {
                timedate->tm_sec = BCD_TO_BIN (buffer[0]);
                timedate->tm_min = BCD_TO_BIN (buffer[1]);
                timedate->tm_hour = BCD_TO_BIN (buffer[2]);
        unsigned char buffer[8];
        /*int rc;*/
 
-       if (i2c_read (address, 0, 1, buffer, 1)) {
+       if (! i2c_read (address, 0, 1, buffer, 1)) {
                return (int) buffer[0];
        } else {
                /*printf("i2c error %02x\n", rc); */
 
 
 /* enable I2C */
 #define CONFIG_HARD_I2C                1       /* I2C with hardware support */
-#define CFG_I2C_SPEED          400000  /* I2C speed and slave address */
-#define CFG_I2C_SLAVE          0x7F
+#define CFG_I2C_SPEED          50000   /* I2C speed and slave address */
+#define CFG_I2C_SLAVE          0x30
 
 
 /* system clock rate (CLKIN) - equal to the 60x and local bus speed */