projects
/
my-code
/
arm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
bullshit commit, sync for travel (to zn00H!) :)
[my-code/arm.git]
/
betty
/
interrupts.c
diff --git
a/betty/interrupts.c
b/betty/interrupts.c
index
df99354
..
7d319db
100644
(file)
--- a/
betty/interrupts.c
+++ b/
betty/interrupts.c
@@
-158,11
+158,13
@@
void interrupt_tc_config(u8 tcnum,u8 mode,u8 cap,u32 psv) {
if(tcnum==0) {
T0TCR=0x03;
if(tcnum==0) {
T0TCR=0x03;
+ T0TC=0;
T0CTCR=mode|(cap<<2);
T0PR=psv;
}
else {
T1TCR=0x03;
T0CTCR=mode|(cap<<2);
T0PR=psv;
}
else {
T1TCR=0x03;
+ T1TC=0;
T1CTCR=mode|(cap<<2);
T1PR=psv;
}
T1CTCR=mode|(cap<<2);
T1PR=psv;
}
@@
-180,14
+182,14
@@
void interrupt_tc_match_config(u8 tcnum,u8 mnum,u32 val,u8 mode) {
if(tcnum==0) {
T0MCR=(T0MCR&0x0fff)|(mode<<(3*mnum));
if(tcnum==0) {
T0MCR=(T0MCR&0x0fff)|(mode<<(3*mnum));
- mr
ddr=&T0MR0
+ mr
addr=(u32 *)&T0MR0;
}
else {
T1MCR=(T1MCR&0x0fff)|(mode<<(3*mnum));
}
else {
T1MCR=(T1MCR&0x0fff)|(mode<<(3*mnum));
- mr
ddr=&T1MR0
+ mr
addr=(u32 *)&T1MR0;
}
}
-
mraddr[mnum]
=val;
+
*((volatile u32 *)(mraddr+mnum))
=val;
}
void interrupt_tc_capt_config(u8 tcnum,u8 cnum,u8 mode) {
}
void interrupt_tc_capt_config(u8 tcnum,u8 cnum,u8 mode) {
@@
-209,40
+211,27
@@
void interrupt_tc_ir_set(u8 tcnum,u8 tcmc) {
if(tcnum>1)
return;
if(tcnum>1)
return;
- if(tcnum==0)
{
+ if(tcnum==0)
T0IR=tcmc;
T0IR=tcmc;
- T0TCR=0x01;
- }
- else {
+ else
T1IR=tcmc;
T1IR=tcmc;
- T1TCR=0x01;
- }
-}
-
-// pwm interrupts
-void interrupt_pwm_set_rate(u32 rate) {
-
- PWMMR0=rate;
}
}
-void interrupt_pwm_match_config(u8 mnum,u8 op,u8 mode,u32 val1,u32 val2) {
-
- u32 *addr=&PWMR0;
-
- *((volatile u32 *)(addr+mnum))=mval;
- PWMMCR=(PWMMCR&0x1fffff)|(mode<<(op*3));
-}
+void interrupt_tc_enable(u8 tcnum) {
-void interrupt_pwm_enable(u8 mode,u32 ps_val) {
+ if(tcnum>1)
+ return;
- PWMPR=ps_val;
- PWMTCR=0x0b;
+ if(tcnum==0)
+ T0TCR=0x01;
+ else
+ T1TCR=0x01;
}
}
+// pwm interrupts
void interrupt_pwm_ir_set(u8 pwm_channel) {
PWMIR=(pwm_channel&0x0f)|((pwm_channel&0x70)<<4);
void interrupt_pwm_ir_set(u8 pwm_channel) {
PWMIR=(pwm_channel&0x0f)|((pwm_channel&0x70)<<4);
- PWMTCR=0x09;
}
/*
}
/*