diff options
Diffstat (limited to 'board/rsdproto/rsdproto.c')
| -rw-r--r-- | board/rsdproto/rsdproto.c | 17 | 
1 files changed, 8 insertions, 9 deletions
| diff --git a/board/rsdproto/rsdproto.c b/board/rsdproto/rsdproto.c index 26edb2e4f..10759b79c 100644 --- a/board/rsdproto/rsdproto.c +++ b/board/rsdproto/rsdproto.c @@ -26,6 +26,7 @@  #include <ioports.h>  #include <mpc8260.h>  #include <i2c.h> +#include <bcd.h>  /* define to initialise the SDRAM on the local bus */  #undef INIT_LOCAL_BUS_SDRAM @@ -208,16 +209,14 @@ void read_RS5C372_time (struct tm *timedate)  {  	unsigned char buffer[8]; -#define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10) -  	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]); -		timedate->tm_wday = BCD_TO_BIN (buffer[3]); -		timedate->tm_mday = BCD_TO_BIN (buffer[4]); -		timedate->tm_mon = BCD_TO_BIN (buffer[5]); -		timedate->tm_year = BCD_TO_BIN (buffer[6]) + 2000; +		timedate->tm_sec = bcd2bin (buffer[0]); +		timedate->tm_min = bcd2bin (buffer[1]); +		timedate->tm_hour = bcd2bin (buffer[2]); +		timedate->tm_wday = bcd2bin (buffer[3]); +		timedate->tm_mday = bcd2bin (buffer[4]); +		timedate->tm_mon = bcd2bin (buffer[5]); +		timedate->tm_year = bcd2bin (buffer[6]) + 2000;  	} else {  		/*printf("i2c error %02x\n", rc); */  		memset (timedate, 0, sizeof (struct tm)); |