ps2sdk  1.1
A collection of Open Source libraries used for developing applications on Sony's PlayStation 2® (PS2).
aifregs.h File Reference
#include <tamtypes.h>
+ Include dependency graph for aifregs.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define AIF_REGBASE   (SPD_REGBASE + 0x4000000)
 
#define USE_AIF_REGS
 
#define AIF_INTCL   AIF_INTSR
 
#define AIF_INTR_ATA0   (1<<AIF_INUM_ATA0)
 
#define AIF_INTR_RTC   (1<<AIF_INUM_RTC)
 
#define AIF_INTR_PCMCIA   (1<<AIF_INUM_PCMCIA)
 
#define USE_AIF_RTC_REGS
 
#define RTC_FREQ_SELECT   RTC_REG_A
 
#define RTC_UIP   0x80
 
#define RTC_DIV_CTL   0x70
 
#define RTC_REF_CLCK_4MHZ   0x00
 
#define RTC_REF_CLCK_1MHZ   0x10
 
#define RTC_REF_CLCK_32KHZ   0x20
 
#define RTC_DIV_RESET1   0x60
 
#define RTC_DIV_RESET2   0x70
 
#define RTC_RATE_SELECT   0x0F
 
#define RTC_CONTROL   RTC_REG_B
 
#define RTC_SET   0x80
 
#define RTC_PIE   0x40
 
#define RTC_AIE   0x20
 
#define RTC_UIE   0x10
 
#define RTC_SQWE   0x08
 
#define RTC_DM_BINARY   0x04
 
#define RTC_24H   0x02
 
#define RTC_DST_EN   0x01
 
#define RTC_INTR_FLAGS   RTC_REG_C
 
#define RTC_IRQF   0x80
 
#define RTC_PF   0x40
 
#define RTC_AF   0x20
 
#define RTC_UF   0x10
 
#define RTC_VALID   RTC_REG_D
 
#define RTC_VRT   0x80
 

Enumerations

enum  AIF_REGS {
  AIF_IDENT = 0x00 ,
  AIF_REVISION ,
  AIF_INTSR ,
  AIF_INTEN ,
  AIF_TIMCFG ,
  AIF_COUNT_L = 0x08 ,
  AIF_COUNT_H ,
  AIF_ATA_TCFG = 0x20 ,
  AIF_ATA = 0x30 ,
  AIF_ATACTL = 0x3C ,
  AIF_RTC = 0x80
}
 
enum  AIF_INUM {
  AIF_INUM_ATA0 = 0 ,
  AIF_INUM_RTC ,
  AIF_INUM_PCMCIA ,
  AIF_INUM_COUNT
}
 
enum  RTC_REGS {
  RTC_SECONDS = 0x00 ,
  RTC_SECONDS_ALARM ,
  RTC_MINUTES ,
  RTC_MINUTES_ALARM ,
  RTC_HOURS ,
  RTC_HOURS_ALARM ,
  RTC_DAY_OF_WEEK ,
  RTC_DAY_OF_MONTH ,
  RTC_MONTH ,
  RTC_YEAR ,
  RTC_REG_A ,
  RTC_REG_B ,
  RTC_REG_C ,
  RTC_REG_D
}
 

Detailed Description

AIF and RTC registers

Definition in file aifregs.h.

Macro Definition Documentation

◆ AIF_INTCL

#define AIF_INTCL   AIF_INTSR

Definition at line 30 of file aifregs.h.

◆ AIF_INTR_ATA0

#define AIF_INTR_ATA0   (1<<AIF_INUM_ATA0)

Definition at line 41 of file aifregs.h.

◆ AIF_INTR_PCMCIA

#define AIF_INTR_PCMCIA   (1<<AIF_INUM_PCMCIA)

Definition at line 43 of file aifregs.h.

◆ AIF_INTR_RTC

#define AIF_INTR_RTC   (1<<AIF_INUM_RTC)

Definition at line 42 of file aifregs.h.

◆ AIF_REGBASE

#define AIF_REGBASE   (SPD_REGBASE + 0x4000000)

Definition at line 11 of file aifregs.h.

◆ RTC_24H

#define RTC_24H   0x02

24 hour mode - else hours bit 7 means pm

Definition at line 103 of file aifregs.h.

◆ RTC_AF

#define RTC_AF   0x20

Definition at line 114 of file aifregs.h.

◆ RTC_AIE

#define RTC_AIE   0x20

alarm interrupt enable

Definition at line 95 of file aifregs.h.

◆ RTC_CONTROL

#define RTC_CONTROL   RTC_REG_B

Definition at line 89 of file aifregs.h.

◆ RTC_DIV_CTL

#define RTC_DIV_CTL   0x70

Definition at line 77 of file aifregs.h.

◆ RTC_DIV_RESET1

#define RTC_DIV_RESET1   0x60

2 values for divider stage reset, others for "testing purposes only"

Definition at line 83 of file aifregs.h.

◆ RTC_DIV_RESET2

#define RTC_DIV_RESET2   0x70

Definition at line 84 of file aifregs.h.

◆ RTC_DM_BINARY

#define RTC_DM_BINARY   0x04

all time/date values are BCD if clear

Definition at line 101 of file aifregs.h.

◆ RTC_DST_EN

#define RTC_DST_EN   0x01

auto switch DST - works f. USA only

Definition at line 105 of file aifregs.h.

◆ RTC_FREQ_SELECT

#define RTC_FREQ_SELECT   RTC_REG_A

Definition at line 69 of file aifregs.h.

◆ RTC_INTR_FLAGS

#define RTC_INTR_FLAGS   RTC_REG_C

Definition at line 109 of file aifregs.h.

◆ RTC_IRQF

#define RTC_IRQF   0x80

any of the following 3 is active

Definition at line 112 of file aifregs.h.

◆ RTC_PF

#define RTC_PF   0x40

Definition at line 113 of file aifregs.h.

◆ RTC_PIE

#define RTC_PIE   0x40

periodic interrupt enable

Definition at line 93 of file aifregs.h.

◆ RTC_RATE_SELECT

#define RTC_RATE_SELECT   0x0F

Periodic intr. / Square wave rate select. 0=none, 1=32.8kHz,... 15=2Hz

Definition at line 86 of file aifregs.h.

◆ RTC_REF_CLCK_1MHZ

#define RTC_REF_CLCK_1MHZ   0x10

Definition at line 80 of file aifregs.h.

◆ RTC_REF_CLCK_32KHZ

#define RTC_REF_CLCK_32KHZ   0x20

Definition at line 81 of file aifregs.h.

◆ RTC_REF_CLCK_4MHZ

#define RTC_REF_CLCK_4MHZ   0x00

divider control: refclock values 4.194 / 1.049 MHz / 32.768 kHz

Definition at line 79 of file aifregs.h.

◆ RTC_SET

#define RTC_SET   0x80

disable updates for clock setting

Definition at line 91 of file aifregs.h.

◆ RTC_SQWE

#define RTC_SQWE   0x08

enable square-wave output

Definition at line 99 of file aifregs.h.

◆ RTC_UF

#define RTC_UF   0x10

Definition at line 115 of file aifregs.h.

◆ RTC_UIE

#define RTC_UIE   0x10

update-finished interrupt enable

Definition at line 97 of file aifregs.h.

◆ RTC_UIP

#define RTC_UIP   0x80

update-in-progress - set to "1" 244 microsecs before RTC goes off the bus, reset after update (may take 1.984ms @ 32768Hz RefClock) is complete, totalling to a max high interval of 2.228 ms.

Definition at line 76 of file aifregs.h.

◆ RTC_VALID

#define RTC_VALID   RTC_REG_D

Definition at line 118 of file aifregs.h.

◆ RTC_VRT

#define RTC_VRT   0x80

valid RAM and time

Definition at line 120 of file aifregs.h.

◆ USE_AIF_REGS

#define USE_AIF_REGS
Value:
volatile u16 *aif_regs = \
(volatile u16 *)AIF_REGBASE
#define AIF_REGBASE
Definition: aifregs.h:11
unsigned short u16
Definition: tamtypes.h:24

Definition at line 13 of file aifregs.h.

◆ USE_AIF_RTC_REGS

#define USE_AIF_RTC_REGS
Value:
volatile u16 *aif_rtc_regs = \
(&aif_regs[AIF_RTC])
@ AIF_RTC
Definition: aifregs.h:27

Definition at line 46 of file aifregs.h.

Enumeration Type Documentation

◆ AIF_INUM

enum AIF_INUM
Enumerator
AIF_INUM_ATA0 
AIF_INUM_RTC 
AIF_INUM_PCMCIA 
AIF_INUM_COUNT 

Definition at line 33 of file aifregs.h.

33  {
34  AIF_INUM_ATA0 = 0,
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 };
@ 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

enum AIF_REGS
Enumerator
AIF_IDENT 
AIF_REVISION 
AIF_INTSR 
AIF_INTEN 
AIF_TIMCFG 
AIF_COUNT_L 
AIF_COUNT_H 
AIF_ATA_TCFG 
AIF_ATA 
AIF_ATACTL 
AIF_RTC 

Definition at line 16 of file aifregs.h.

16  {
17  AIF_IDENT = 0x00,
19  AIF_INTSR,
20  AIF_INTEN,
21  AIF_TIMCFG,
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 };
@ 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_ATACTL
Definition: aifregs.h:26

◆ RTC_REGS

enum RTC_REGS
Enumerator
RTC_SECONDS 
RTC_SECONDS_ALARM 
RTC_MINUTES 
RTC_MINUTES_ALARM 
RTC_HOURS 
RTC_HOURS_ALARM 
RTC_DAY_OF_WEEK 
RTC_DAY_OF_MONTH 
RTC_MONTH 
RTC_YEAR 
RTC_REG_A 
RTC_REG_B 
RTC_REG_C 
RTC_REG_D 

Definition at line 49 of file aifregs.h.

49  {
50  RTC_SECONDS = 0x00,
54  RTC_HOURS,
58  RTC_MONTH,
59  RTC_YEAR,
60  RTC_REG_A,
61  RTC_REG_B,
62  RTC_REG_C,
63  RTC_REG_D
64 };
@ 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