diff options
Diffstat (limited to 'c/src/lib/libbsp/arm/nds/libnds/include/nds/arm7/clock.h')
-rw-r--r-- | c/src/lib/libbsp/arm/nds/libnds/include/nds/arm7/clock.h | 140 |
1 files changed, 0 insertions, 140 deletions
diff --git a/c/src/lib/libbsp/arm/nds/libnds/include/nds/arm7/clock.h b/c/src/lib/libbsp/arm/nds/libnds/include/nds/arm7/clock.h deleted file mode 100644 index 57cba7c1ef..0000000000 --- a/c/src/lib/libbsp/arm/nds/libnds/include/nds/arm7/clock.h +++ /dev/null @@ -1,140 +0,0 @@ -/*--------------------------------------------------------------------------------- - - ARM7 realtime clock - - Copyright (C) 2005 - Michael Noland (joat) - Jason Rogers (dovoto) - Dave Murphy (WinterMute) - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any - damages arising from the use of this software. - - Permission is granted to anyone to use this software for any - purpose, including commercial applications, and to alter it and - redistribute it freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you - must not claim that you wrote the original software. If you use - this software in a product, an acknowledgment in the product - documentation would be appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and - must not be misrepresented as being the original software. - 3. This notice may not be removed or altered from any source - distribution. - ----------------------------------------------------------------------------------*/ - -#ifndef ARM7_CLOCK_INCLUDE -#define ARM7_CLOCK_INCLUDE - - -#ifndef ARM7 -#error The clock is only available on the ARM7 -#endif - -#ifdef __cplusplus -extern "C" { -#endif - - -#include <nds/arm7/serial.h> - -// RTC registers -#define WRITE_STATUS_REG1 0x60 -#define READ_STATUS_REG1 0x61 - -/* - Status Register 1 - 0 W Reset (0=Normal, 1=Reset) - 1 R/W 12/24 hour mode (0=12 hour, 1=24 hour) - 2-3 R/W General purpose bits - 4 R Interrupt 1 Flag (1=Yes) ;auto-cleared on read - 5 R Interrupt 2 Flag (1=Yes) ;auto-cleared on read - 6 R Power Low Flag (0=Normal, 1=Power is/was low) ;auto-cleared on read - 7 R Power Off Flag (0=Normal, 1=Power was off) ;auto-cleared on read - Power off indicates that the battery was removed or fully discharged, - all registers are reset to 00h (or 01h), and must be re-initialized. -*/ -#define STATUS_POC (1<<7) // read-only, cleared by reading (1 if just powered on) -#define STATUS_BLD (1<<6) // read-only, cleared by reading (1 if power dropped below the safety threshold) -#define STATUS_INT2 (1<<5) // read-only, INT2 has occured -#define STATUS_INT1 (1<<4) // read-only, INT1 has occured -#define STATUS_SC1 (1<<3) // R/W scratch bit -#define STATUS_SC0 (1<<2) // R/W scratch bit -#define STATUS_24HRS (1<<1) // 24 hour mode when 1, 12 hour mode when 0 -#define STATUS_RESET (1<<0) // write-only, reset when 1 written - -#define WRITE_STATUS_REG2 0x62 -#define READ_STATUS_REG2 0x63 -/* - Status Register 2 - 0-3 R/W INT1 Mode/Enable - 0000b Disable - 0x01b Selected Frequency steady interrupt - 0x10b Per-minute edge interrupt - 0011b Per-minute steady interrupt 1 (duty 30.0 secomds) - 0100b Alarm 1 interrupt - 0111b Per-minute steady interrupt 2 (duty 0.0079 secomds) - 1xxxb 32kHz output - 4-5 R/W General purpose bits - 6 R/W INT2 Enable - 0b Disable - 1b Alarm 2 interrupt - 7 R/W Test Mode (0=Normal, 1=Test, don't use) (cleared on Reset) -*/ -#define STATUS_TEST (1<<7) // -#define STATUS_INT2AE (1<<6) // -#define STATUS_SC3 (1<<5) // R/W scratch bit -#define STATUS_SC2 (1<<4) // R/W scratch bit - -#define STATUS_32kE (1<<3) // Interrupt mode bits -#define STATUS_INT1AE (1<<2) // -#define STATUS_INT1ME (1<<1) // -#define STATUS_INT1FE (1<<0) // - -// full 7 bytes for time and date -#define WRITE_TIME_AND_DATE 0x64 -#define READ_TIME_AND_DATE 0x65 - -// last 3 bytes of current time -#define WRITE_TIME 0x66 -#define READ_TIME 0x67 - -#define WRITE_INT_REG1 0x68 -#define READ_INT_REG1 0x69 - -#define READ_INT_REG2 0x6A -#define WRITE_INT_REG2 0x6B - -#define READ_CLOCK_ADJUST_REG 0x6C -#define WRITE_CLOCK_ADJUST_REG 0x6D -// clock-adjustment register - -#define READ_FREE_REG 0x6E -#define WRITE_FREE_REG 0x6F - - -void rtcReset(void); -void rtcTransaction(uint8 * command, uint32 commandLength, uint8 * result, uint32 resultLength); - -void rtcGetTime(uint8 * time); -void rtcSetTime(uint8 * time); - -void rtcGetTimeAndDate(uint8 * time); -void rtcSetTimeAndDate(uint8 * time); - -void rtcGetData(uint8 * data, uint32 size); - -void BCDToInteger(uint8 * data, uint32 length); -void integerToBCD(uint8 * data, uint32 length); - -void initClockIRQ(void); - -#ifdef __cplusplus -} -#endif - -#endif - |