Mouse code for the MacroRat

Dependencies:   ITG3200 QEI

Revision:
18:6a4db94011d3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-dev/targets/TARGET_ONSEMI/TARGET_NCS36510/memory_map.h	Sun May 14 23:18:57 2017 +0000
@@ -0,0 +1,290 @@
+/**
+******************************************************************************
+* @file memory_map.h
+* @brief Defines the silicon memory map.  All peripheral devices shall be mapped in structures.
+* @internal
+* @author ON Semiconductor
+* $Rev: 3525 $
+* $Date: 2015-07-20 15:24:25 +0530 (Mon, 20 Jul 2015) $
+******************************************************************************
+ * Copyright 2016 Semiconductor Components Industries LLC (d/b/a “ON Semiconductor”).
+ * All rights reserved.  This software and/or documentation is licensed by ON Semiconductor
+ * under limited terms and conditions.  The terms and conditions pertaining to the software
+ * and/or documentation are available at http://www.onsemi.com/site/pdf/ONSEMI_T&C.pdf
+ * (“ON Semiconductor Standard Terms and Conditions of Sale, Section 8 Software”) and
+ * if applicable the software license agreement.  Do not use this software and/or
+ * documentation unless you have carefully read and you agree to the limited terms and
+ * conditions.  By using this software and/or documentation, you agree to the limited
+ * terms and conditions.
+*
+* THIS SOFTWARE IS PROVIDED "AS IS".  NO WARRANTIES, WHETHER EXPRESS, IMPLIED
+* OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
+* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
+* ON SEMICONDUCTOR SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL,
+* INCIDENTAL, OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
+* @endinternal
+*
+* @ingroup bsp
+@verbatim
+         +-----------------+
+         |                 |             ,_________________________
+         | Private Per.    |             |PMUREG         0x4001D000|
+0xE0000000 +-----------------+             |PADREG         0x4001C000|
+         |                 |_____________|CLOCKREG       0x4001B000|
+         |  PERIPHERALS    |             |RFANAREG       0x40019000|
+         +-----------------+             |RESETREG       0x40018000|
+         |                 |             |FLASHREG       0x40017000|
+0x3FFF8000 |SRAM A     32K   |             |AESREG         0x40016000|
+         +-----------------+             |ADCREG         0x40015000|
+         |                 |             |MACHWREG       0x40014000|
+         |SRAM B     16K   |             |RANDREG        0x40011000|
+0x3FFF4000 +-----------------+             |CROSSBREG      0x40010000|
+         |                 |             |RTCREG         0x4000F000|
+0x24000100 |SRAM DMA    7B   |             |GPIOREG        0x4000C000|
+         +-----------------+             |PWMREG         0x4000B000|
+0x24000000 |SRAM MAC  256B   |             |WDTREG         0x4000A000|
+         +-----------------+             |UARTREG        0x40008000|
+         |          320K   |             |I2CREG         0x40007000|
+0x00102000 |FLASHB           |             |SPIREG         0x40006000|
+0x00100000 |FLASHB Inf Block |             |UARTREG        0x40005000|
+         +-----------------+             |TIM2REG        0x40002000|
+         |          320K   |             |TIM1REG        0x40001000|
+0x00002000 |FLASHA           |             |TIM0REG        0x40000000|
+0x00000000 |FLASHA Inf Block |             '`''''''''''''''''''''''''
+         '`'''''''''''''''''
+
+@endverbatim
+*/
+
+#ifndef _MEMORY_MAP_H_
+#define _MEMORY_MAP_H_
+
+/*************************************************************************************************
+*                                                                                                *
+*  Header files                                                                                  *
+*                                                                                                *
+*************************************************************************************************/
+
+#include <stdint.h>
+
+#include "architecture.h"
+
+// Register maps of HW modules controlled with device drivers
+#include "adc_sar_map.h"
+#include "aes_map.h"
+#include "flash_map.h"
+#include "gpio_map.h"
+#include "i2c_ipc7208_map.h"
+#include "pwm_map.h"
+#include "rtc_map.h"
+#include "spi_ipc7207_map.h"
+#include "timer_map.h"
+#include "uart_16c550_map.h"
+#include "wdt_map.h"
+
+// Register maps of HW modules controlled with specific functions
+#include "clock_map.h"
+#include "crossbar_map.h"
+#include "dma_map.h"
+#include "macHw_map.h"
+#include "pad_map.h"
+#include "pmu_map.h"
+#include "random_map.h"
+#include "reset_map.h"
+#include "rfAna_map.h"
+#include "test_map.h"
+
+// Trim structure map
+#include "trim_map.h"
+
+/*************************************************************************************************
+*                                                                                                *
+*  Symbolic Constants                                                                            *
+*                                                                                                *
+*************************************************************************************************/
+
+/** Trim structure mapping
+ *
+ */
+#define TRIMREG_BASE        ((uint32_t)0x1FA0)
+#define TRIMREG             ((TrimReg_t *)TRIMREG_BASE)
+
+/** User trim structure mapping
+ *
+ */
+#define USRETRIMREG_BASE     ((uint32_t)0x2800)
+#define USERTRIMREG          ((UserTrimReg_t *)USRETRIMREG_BASE)
+
+/** DMA HW Registers Offset */
+#define DMAREG_BASE         ((uint32_t)0x24000400)
+/** DMA HW Structure Overlay */
+#define DMAREG              ((DmaReg_pt)DMAREG_BASE)
+
+/** MAC MATCH HW Registers Offset */
+#define MACMATCHREG_BASE    ((uint32_t)0x24000100)
+/** MAC MATCH HW Structure Overlay */
+#define MACMATCHREG         ((volatile uint8_t *)MACMATCHREG_BASE)
+
+/** MAC RX HW Registers Offset */
+#define MACRXREG_BASE       ((uint32_t)0x24000080)
+/** MAC RX HW Structure Overlay */
+#define MACRXREG            ((volatile uint8_t *)MACRXREG_BASE)
+
+/** MAC TX HW Registers Offset */
+#define MACTXREG_BASE       ((uint32_t)0x24000000)
+/** MAC TX HW Structure Overlay */
+#define MACTXREG            ((volatile uint8_t *)MACTXREG_BASE)
+
+/** TEST Interface for flash HW Registers Offset */
+#define TESTNVMREG_BASE     ((uint32_t)0x4001F140)
+/** TEST Interface for flash HW Structure Overlay */
+#define TESTNVMREG          ((TestNvmReg_pt)TESTNVMREG_BASE)
+
+/** Test Interface for digital HW Registers Offset */
+#define TESTDIGREG_BASE     ((uint32_t)0x4001F100)
+/** Test Interface for digital HW Structure Overlay */
+#define TESTDIGREG          ((TestDigReg_pt)TESTDIGREG_BASE)
+
+/** Test Interface HW Registers Offset */
+#define TESTREG_BASE        ((uint32_t)0x4001F000)
+/** Test Interface HW Structure Overlay */
+#define TESTREG             ((TestReg_pt)TESTREG_BASE)
+
+/** Device option HW Registers Offset */
+#define DEVOPTREG_BASE      ((uint32_t)0x4001E000)
+/** MAC TX HW Structure Overlay */
+#define DEVOPTREG           ((volatile uint32_t *)DEVOPTREG_BASE)
+
+/** PMU HW Registers Offset */
+#define PMUREG_BASE         ((uint32_t)0x4001D000)
+/** PMU HW Structure Overlay */
+#define PMUREG              ((PmuReg_pt)PMUREG_BASE)
+
+/** PAD Control HW Registers Offset */
+#define PADREG_BASE         ((uint32_t)0x4001C000)
+/** PAD Control HW Structure Overlay */
+#define PADREG              ((PadReg_pt)PADREG_BASE)
+
+/** Clock Control HW Registers Offset */
+#define CLOCKREG_BASE       ((uint32_t)0x4001B000)
+/** Clock Control HW Structure Overlay */
+#define CLOCKREG            ((ClockReg_pt)CLOCKREG_BASE)
+
+/** Analogue Trim HW Registers Offset */
+#define RFANATRIMREG_BASE   ((uint32_t)0x40019080)
+/** Analogue Trim HW Structure Overlay */
+#define RFANATRIMREG        ((RfAnaTrimReg_pt)RFANATRIMREG_BASE)
+
+/** Analogue RF HW Registers Offset */
+#define RFANAREG_BASE       ((uint32_t)0x40019000)
+/** Analogue RF HW Structure Overlay */
+#define RFANAREG            ((RfAnaReg_pt)RFANAREG_BASE)
+
+/** Reset Cause HW Registers Offset */
+#define RESETREG_BASE       ((uint32_t)0x40018000)
+/** Reset Cause HW Structure Overlay */
+#define RESETREG            ((ResetReg_pt)RESETREG_BASE)
+
+/** FLASH Control HW Registers Offset */
+#define FLASHREG_BASE       ((uint32_t)0x40017000)
+/** FLASH Control HW Structure Overlay */
+#define FLASHREG            ((FlashReg_pt)FLASHREG_BASE)
+
+/** AES Encryption HW Registers Offset */
+#define AESREG_BASE         ((uint32_t)0x40016000)
+/** AES Encryption HW Structure Overlay */
+#define AESREG              ((AesReg_pt)AESREG_BASE)
+
+/** SAR ADC HW Registers Offset */
+#define ADCREG_BASE         ((uint32_t)0x40015000)
+/** SAR ADC HW Structure Overlay */
+#define ADCREG              ((AdcReg_pt)ADCREG_BASE)
+
+/** Demodulator HW Registers Offset */
+#define DMDREG_BASE         ((uint32_t)0x40014100)
+/** Demodulator HW Structure Overlay */
+#define DMDREG              ((DmdReg_pt)DMDREG_BASE)
+
+/** MAC Control HW Registers Offset */
+#define MACHWREG_BASE       ((uint32_t)0x40014000)
+/** MAC Control HW Structure Overlay */
+#define MACHWREG            ((MacHwReg_pt)MACHWREG_BASE)
+
+/** Random Generator HW Registers Offset */
+#define RANDREG_BASE        ((uint32_t)0x40011000)
+/** Random Generator HW Structure Overlay */
+#define RANDREG             ((RandReg_pt)RANDREG_BASE)
+
+/** Cross Bar HW Registers Offset */
+#define CROSSBREG_BASE      ((uint32_t)0x40010000)
+/** Cross Bar HW Structure Overlay */
+#define CROSSBREG           ((CrossbReg_pt)CROSSBREG_BASE)
+
+/** Real Time Clock HW Registers Offset */
+#define RTCREG_BASE         ((uint32_t)0x4000F000)
+/** Real Time Clock HW Structure Overlay */
+#define RTCREG              ((RtcReg_pt)RTCREG_BASE)
+
+/** GPIO HW Registers Offset */
+#define GPIOREG_BASE        ((uint32_t)0x4000C000)
+/** GPIO HW Structure Overlay */
+#define GPIOREG             ((GpioReg_pt)GPIOREG_BASE)
+
+/** PWM HW Registers Offset */
+#define PWMREG_BASE         ((uint32_t)0x4000B000)
+/** PWM HW Structure Overlay */
+#define PWMREG              ((PwmReg_pt)PWMREG_BASE)
+
+/** Watchdog Timer HW Registers Offset */
+#define WDTREG_BASE         ((uint32_t)0x4000A000)
+/** Watchdog Timer HW Structure Overlay */
+#define WDTREG              ((WdtReg_pt)WDTREG_BASE)
+
+/** UART 2 HW Registers Offset */
+#define UART2REG_BASE       ((uint32_t)0x40008000)
+/** UART 2 HW Structure Overlay */
+#define UART2REG            ((Uart16C550Reg_pt)UART2REG_BASE)
+
+/** I2C HW Registers Offset */
+#define I2C1REG_BASE        ((uint32_t)0x40007000)
+/** I2C HW Structure Overlay */
+#define I2C1REG             ((I2cIpc7208Reg_pt)I2C1REG_BASE)
+
+/** SPI HW Registers Offset */
+#define SPI1REG_BASE        ((uint32_t)0x40006000)
+/** SPI HW Structure Overlay */
+#define SPI1REG             ((SpiIpc7207Reg_pt)SPI1REG_BASE)
+
+/** UART1 HW Registers Offset */
+#define UART1REG_BASE       ((uint32_t)0x40005000)
+/** UART1 HW Structure Overlay */
+#define UART1REG            ((Uart16C550Reg_pt)UART1REG_BASE)
+
+#define UARTREG_BASES       { UART1REG_BASE, UART2REG_BASE}
+
+/** Timer 2 HW Registers Offset */
+#define TIM2REG_BASE        ((uint32_t)0x40002000)
+/** Timer 2 HW Structure Overlay */
+#define TIM2REG             ((TimerReg_pt)TIM2REG_BASE)
+
+/** Timer 1 HW Registers Offset */
+#define TIM1REG_BASE        ((uint32_t)0x40001000)
+/** Timer 1 HW Structure Overlay */
+#define TIM1REG             ((TimerReg_pt)TIM1REG_BASE)
+
+/** Timer 0 HW Registers Offset */
+#define TIM0REG_BASE        ((uint32_t)0x40000000)
+/** Timer 0 HW Structure Overlay */
+#define TIM0REG             ((TimerReg_pt)TIM0REG_BASE)
+
+/** I2C2 HW Registers Offset */
+#define I2C2REG_BASE        ((uint32_t)0x4000D000)
+/** I2C2 HW Structure Overlay */
+#define I2C2REG             ((I2cIpc7208Reg_pt)I2C2REG_BASE)
+
+/** SPI2 HW Registers Offset */
+#define SPI2REG_BASE        ((uint32_t)0x40009000)
+/** SPI2 HW Structure Overlay */
+#define SPI2REG             ((SpiIpc7207Reg_pt)SPI2REG_BASE)
+
+#endif /*_MEMORY_MAP_H_*/