summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/score603e/tod/tod_g1.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2001-11-28 18:20:10 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2001-11-28 18:20:10 +0000
commitf5e7b4c36a00afccb90f7e87f667f068bcbb85ea (patch)
tree4ba9a6239e5cb0de7ee36ae289ef12fde89f050a /c/src/lib/libbsp/powerpc/score603e/tod/tod_g1.c
parent2001-11-28 Joel Sherrill <joel@OARcorp.com>, (diff)
downloadrtems-f5e7b4c36a00afccb90f7e87f667f068bcbb85ea.tar.bz2
2001-11-28 Joel Sherrill <joel@OARcorp.com>,
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.
Diffstat (limited to '')
-rw-r--r--c/src/lib/libbsp/powerpc/score603e/tod/tod_g1.c138
1 files changed, 0 insertions, 138 deletions
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 <rtems.h>
-#include <tod.h>
-#include <bsp.h>
-
-/*
- * 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;
-}