ps2sdk  1.1
A collection of Open Source libraries used for developing applications on Sony's PlayStation 2® (PS2).
aifregs.h
Go to the documentation of this file.
1 
6 #ifndef __AIFREGS_H__
7 #define __AIFREGS_H__
8 
9 #include <tamtypes.h>
10 
11 #define AIF_REGBASE (SPD_REGBASE + 0x4000000)
12 
13 #define USE_AIF_REGS volatile u16 *aif_regs = \
14  (volatile u16 *)AIF_REGBASE
15 
16 enum AIF_REGS{
17  AIF_IDENT = 0x00,
22  AIF_COUNT_L = 0x08,
24  AIF_ATA_TCFG = 0x20,
25  AIF_ATA = 0x30, //ATA register base.
26  AIF_ATACTL = 0x3C,
27  AIF_RTC = 0x80 //RTC register base.
28 };
29 
30 #define AIF_INTCL AIF_INTSR
31 
32 //AIF interrupt management
33 enum AIF_INUM{
35  AIF_INUM_RTC, //I don't know what this interrupt event is, but it should be for the RTC because it doesn't have a known bit for itself.
37 
39 };
40 
41 #define AIF_INTR_ATA0 (1<<AIF_INUM_ATA0)
42 #define AIF_INTR_RTC (1<<AIF_INUM_RTC)
43 #define AIF_INTR_PCMCIA (1<<AIF_INUM_PCMCIA)
44 
45 //Motorola MC146818 RTC management
46 #define USE_AIF_RTC_REGS volatile u16 *aif_rtc_regs = \
47  (&aif_regs[AIF_RTC])
48 
49 enum RTC_REGS{
50  RTC_SECONDS = 0x00,
63  RTC_REG_D
64 };
65 
66 /**********************************************************************
67  * RTC register details, taken from mc146818rtc.h
68  **********************************************************************/
69 #define RTC_FREQ_SELECT RTC_REG_A
70 
76 # define RTC_UIP 0x80
77 # define RTC_DIV_CTL 0x70
79 # define RTC_REF_CLCK_4MHZ 0x00
80 # define RTC_REF_CLCK_1MHZ 0x10
81 # define RTC_REF_CLCK_32KHZ 0x20
83 # define RTC_DIV_RESET1 0x60
84 # define RTC_DIV_RESET2 0x70
86 # define RTC_RATE_SELECT 0x0F
87 
88 /**********************************************************************/
89 #define RTC_CONTROL RTC_REG_B
91 # define RTC_SET 0x80
93 # define RTC_PIE 0x40
95 # define RTC_AIE 0x20
97 # define RTC_UIE 0x10
99 # define RTC_SQWE 0x08
101 # define RTC_DM_BINARY 0x04
103 # define RTC_24H 0x02
105 # define RTC_DST_EN 0x01
106 
107 
108 /**********************************************************************/
109 #define RTC_INTR_FLAGS RTC_REG_C
110 /* caution - cleared by read */
112 # define RTC_IRQF 0x80
113 # define RTC_PF 0x40
114 # define RTC_AF 0x20
115 # define RTC_UF 0x10
116 
117 /**********************************************************************/
118 #define RTC_VALID RTC_REG_D
120 # define RTC_VRT 0x80
121 /**********************************************************************/
122 
123 #endif /* __AIFREGS_H__ */
RTC_REGS
Definition: aifregs.h:49
@ RTC_REG_D
Definition: aifregs.h:63
@ RTC_REG_A
Definition: aifregs.h:60
@ RTC_MONTH
Definition: aifregs.h:58
@ RTC_DAY_OF_WEEK
Definition: aifregs.h:56
@ RTC_REG_B
Definition: aifregs.h:61
@ RTC_YEAR
Definition: aifregs.h:59
@ RTC_REG_C
Definition: aifregs.h:62
@ RTC_HOURS_ALARM
Definition: aifregs.h:55
@ RTC_MINUTES_ALARM
Definition: aifregs.h:53
@ RTC_SECONDS
Definition: aifregs.h:50
@ RTC_MINUTES
Definition: aifregs.h:52
@ RTC_SECONDS_ALARM
Definition: aifregs.h:51
@ RTC_DAY_OF_MONTH
Definition: aifregs.h:57
@ RTC_HOURS
Definition: aifregs.h:54
AIF_INUM
Definition: aifregs.h:33
@ AIF_INUM_ATA0
Definition: aifregs.h:34
@ AIF_INUM_PCMCIA
Definition: aifregs.h:36
@ AIF_INUM_COUNT
Definition: aifregs.h:38
@ AIF_INUM_RTC
Definition: aifregs.h:35
AIF_REGS
Definition: aifregs.h:16
@ AIF_ATA
Definition: aifregs.h:25
@ AIF_INTSR
Definition: aifregs.h:19
@ AIF_COUNT_H
Definition: aifregs.h:23
@ AIF_COUNT_L
Definition: aifregs.h:22
@ AIF_INTEN
Definition: aifregs.h:20
@ AIF_ATA_TCFG
Definition: aifregs.h:24
@ AIF_TIMCFG
Definition: aifregs.h:21
@ AIF_IDENT
Definition: aifregs.h:17
@ AIF_REVISION
Definition: aifregs.h:18
@ AIF_RTC
Definition: aifregs.h:27
@ AIF_ATACTL
Definition: aifregs.h:26