move generic mmio functions to header file
This commit is contained in:
parent
062d443863
commit
44aa4e25a9
|
@ -12,7 +12,7 @@ dumps: $(addsuffix .dump,$(PROGRAMS))
|
|||
%.o: %.S
|
||||
$(GCC) $(CFLAGS) -D__ASSEMBLY__=1 -c $< -o $@
|
||||
|
||||
%.o: %.c
|
||||
%.o: %.c mmio.h
|
||||
$(GCC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
%.riscv: %.o crt.o syscalls.o
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
#ifndef __MMIO_H__
|
||||
#define __MMIO_H__
|
||||
|
||||
static inline void write_reg(unsigned long addr, unsigned int data)
|
||||
{
|
||||
volatile unsigned int *ptr = (volatile unsigned int *) addr;
|
||||
*ptr = data;
|
||||
}
|
||||
|
||||
static inline unsigned long read_reg(unsigned long addr)
|
||||
{
|
||||
volatile unsigned int *ptr = (volatile unsigned int *) addr;
|
||||
return *ptr;
|
||||
}
|
||||
|
||||
#endif
|
12
tests/pwm.c
12
tests/pwm.c
|
@ -2,17 +2,7 @@
|
|||
#define PWM_DUTY 0x2004
|
||||
#define PWM_ENABLE 0x2008
|
||||
|
||||
static inline void write_reg(unsigned long addr, unsigned int data)
|
||||
{
|
||||
volatile unsigned int *ptr = (volatile unsigned int *) addr;
|
||||
*ptr = data;
|
||||
}
|
||||
|
||||
static inline unsigned long read_reg(unsigned long addr)
|
||||
{
|
||||
volatile unsigned int *ptr = (volatile unsigned int *) addr;
|
||||
return *ptr;
|
||||
}
|
||||
#include "mmio.h"
|
||||
|
||||
int main(void)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue