Files
diplomarbeit/Tester/SW/Eclipse/lib/Drivers/ethernet/board.h
T
Matthias 6cc948eef8 Moved remotely
git-svn-id: file:///srv/dev-disk-by-uuid-17e88007-4d0c-45e0-8757-cacfcc458630/repositories/svn/Diplomarbeit@113 9fe90eed-be63-e94b-8204-d34ff4c2ff93
2009-01-12 08:38:14 +00:00

294 lines
8.8 KiB
C

/***************************************************************************
**
** This file defines the board specific definition
**
** Used with ARM IAR C/C++ Compiler and Assembler.
**
** (c) Copyright IAR Systems 2005
**
** $Revision: 1.4 $
**
***************************************************************************/
#include "arm_comm.h"
#ifndef __BOARD_H
#define __BOARD_H
#define I_RC_OSC_FREQ (4000000)
#define MAIN_OSC_FREQ (12000000)
#define RTC_OSC_FREQ (32768UL)
#if defined(IAR_LPC_2378_SK)
// USB Link LED
#define USB_LINK_LED_MASK (1UL<<13)
#define USB_LINK_LED_DIR IO0DIR
#define USB_LINK_LED_FDIR FIO0DIR
#define USB_LINK_LED_SET IO0SET
#define USB_LINK_LED_FSET FIO0SET
#define USB_LINK_LED_CLR IO0CLR
#define USB_LINK_LED_FCLR FIO0CLR
#define USB_LINK_LED_IO IO0PIN
#define USB_LINK_LED_FIO FIO0PIN
// LCD Backlight
#define LCD_BL_MASK (1UL<<26)
#define LCD_BL_DIR IO1DIR
#define LCD_BL_FDIR FIO1DIR
#define LCD_BL_SET IO1SET
#define LCD_BL_FSET FIO1SET
#define LCD_BL_CLR IO1CLR
#define LCD_BL_FCLR FIO1CLR
#define LCD_BL_IO IO1PIN
#define LCD_BL_FIO FIO1PIN
// LCD Reset
#define LCD_RST_MASK (1UL<<25)
#define LCD_RST_FDIR FIO3DIR
#define LCD_RST_FSET FIO3SET
#define LCD_RST_FCLR FIO3CLR
#define LCD_RST_FIO FIO3PIN
// LCD CS
#define LCD_CS_MASK (1UL<<21)
#define LCD_CS_DIR IO1DIR
#define LCD_CS_FDIR FIO1DIR
#define LCD_CS_SET IO1SET
#define LCD_CS_FSET FIO1SET
#define LCD_CS_CLR IO1CLR
#define LCD_CS_FCLR FIO1CLR
#define LCD_CS_IO IO1PIN
#define LCD_CS_FIO FIO1PIN
// Buttons
#define B1_MASK (1UL<<29)
#define B1_DIR IO0DIR
#define B1_FDIR FIO0DIR
#define B1_IO IO0PIN
#define B1_FIO FIO0PIN
#define B2_MASK (1UL<<18)
#define B2_DIR IO0DIR
#define B2_FDIR FIO0DIR
#define B2_IO IO0PIN
#define B2_FIO FIO0PIN
// Joystick
#define JS_RIGHT_MASK (1UL << 22)
#define JS_LEFT_MASK (1UL << 27)
#define JS_UP_MASK (1UL << 18)
#define JS_DOWN_MASK (1UL << 19)
#define JS_CENTER_MASK (1UL << 25)
#define JS_DIR IO1DIR
#define JS_FDIR FIO1DIR
#define JS_IO IO1PIN
#define JS_FIO FIO1PIN
// MMC/SD card switches
// Card present
#define MMC_CP_MASK (1UL << 17)
#define MMC_CP_DIR IO0DIR
#define MMC_CP_FDIR FIO0DIR
#define MMC_CP_IO IO0PIN
#define MMC_CP_FIO FIO0PIN
#define MMC_CP_MODE PINMODE1_bit.P0_17
// Card write protect
#define MMC_WP_MASK (1UL << 29)
#define MMC_WP_DIR IO1DIR
#define MMC_WP_FDIR FIO1DIR
#define MMC_WP_IO IO1PIN
#define MMC_WP_FIO FIO1PIN
#define MMC_WP_MODE PINMODE3_bit.P1_29
//MMA
#define X_CHANNEL 1
#define X_CHANNEL_SEL PINSEL1_bit.P0_24
#define Y_CHANNEL 0
#define Y_CHANNEL_SEL PINSEL1_bit.P0_23
#define Z_CHANNEL 6
#define Z_CHANNEL_SEL PINSEL0_bit.P0_12
// Analog trim
#define ANALOG_TRIM_CHANNEL 5
#define ANALOG_TRIM_CHANNEL_SEL PINSEL3_bit.P1_31
// MIC Input
#define MIC_IN_CHANNEL 3
#define MIC_IN_CHANNEL_SEL PINMODE1_bit.P0_25
// Check for board revision.
// The board with PHY routing mistake have 4.7k resistor on port P0.21 and
// internal pull-up can't set logical 1.
// To fix routing mistake U4's pin 9 must be swaped with pin 22 and add pull
// down 1k resistor on a pin 9.
#define BOARD_BUG_CTRL PINMODE1_bit.P0_21
#define BOARD_BUG_FDATA FIO0PIN_bit.P0_21
#define BOARD_BUG_DATA IO0PIN_bit.P0_21
#elif defined(IAR_LPC_P2378_SK)
// USB Link LED
#define USB_LINK_LED_MASK (1UL<<13)
#define USB_LINK_LED_DIR IO0DIR
#define USB_LINK_LED_FDIR FIO0DIR
#define USB_LINK_LED_SET IO0SET
#define USB_LINK_LED_FSET FIO0SET
#define USB_LINK_LED_CLR IO0CLR
#define USB_LINK_LED_FCLR FIO0CLR
#define USB_LINK_LED_IO IO0PIN
#define USB_LINK_LED_FIO FIO0PIN
// Status LED
#define STATUS_LED_MASK (1UL<<19)
#define STATUS_LED_DIR IO1DIR
#define STATUS_LED_FDIR FIO1DIR
#define STATUS_LED_SET IO1SET
#define STATUS_LED_FSET FIO1SET
#define STATUS_LED_CLR IO1CLR
#define STATUS_LED_FCLR FIO1CLR
#define STATUS_LED_IO IO1PIN
#define STATUS_LED_FIO FIO1PIN
// Buttons
#define B1_MASK (1UL<<30)
#define B1_DIR IO0DIR
#define B1_FDIR FIO0DIR
#define B1_IO IO0PIN
#define B1_FIO FIO0PIN
#define B2_MASK (1UL<<6)
#define B2_DIR IO0DIR
#define B2_FDIR FIO0DIR
#define B2_IO IO0PIN
#define B2_FIO FIO0PIN
// MMC/SD card switches
// Card present
#define MMC_CP_MASK (1UL << 29)
#define MMC_CP_DIR IO0DIR
#define MMC_CP_FDIR FIO0DIR
#define MMC_CP_IO IO0PIN
#define MMC_CP_FIO FIO0PIN
#define MMC_CP_MODE PINMODE1_bit.P0_29
// Card write protect
#define MMC_WP_MASK (1UL << 28)
#define MMC_WP_DIR IO1DIR
#define MMC_WP_FDIR FIO1DIR
#define MMC_WP_IO IO1PIN
#define MMC_WP_FIO FIO1PIN
#define MMC_WP_MODE PINMODE3_bit.P1_28
// Check for board revision.
// The board with PHY routing mistake have 4.7k resistor on port P0.21 and
// internal pull-up can't set logical 1.
// To fix routing mistake U4's pin 9 must be swaped with pin 22 and add pull
// down 1k resistor on a pin 9.
#define BOARD_BUG_CTRL PINMODE1_bit.P0_21
#define BOARD_BUG_FDATA FIO0PIN_bit.P0_21
#define BOARD_BUG_DATA IO0PIN_bit.P0_21
#else
//#error define type of the board
#endif
// PCLK offset
#define WDT_PCLK_OFFSET 0
#define TIMER0_PCLK_OFFSET 2
#define TIMER1_PCLK_OFFSET 4
#define UART0_PCLK_OFFSET 6
#define UART1_PCLK_OFFSET 8
#define PWM0_PCLK_OFFSET 10
#define PWM1_PCLK_OFFSET 12
#define I2C0_PCLK_OFFSET 14
#define SPI_PCLK_OFFSET 16
#define RTC_PCLK_OFFSET 18
#define SSP1_PCLK_OFFSET 20
#define DAC_PCLK_OFFSET 22
#define ADC_PCLK_OFFSET 24
#define CAN1_PCLK_OFFSET 26
#define CAN2_PCLK_OFFSET 28
#define ACF_PCLK_OFFSET 30
#define BAT_RAM_PCLK_OFFSET 32
#define GPIO_PCLK_OFFSET 34
#define PCB_PCLK_OFFSET 36
#define I2C1_PCLK_OFFSET 38
//#define 40
#define SSP0_PCLK_OFFSET 42
#define TIMER2_PCLK_OFFSET 44
#define TIMER3_PCLK_OFFSET 46
#define UART2_PCLK_OFFSET 48
#define UART3_PCLK_OFFSET 50
#define I2C2_PCLK_OFFSET 52
#define I2S_PCLK_OFFSET 54
#define MCI_PCLK_OFFSET 56
//#define 58
#define PCLK_PCLK_OFFSET 60
//#define 62
#define IRQ_FLAG 0x80
#define FIQ_FLAG 0x40
/*************************************************************************
* Function Name: restore_IRQ
* Parameters: unsigned long IFlag
* Return: void
* Description: Restore I flag state
*
*************************************************************************/
//inline
//void restore_IRQ(unsigned long IFlag)
//{
//unsigned long tmp;
// tmp=__get_CPSR();
// __set_CPSR(tmp & (IFlag | ~IRQ_FLAG));
//}
/*************************************************************************
* Function Name: disable_IRQ
* Parameters:
* Return: unsigned long
* Description: Disable IRQ and return previous state state of flags I
*
*************************************************************************/
//inline
//unsigned long disable_IRQ(void)
//{
//unsigned long tmp;
// tmp=__get_CPSR();
// __set_CPSR(tmp | IRQ_FLAG);
// return tmp & IRQ_FLAG;
//}
/*************************************************************************
* Function Name: restore_interrupts
* Parameters: unsigned long IFlag
* Return: void
* Description: Restore F,I flag state
*
*************************************************************************/
//inline
//void restore_interrupts(unsigned long IFlag)
//{
//unsigned long tmp;
// tmp=__get_CPSR();
// __set_CPSR(tmp & (IFlag | ~(IRQ_FLAG | FIQ_FLAG)));
//}
/*************************************************************************
* Function Name: disable_interrupts
* Parameters:
* Return: unsigned long
* Description: Disable interrupts and return previous state state of flags I
*
*************************************************************************/
//inline
//unsigned long disable_interrupts(void)
//{
//unsigned long tmp;
// tmp=__get_CPSR();
// __set_CPSR(tmp | IRQ_FLAG | FIQ_FLAG);
// return tmp;
//}
#endif /* __BOARD_H */