bsp_dk_bcreg_3200.h File Reference

Board Control register definitions. More...

#include <stdint.h>
Include dependency graph for bsp_dk_bcreg_3200.h:

Go to the source code of this file.

Defines

#define BC_FLASH_BASE   0x80000000
 Defines FPGA register bank for Energy Micro Development Kit (DK) board, i.e.
#define BC_SRAM_BASE   0x84000000
 SRAM base address.
#define BC_SSD2119_BASE   0x88000000
 TFT Controller base address.
#define BC_REGISTER_BASE   0x8c000000
 Board Controller registers base address.
#define BC_CFG   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x00))
 CFG.
#define BC_EM   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x01))
 EM.
#define BC_MAGIC   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x02))
 MAGIC.
#define BC_LED   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x03))
 LEDs.
#define BC_PUSHBUTTON   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x04))
 Push Buttons.
#define BC_DIPSWITCH   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x05))
 Dip switches.
#define BC_JOYSTICK   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x06))
 Joystick.
#define BC_AEM   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x07))
 AEM push button status.
#define BC_DISPLAY_CTRL   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x08))
 Display Control.
#define BC_EBI_CFG   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x09))
 EBI config.
#define BC_BUS_CFG   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x0a))
 BUS config.
#define BC_PERCTRL   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x0c))
 Peripheral Control.
#define BC_AEMSTATE   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x0d))
 AEM state of push button switch.
#define BC_SPI_CFG   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x0e))
 SPI config.
#define BC_RESET   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x0f))
 Reset.
#define BC_ADC_START   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x10))
 ADC start.
#define BC_ADC_STATUS   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x11))
 ADC status.
#define BC_ADC_DATA   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x12))
 ADC data.
#define BC_HW_VERSION   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x14))
 HW version.
#define BC_FW_BUILDNO   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x15))
 FW build number.
#define BC_FW_VERSION   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x16))
 FW version.
#define BC_SCRATCH_COMMON   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x17))
 Scratch common.
#define BC_SCRATCH_EFM0   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x18))
 Scratch EFM0.
#define BC_SCRATCH_EFM1   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x19))
 Scratch EFM1.
#define BC_SCRATCH_EFM2   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x1A))
 Scratch EFM2.
#define BC_SCRATCH_EFM3   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x1B))
 Scratch EFM3.
#define BC_SCRATCH_BC0   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x1C))
 Scratch BC0.
#define BC_SCRATCH_BC1   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x1D))
 Scratch BC1.
#define BC_SCRATCH_BC2   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x1E))
 Scratch BC2.
#define BC_SCRATCH_BC3   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x1f))
 Scratch BC3.
#define BC_INTFLAG   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x20))
 Interrupt flag.
#define BC_INTEN   ((volatile uint16_t *)(BC_REGISTER_BASE + sizeof(uint16_t) * 0x21))
 Interrupt enable.
#define BC_CFG_SPI   (0)
 Defines bit fields for board control registers.
#define BC_CFG_EBI   (1)
 EBI mode.
#define BC_EM_EM0   (0)
 Indicate EM0.
#define BC_EM_EM1   (1)
 Indicate EM1.
#define BC_EM_EM2   (2)
 Indicate EM2.
#define BC_EM_EM3   (3)
 Indicate EM3.
#define BC_EM_EM4   (4)
 Indicate EM4.
#define BC_MAGIC_VALUE   (0xef32)
 Magic.
#define BC_PUSHBUTTON_MASK   (0x000f)
 Push button mask.
#define BC_PUSHBUTTON_SW1   (1 << 0)
 Push button SW1.
#define BC_PUSHBUTTON_SW2   (1 << 1)
 Push button SW2.
#define BC_PUSHBUTTON_SW3   (1 << 2)
 Push button SW3.
#define BC_PUSHBUTTON_SW4   (1 << 3)
 Push button SW4.
#define BC_DIPSWITCH_MASK   (0x00ff)
 Dip switch mask.
#define BC_JOYSTICK_MASK   (0x001f)
 Joystick mask.
#define BC_JOYSTICK_DOWN   (1 << 0)
 Joystick down.
#define BC_JOYSTICK_RIGHT   (1 << 1)
 Joystick right.
#define BC_JOYSTICK_UP   (1 << 2)
 Joystick up.
#define BC_JOYSTICK_LEFT   (1 << 3)
 Joystick left.
#define BC_JOYSTICK_CENTER   (1 << 4)
 Joystick center button.
#define BC_DISPCTRL_RESET   (1 << 0)
 Reset.
#define BC_DISPCTRL_POWER_ENABLE   (1 << 1)
 Display Control Power Enable.
#define BC_EBI_CFG_MASK   (0x0003)
 EBI Config.
#define BC_EBI_CFG_16X16   (0)
 16x16 address/data mode
#define BC_EBI_CFG_8X8   (1)
 8x8 address/data mode
#define BC_EBI_CFG_24X8   (2)
 24x8 address/data mode
#define BC_BUS_CFG_MASK   (0x0003)
 Bus config.
#define BC_BUS_CFG_FSMC   (0)
 Kit Board Controller owns bus.
#define BC_BUS_CFG_EBI   (1)
 EBI drives bus.
#define BC_BUS_CFG_SPI   (2)
 SPI drives bus.
#define BC_PERCTRL_ACCEL   (1 << 0)
 Accelerometer enable.
#define BC_PERCTRL_AMBIENT   (1 << 1)
 Ambient light sensor enable.
#define BC_PERCTRL_POTMETER   (1 << 2)
 Potentiometer enable.
#define BC_PERCTRL_RS232A   (1 << 3)
 RS232A enable.
#define BC_PERCTRL_RS232B   (1 << 4)
 RS232B enable.
#define BC_PERCTRL_SPI   (1 << 5)
 SPI enable.
#define BC_PERCTRL_I2C   (1 << 6)
 I2C enable.
#define BC_PERCTRL_IRDA   (1 << 7)
 IRDA enable.
#define BC_PERCTRL_ANALOG_SE   (1 << 8)
 Analog SE enable.
#define BC_PERCTRL_ANALOG_DIFF   (1 << 9)
 Analog Diff enable.
#define BC_PERCTRL_AUDIO_OUT   (1 << 10)
 Audio Out enable.
#define BC_PERCTRL_AUDIO_IN   (1 << 11)
 Audio In enable.
#define BC_PERCTRL_ACCEL_GSEL   (1 << 12)
 Accel Gsel enable.
#define BC_PERCTRL_ACCEL_SELFTEST   (1 << 13)
 Accel Self test enable.
#define BC_PERCTRL_RS232_SHUTDOWN   (1 << 14)
 RS232 shutdown.
#define BC_PERCTRL_IRDA_SHUTDOWN   (1 << 15)
 IRDA shutdown.
#define BC_AEMSTATE_BC   (0)
 AEM button state, BC controls buttons.
#define BC_AEMSTATE_EFM   (1)
 AEM button state, EFM32 controls buttons.
#define BC_SPI_CFG_FLASH   (0)
 SPI Flash config.
#define BC_SPI_CFG_MICROSD   (1)
 SPI MicroSD config.
#define BC_RESET_FLASH   (1 << 0)
 Reset Flash.
#define BC_RESET_EFM   (1 << 1)
 Reset EFM.
#define BC_ADC_START_MASK   (0x00ff)
 ADC Start mask.
#define BC_ADC_STATUS_DONE   (0)
 ADC Status Done.
#define BC_ADC_STATUS_BUSY   (1)
 ADC Status Busy.
#define BC_HW_VERSION_PCB_MASK   (0x07f0)
 PCB Version mask.
#define BC_HW_VERSION_PCB_SHIFT   (4)
 PCB Version shift.
#define BC_HW_VERSION_BOARD_MASK   (0x000f)
 Board version mask.
#define BC_HW_VERSION_BOARD_SHIFT   (0)
 Board version shift.
#define BC_HW_FW_VERSION_MAJOR_MASK   (0xf000)
 FW Version major mask.
#define BC_HW_FW_VERSION_MAJOR_SHIFT   (12)
 FW version major shift.
#define BC_HW_FW_VERSION_MINOR_MASK   (0x0f00)
 FW version minor mask.
#define BC_HW_FW_VERSION_MINOR_SHIFT   (8)
 FW version minor shift.
#define BC_HW_FW_VERSION_PATCHLEVEL_MASK   (0x00ff)
 FW Patchlevel mask.
#define BC_HW_FW_VERSION_PATCHLEVEL_SHIFT   (0)
 FW Patchlevel shift.
#define BC_INTEN_MASK   (0x000f)
 Interrupt enable mask.
#define BC_INTEN_PB   (1 << 0)
 Push Button Interrupt enable.
#define BC_INTEN_DIP   (1 << 1)
 DIP Switch Interrupt enable.
#define BC_INTEN_JOYSTICK   (1 << 2)
 Joystick Interrupt enable.
#define BC_INTEN_AEM   (1 << 3)
 AEM Interrupt enable.
#define BC_INTFLAG_MASK   (0x000f)
 Interrupt flag mask.
#define BC_INTFLAG_PB   (1 << 0)
 Push Button interrupt triggered.
#define BC_INTFLAG_DIP   (1 << 1)
 DIP interrupt triggered.
#define BC_INTFLAG_JOYSTICK   (1 << 2)
 Joystick interrupt triggered.
#define BC_INTFLAG_AEM   (1 << 3)
 AEM interrupt triggered.

Detailed Description

Board Control register definitions.

Author:
Energy Micro AS
Version:
3.20.0

License

(C) Copyright 2012 Energy Micro AS, http://www.energymicro.com

Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. 4. The source and compiled code may only be used on Energy Micro "EFM32" microcontrollers and "EFR4" radios.

DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Energy Micro AS has no obligation to support this Software. Energy Micro AS is providing the Software "AS IS", with no express or implied warranties of any kind, including, but not limited to, any implied warranties of merchantability or fitness for any particular purpose or warranties against infringement of any proprietary rights of a third party.

Energy Micro AS will not be liable for any consequential, incidental, or special damages, or any other relief, or for any claim by any third party, arising from your use of this Software.

Definition in file bsp_dk_bcreg_3200.h.