bsp_dk_bcreg_3200.h
Go to the documentation of this file.00001
00018 #ifndef __BSP_DK_BCREG_3200_H
00019 #define __BSP_DK_BCREG_3200_H
00020
00021 #include <stdint.h>
00022
00023
00028
00033 #ifdef __cplusplus
00034 extern "C" {
00035 #endif
00036
00037
00041 #define BC_FLASH_BASE 0x80000000
00042 #define BC_SRAM_BASE 0x84000000
00043 #define BC_SSD2119_BASE 0x88000000
00044 #define BC_REGISTER_BASE 0x8c000000
00046 #define BC_CFG ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x00))
00047 #define BC_EM ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x01))
00048 #define BC_MAGIC ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x02))
00049 #define BC_LED ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x03))
00050 #define BC_PUSHBUTTON ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x04))
00051 #define BC_DIPSWITCH ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x05))
00052 #define BC_JOYSTICK ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x06))
00053 #define BC_AEM ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x07))
00054 #define BC_DISPLAY_CTRL ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x08))
00055 #define BC_EBI_CFG ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x09))
00056 #define BC_BUS_CFG ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x0a))
00057 #define BC_PERCTRL ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x0c))
00058 #define BC_AEMSTATE ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x0d))
00059 #define BC_SPI_CFG ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x0e))
00060 #define BC_RESET ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x0f))
00061 #define BC_ADC_START ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x10))
00062 #define BC_ADC_STATUS ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x11))
00063 #define BC_ADC_DATA ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x12))
00064 #define BC_HW_VERSION ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x14))
00065 #define BC_FW_BUILDNO ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x15))
00066 #define BC_FW_VERSION ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x16))
00067 #define BC_SCRATCH_COMMON ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x17))
00068 #define BC_SCRATCH_EFM0 ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x18))
00069 #define BC_SCRATCH_EFM1 ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x19))
00070 #define BC_SCRATCH_EFM2 ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x1A))
00071 #define BC_SCRATCH_EFM3 ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x1B))
00072 #define BC_SCRATCH_BC0 ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x1C))
00073 #define BC_SCRATCH_BC1 ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x1D))
00074 #define BC_SCRATCH_BC2 ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x1E))
00075 #define BC_SCRATCH_BC3 ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x1f))
00076 #define BC_INTFLAG ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x20))
00077 #define BC_INTEN ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x21))
00079
00083 #define BC_CFG_SPI (0)
00084 #define BC_CFG_EBI (1)
00086 #define BC_EM_EM0 (0)
00087 #define BC_EM_EM1 (1)
00088 #define BC_EM_EM2 (2)
00089 #define BC_EM_EM3 (3)
00090 #define BC_EM_EM4 (4)
00092 #define BC_MAGIC_VALUE (0xef32)
00094 #define BC_PUSHBUTTON_MASK (0x000f)
00095 #define BC_PUSHBUTTON_SW1 (1 << 0)
00096 #define BC_PUSHBUTTON_SW2 (1 << 1)
00097 #define BC_PUSHBUTTON_SW3 (1 << 2)
00098 #define BC_PUSHBUTTON_SW4 (1 << 3)
00100 #define BC_DIPSWITCH_MASK (0x00ff)
00102 #define BC_JOYSTICK_MASK (0x001f)
00103 #define BC_JOYSTICK_DOWN (1 << 0)
00104 #define BC_JOYSTICK_RIGHT (1 << 1)
00105 #define BC_JOYSTICK_UP (1 << 2)
00106 #define BC_JOYSTICK_LEFT (1 << 3)
00107 #define BC_JOYSTICK_CENTER (1 << 4)
00109 #define BC_DISPCTRL_RESET (1 << 0)
00110 #define BC_DISPCTRL_POWER_ENABLE (1 << 1)
00112 #define BC_EBI_CFG_MASK (0x0003)
00113 #define BC_EBI_CFG_16X16 (0)
00114 #define BC_EBI_CFG_8X8 (1)
00115 #define BC_EBI_CFG_24X8 (2)
00117 #define BC_BUS_CFG_MASK (0x0003)
00118 #define BC_BUS_CFG_FSMC (0)
00119 #define BC_BUS_CFG_EBI (1)
00120 #define BC_BUS_CFG_SPI (2)
00122 #define BC_PERCTRL_ACCEL (1 << 0)
00123 #define BC_PERCTRL_AMBIENT (1 << 1)
00124 #define BC_PERCTRL_POTMETER (1 << 2)
00125 #define BC_PERCTRL_RS232A (1 << 3)
00126 #define BC_PERCTRL_RS232B (1 << 4)
00127 #define BC_PERCTRL_SPI (1 << 5)
00128 #define BC_PERCTRL_I2C (1 << 6)
00129 #define BC_PERCTRL_IRDA (1 << 7)
00130 #define BC_PERCTRL_ANALOG_SE (1 << 8)
00131 #define BC_PERCTRL_ANALOG_DIFF (1 << 9)
00132 #define BC_PERCTRL_AUDIO_OUT (1 << 10)
00133 #define BC_PERCTRL_AUDIO_IN (1 << 11)
00134 #define BC_PERCTRL_ACCEL_GSEL (1 << 12)
00135 #define BC_PERCTRL_ACCEL_SELFTEST (1 << 13)
00136 #define BC_PERCTRL_RS232_SHUTDOWN (1 << 14)
00137 #define BC_PERCTRL_IRDA_SHUTDOWN (1 << 15)
00139 #define BC_AEMSTATE_BC (0)
00140 #define BC_AEMSTATE_EFM (1)
00142 #define BC_SPI_CFG_FLASH (0)
00143 #define BC_SPI_CFG_MICROSD (1)
00145 #define BC_RESET_FLASH (1 << 0)
00146 #define BC_RESET_EFM (1 << 1)
00148 #define BC_ADC_START_MASK (0x00ff)
00150 #define BC_ADC_STATUS_DONE (0)
00151 #define BC_ADC_STATUS_BUSY (1)
00153 #define BC_HW_VERSION_PCB_MASK (0x07f0)
00154 #define BC_HW_VERSION_PCB_SHIFT (4)
00155 #define BC_HW_VERSION_BOARD_MASK (0x000f)
00156 #define BC_HW_VERSION_BOARD_SHIFT (0)
00158 #define BC_HW_FW_VERSION_MAJOR_MASK (0xf000)
00159 #define BC_HW_FW_VERSION_MAJOR_SHIFT (12)
00160 #define BC_HW_FW_VERSION_MINOR_MASK (0x0f00)
00161 #define BC_HW_FW_VERSION_MINOR_SHIFT (8)
00162 #define BC_HW_FW_VERSION_PATCHLEVEL_MASK (0x00ff)
00163 #define BC_HW_FW_VERSION_PATCHLEVEL_SHIFT (0)
00165 #define BC_INTEN_MASK (0x000f)
00166 #define BC_INTEN_PB (1 << 0)
00167 #define BC_INTEN_DIP (1 << 1)
00168 #define BC_INTEN_JOYSTICK (1 << 2)
00169 #define BC_INTEN_AEM (1 << 3)
00171 #define BC_INTFLAG_MASK (0x000f)
00172 #define BC_INTFLAG_PB (1 << 0)
00173 #define BC_INTFLAG_DIP (1 << 1)
00174 #define BC_INTFLAG_JOYSTICK (1 << 2)
00175 #define BC_INTFLAG_AEM (1 << 3)
00177 #ifdef __cplusplus
00178 }
00179 #endif
00180
00184 #endif