From f5e7b4c36a00afccb90f7e87f667f068bcbb85ea Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 28 Nov 2001 18:20:10 +0000 Subject: 2001-11-28 Joel Sherrill , This was tracked as PR87. * README, configure.ac, include/Makefile.am, include/bsp.h, start/start.S, startup/FPGA.c, startup/Makefile.am, tod/Makefile.am: Eliminated conditional code for generation 1 boards as these are no longer available. * include/gen1.h, startup/82378zb.c, tod/tod_g1.c: Deleted. --- c/src/lib/libbsp/powerpc/score603e/tod/tod_g1.c | 138 ------------------------ 1 file changed, 138 deletions(-) delete mode 100644 c/src/lib/libbsp/powerpc/score603e/tod/tod_g1.c (limited to 'c/src/lib/libbsp/powerpc/score603e/tod/tod_g1.c') diff --git a/c/src/lib/libbsp/powerpc/score603e/tod/tod_g1.c b/c/src/lib/libbsp/powerpc/score603e/tod/tod_g1.c deleted file mode 100644 index 6366cf662a..0000000000 --- a/c/src/lib/libbsp/powerpc/score603e/tod/tod_g1.c +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Real Time Clock (SGS-Thomson M48T08/M48T18) for RTEMS - * - * This part is only found on the first generation board. - * - * Based on MVME162 TOD Driver by: - * COPYRIGHT (C) 1997 - * by Katsutoshi Shibuya - BU Denken Co.,Ltd. - Sapporo - JAPAN - * ALL RIGHTS RESERVED - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#include -#include -#include - -/* - * These routines are M48T08 and M48T18 dependent and should be in - * a separate support library. - */ - -static int M48T08_GetField( - volatile unsigned char *mk48t08, - int n, - unsigned char mask -) -{ - unsigned char x; - - x = mk48t08[n] & mask; - return ((x >> 4) * 10) + (x & 0x0f); -} - -static void M48T08_SetField( - volatile unsigned char *mk48t08, - int n, - unsigned char d -) -{ - mk48t08[n] = ((d / 10) << 4) + (d % 10); -} - -static void M48T08_GetTOD( - volatile unsigned char *mk48t08, - rtems_time_of_day *rtc_tod -) -{ - int year; - - mk48t08[0] |= 0x40; /* Stop read register */ - - year = M48T08_GetField( mk48t08, 7, 0xff ); - if ( year >= 88 ) - year += 1900; - else - year += 2000; - - rtc_tod->year = year; - rtc_tod->month = M48T08_GetField( mk48t08, 6, 0x1f ); - rtc_tod->day = M48T08_GetField( mk48t08, 5, 0x3f ); - rtc_tod->hour = M48T08_GetField( mk48t08, 3, 0x3f ); - rtc_tod->minute = M48T08_GetField( mk48t08, 2, 0x7f ); - rtc_tod->second = M48T08_GetField( mk48t08, 1, 0x7f ); - rtc_tod->ticks = 0; - mk48t08[0] &= 0x3f; /* Release read register */ -} - -static void M48T08_SetTOD( - volatile unsigned char *mk48t08, - rtems_time_of_day *rtc_tod -) -{ - int year; - - year = rtc_tod->year; - - if ( year >= 2088 ) /* plan ahead :) */ - rtems_fatal_error_occurred( 0xBAD0BAD0 ); - - if ( year >= 2000 ) - year -= 2000; - else - year -= 1900; - - mk48t08[0] |= 0x80; /* Stop write register */ - M48T08_SetField( mk48t08, 7, year ); - M48T08_SetField( mk48t08, 6, rtc_tod->month ); - M48T08_SetField( mk48t08, 5, rtc_tod->day ); - M48T08_SetField( mk48t08, 4, 1 ); /* I don't know which day of week is */ - M48T08_SetField( mk48t08, 3, rtc_tod->hour ); - M48T08_SetField( mk48t08, 2, rtc_tod->minute ); - M48T08_SetField( mk48t08, 1, rtc_tod->second ); - mk48t08[0] &= 0x3f; /* Write these parameters */ -} - -/* - * This code is dependent on the Vista 603e's use of the M48T18 RTC/NVRAM - * and should remain in this file. - */ - -void setRealTimeToRTEMS() -{ - rtems_time_of_day rtc_tod; - - M48T08_GetTOD( SCORE603E_RTC_ADDRESS, &rtc_tod ); - rtems_clock_set( &rtc_tod ); -} - -void setRealTimeFromRTEMS() -{ - rtems_time_of_day rtems_tod; - - rtems_clock_get( RTEMS_CLOCK_GET_TOD, &rtems_tod ); - M48T08_SetTOD( SCORE603E_RTC_ADDRESS, &rtems_tod ); -} - -int checkRealTime() -{ - rtems_time_of_day rtems_tod; - rtems_time_of_day rtc_tod; - - M48T08_GetTOD( SCORE603E_RTC_ADDRESS, &rtc_tod ); - rtems_clock_get( RTEMS_CLOCK_GET_TOD, &rtems_tod ); - - if( rtems_tod.year == rtc_tod.year && - rtems_tod.month == rtc_tod.month && - rtems_tod.day == rtc_tod.day ) { - return ((rtems_tod.hour - rtc_tod.hour) * 3600) + - ((rtems_tod.minute - rtc_tod.minute) * 60) + - (rtems_tod.second - rtc_tod.second); - } - return 9999; -} -- cgit v1.2.3