00001 00038 #include <clk/sys.h> 00039 #include <chip/memory-map.h> 00040 #include <interrupt.h> 00041 00054 void sysclk_enable_module(uint8_t port, uint8_t id) 00055 { 00056 irqflags_t iflags; 00057 uint8_t mask; 00058 00059 iflags = cpu_irq_save(); 00060 mask = mmio_read8((void *)(PR_BASE + port)); 00061 mask &= ~id; 00062 mmio_write8((void *)(PR_BASE + port), mask); 00063 cpu_irq_restore(iflags); 00064 } 00065 00073 void sysclk_disable_module(uint8_t port, uint8_t id) 00074 { 00075 irqflags_t iflags; 00076 uint8_t mask; 00077 00078 iflags = cpu_irq_save(); 00079 mask = mmio_read8((void *)(PR_BASE + port)); 00080 mask |= id; 00081 mmio_write8((void *)(PR_BASE + port), mask); 00082 cpu_irq_restore(iflags); 00083 } 00084
1.6.3