Files
failnix/targets/wasm-tacle/parallel/DEBIE/code/arch/arm7-lpc2138-mam/cpulib.h

52 lines
1.6 KiB
C

/*
cpulib: Routines for CPU initialization and configuration.
Target : iSYSTEM LPC2138-M minitarget board (ARM7TDMI)
Source : iSYSTEM iF-DEV-LPC kit
Changes : Tidorum Ltd (N. Holsti)
$Id: cpulib.h,v 1.1 2008/04/08 09:44:55 niklas Exp $
*/
#ifndef CPULIB_H
#define CPULIB_H
#define REG(x) (*((volatile unsigned int *)(x)))
#define IO0DIR REG(0xE0028008) // I/O direction control
#define IO0CLR REG(0xE002800C) // output clear
#define IO0SET REG(0xE0028004) // output set
#define PLLCFG REG(0xE01FC084) // PLL Config Reg.
#define PLLCON REG(0xE01FC080) // PLL Control Reg.
#define PLLFEED REG(0xE01FC08C) // PLL-Feed 0xAA, 0x55
#define PLLSTAT REG(0xE01FC088) // PLL-Status register
#define MAMCR REG(0xE01FC000) // MAM Control register
#define MAMTIM REG(0xE01FC004) // MAM Timing register
#define IO_LED 0x00000001
// The LED is connected to pin P0.0.
void cpulib_init_cpu ( void );
// Initializes the processor (in addition to crt0 actions).
// Defines the LED control pin (P0.0) as output and emits a "1"
// to turn off the LED.
void cpulib_go_fast ( unsigned int mode );
// Sets the PLL to run the processor at 60 MHz.
// Does not alter the MAM mode (because of the LPC2138 errata).
void cpulib_set_led ( int state );
// Turns the LED on if state != 0, off if state = 0.
void cpulib_flash_led ( void );
// Turns the LED on for a brief time, then off.
// Useful only if the LED is initially off.
void cpulib_blink_led ( void );
// Turns the LED off for short time, then on
// for a shorter time, then off again.
#endif