Forked.
Fork of mbed-dev by
Diff: targets/TARGET_ublox/TARGET_HI2110/device/hi2110.h
- Revision:
- 150:02e0a0aed4ec
- Child:
- 170:19eb464bc2be
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/targets/TARGET_ublox/TARGET_HI2110/device/hi2110.h Tue Nov 08 17:45:16 2016 +0000 @@ -0,0 +1,492 @@ +/* mbed Microcontroller Library + * Copyright (c) 2016 u-blox + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef HI2110_H +#define HI2110_H + +#ifdef __cplusplus + extern "C" { +#endif + +/******************************************************************************/ +/* Processor and Core Peripherals */ +/******************************************************************************/ + +/* + * ========================================================================== + * ---------- Interrupt Number Definition ----------------------------------- + * ========================================================================== + */ + +typedef enum IRQn +{ +/****** Cortex-M0 Processor Exceptions Numbers ***************************************************/ + Thread_mode = -16, /*!< 0 Thread mode */ + NonMaskableInt_IRQn = -14, /*!< 2 Non Maskable Interrupt */ + HardFault_IRQn = -13, /*!< 3 Hard Fault Interrupt */ + SVCall_IRQn = -5, /*!< 11 SV Call Interrupt */ + PendSV_IRQn = -2, /*!< 14 Pend SV Interrupt */ + SysTick_IRQn = -1, /*!< 15 System Tick Interrupt */ + +/****** Device Specific Interrupt Numbers ********************************************************/ + RTC_IRQn = 0, /*!< RTC Interrupt */ + Timer_IRQn = 1, /*!< Timer Interrupt */ + Security_IRQn = 2, /*!< From Security Interrupt */ + Protocol_IRQn = 3, /*!< From Protocol Interrupt */ + Apps_IRQn = 4, /*!< Core Self Interrupt */ + GPIO_IRQn = 5, /*!< GPIO Interrupt */ + DMA_IRQn = 6, /*!< DMA Interrupt */ + UART0_IRQn = 7, /*!< UART0 Interrupt */ + UART1_IRQn = 8, /*!< UART1 Interrupt */ + SSP0_IRQn = 9, /*!< SPI0 Interrupt */ + SSP1_IRQn = 10, /*!< SPI1 Interrupt */ + PWM0_Inner_IRQn = 11, /*!< PW0 Inner Interrupt */ + PWM0_Outer_IRQn = 12, /*!< PW0 Outer Interrupt */ + PWM1_Inner_IRQn = 13, /*!< PW1 Inner Interrupt */ + PWM1_Outer_IRQn = 14, /*!< PW1 Outer Interrupt */ + I2C_IRQn = 15, /*!< I2C Interrupt */ + LPUART_IRQn = 16, /*!< Low Power UART Interrupt */ + CAP_IRQn = 17, /*!< CAP Interrupt */ + COMP_IRQn = 18, /*!< COMP Interrupt */ + EDGE_IRQn = 19, /*!< EDGE Interrupt */ + Pulse_SWD_IRQn = 23, /*!< SWD Pulse Interrupt */ + +} IRQn_Type; + +/* + * ========================================================================== + * ----------- Processor and Core Peripheral Section ------------------------ + * ========================================================================== + */ + +/* Configuration of the Cortex-M# Processor and Core Peripherals */ +#define __CM0_REV 0x0000 /*!< Core Revision r2p1 */ +#define __NVIC_PRIO_BITS 2 /*!< Number of Bits used for Priority Levels */ +#define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */ +#define __MPU_PRESENT 0 /*!< MPU present or not */ +#define __FPU_PRESENT 0 /*!< FPU present or not */ + +#include <core_cm0.h> /* Cortex-M# processor and core peripherals */ + +/******************************************************************************/ +/* Device Specific Peripheral registers structures */ +/******************************************************************************/ + +/* UART */ +typedef struct { + uint32_t UARTDR; + uint32_t UARTRSR; + uint32_t res0; + uint32_t res1; + uint32_t res2; + uint32_t res3; + uint32_t UARTFR; + uint32_t res4; + uint32_t UARTILPR; + uint32_t UARTIBRD; // Integer baud divider + uint32_t UARTFBRD; // Fractional Baud divider + uint32_t UARTLCR_H; + uint32_t UARTCR; + uint32_t UARTIFLS; + uint32_t UARTIMSC; + uint32_t UARTRIS; + uint32_t UARTMIS; + uint32_t UARTICR; + uint32_t UARTDMACR; +} uart_ctrl_t; + +/******************************************************************************/ +/* Peripheral memory map */ +/******************************************************************************/ + +#define RTC_IRQ_TIME_LSBS (*(volatile uint32_t *)(0x40002000)) +#define RTC_IRQ_TIME_LSBS_BITSET (*(volatile uint32_t *)(0x40002400)) +#define RTC_IRQ_TIME_LSBS_BITCLR (*(volatile uint32_t *)(0x40002800)) +#define RTC_IRQ_TIME_LSBS_BITTOG (*(volatile uint32_t *)(0x40002C00)) +#define RTC_IRQ_TIME_MSBS (*(volatile uint32_t *)(0x40002004)) +#define RTC_IRQ_TIME_MSBS_BITSET (*(volatile uint32_t *)(0x40002404)) +#define RTC_IRQ_TIME_MSBS_BITCLR (*(volatile uint32_t *)(0x40002804)) +#define RTC_IRQ_TIME_MSBS_BITTOG (*(volatile uint32_t *)(0x40002C04)) +#define RTC_IRQ_CLR (*(volatile uint32_t *)(0x40002008)) +#define RTC_IRQ_CLR_BITSET (*(volatile uint32_t *)(0x40002408)) +#define RTC_IRQ_CLR_BITCLR (*(volatile uint32_t *)(0x40002808)) +#define RTC_IRQ_CLR_BITTOG (*(volatile uint32_t *)(0x40002C08)) +#define TIMER0_LOAD (*(volatile uint32_t *)(0x4000200C)) +#define TIMER0_LOAD_BITSET (*(volatile uint32_t *)(0x4000240C)) +#define TIMER0_LOAD_BITCLR (*(volatile uint32_t *)(0x4000280C)) +#define TIMER0_LOAD_BITTOG (*(volatile uint32_t *)(0x40002C0C)) +#define TIMER0_CTRL (*(volatile uint32_t *)(0x40002010)) +#define TIMER0_CTRL_BITSET (*(volatile uint32_t *)(0x40002410)) +#define TIMER0_CTRL_BITCLR (*(volatile uint32_t *)(0x40002810)) +#define TIMER0_CTRL_BITTOG (*(volatile uint32_t *)(0x40002C10)) +#define TIMER0_TIME (*(volatile uint32_t *)(0x40002014)) +#define ARM_IRQ_REG (*(volatile uint32_t *)(0x40002018)) +#define ARM_IRQ_REG_BITSET (*(volatile uint32_t *)(0x40002418)) +#define ARM_IRQ_REG_BITCLR (*(volatile uint32_t *)(0x40002818)) +#define ARM_IRQ_REG_BITTOG (*(volatile uint32_t *)(0x40002C18)) +#define PIO_FUNC0 (*(volatile uint32_t *)(0x4000201C)) +#define PIO_FUNC0_BITSET (*(volatile uint32_t *)(0x4000241C)) +#define PIO_FUNC0_BITCLR (*(volatile uint32_t *)(0x4000281C)) +#define PIO_FUNC0_BITTOG (*(volatile uint32_t *)(0x40002C1C)) +#define PIO_FUNC1 (*(volatile uint32_t *)(0x40002020)) +#define PIO_FUNC1_BITSET (*(volatile uint32_t *)(0x40002420)) +#define PIO_FUNC1_BITCLR (*(volatile uint32_t *)(0x40002820)) +#define PIO_FUNC1_BITTOG (*(volatile uint32_t *)(0x40002C20)) +#define PIO_FUNC2 (*(volatile uint32_t *)(0x40002024)) +#define PIO_FUNC2_BITSET (*(volatile uint32_t *)(0x40002424)) +#define PIO_FUNC2_BITCLR (*(volatile uint32_t *)(0x40002824)) +#define PIO_FUNC2_BITTOG (*(volatile uint32_t *)(0x40002C24)) +#define PIO_FUNC3 (*(volatile uint32_t *)(0x40002028)) +#define PIO_FUNC3_BITSET (*(volatile uint32_t *)(0x40002428)) +#define PIO_FUNC3_BITCLR (*(volatile uint32_t *)(0x40002828)) +#define PIO_FUNC3_BITTOG (*(volatile uint32_t *)(0x40002C28)) +#define PIO_FUNC4 (*(volatile uint32_t *)(0x4000202C)) +#define PIO_FUNC4_BITSET (*(volatile uint32_t *)(0x4000242C)) +#define PIO_FUNC4_BITCLR (*(volatile uint32_t *)(0x4000282C)) +#define PIO_FUNC4_BITTOG (*(volatile uint32_t *)(0x40002C2C)) +#define GPIO_DIR (*(volatile uint32_t *)(0x40002030)) +#define GPIO_DIR_BITSET (*(volatile uint32_t *)(0x40002430)) +#define GPIO_DIR_BITCLR (*(volatile uint32_t *)(0x40002830)) +#define GPIO_DIR_BITTOG (*(volatile uint32_t *)(0x40002C30)) +#define GPIO_OUT (*(volatile uint32_t *)(0x40002034)) +#define GPIO_OUT_BITSET (*(volatile uint32_t *)(0x40002434)) +#define GPIO_OUT_BITCLR (*(volatile uint32_t *)(0x40002834)) +#define GPIO_OUT_BITTOG (*(volatile uint32_t *)(0x40002C34)) +#define GPIO_DRIVE (*(volatile uint32_t *)(0x40002038)) +#define GPIO_DRIVE_BITSET (*(volatile uint32_t *)(0x40002438)) +#define GPIO_DRIVE_BITCLR (*(volatile uint32_t *)(0x40002838)) +#define GPIO_DRIVE_BITTOG (*(volatile uint32_t *)(0x40002C38)) +#define GPIO_PULLEN (*(volatile uint32_t *)(0x4000203C)) +#define GPIO_PULLEN_BITSET (*(volatile uint32_t *)(0x4000243C)) +#define GPIO_PULLEN_BITCLR (*(volatile uint32_t *)(0x4000283C)) +#define GPIO_PULLEN_BITTOG (*(volatile uint32_t *)(0x40002C3C)) +#define GPIO_INT_RISE (*(volatile uint32_t *)(0x40002040)) +#define GPIO_INT_RISE_BITSET (*(volatile uint32_t *)(0x40002440)) +#define GPIO_INT_RISE_BITCLR (*(volatile uint32_t *)(0x40002840)) +#define GPIO_INT_RISE_BITTOG (*(volatile uint32_t *)(0x40002C40)) +#define GPIO_INT_FALL (*(volatile uint32_t *)(0x40002044)) +#define GPIO_INT_FALL_BITSET (*(volatile uint32_t *)(0x40002444)) +#define GPIO_INT_FALL_BITCLR (*(volatile uint32_t *)(0x40002844)) +#define GPIO_INT_FALL_BITTOG (*(volatile uint32_t *)(0x40002C44)) +#define GPIO_INT_HIGH (*(volatile uint32_t *)(0x40002048)) +#define GPIO_INT_HIGH_BITSET (*(volatile uint32_t *)(0x40002448)) +#define GPIO_INT_HIGH_BITCLR (*(volatile uint32_t *)(0x40002848)) +#define GPIO_INT_HIGH_BITTOG (*(volatile uint32_t *)(0x40002C48)) +#define GPIO_INT_LOW (*(volatile uint32_t *)(0x4000204C)) +#define GPIO_INT_LOW_BITSET (*(volatile uint32_t *)(0x4000244C)) +#define GPIO_INT_LOW_BITCLR (*(volatile uint32_t *)(0x4000284C)) +#define GPIO_INT_LOW_BITTOG (*(volatile uint32_t *)(0x40002C4C)) +#define GPIO_INT_CLR (*(volatile uint32_t *)(0x40002050)) +#define GPIO_INT_CLR_BITSET (*(volatile uint32_t *)(0x40002450)) +#define GPIO_INT_CLR_BITCLR (*(volatile uint32_t *)(0x40002850)) +#define GPIO_INT_CLR_BITTOG (*(volatile uint32_t *)(0x40002C50)) +#define GPIO_VALUE (*(volatile uint32_t *)(0x40002054)) +#define GPIO_IRQ (*(volatile uint32_t *)(0x40002058)) +#define WDT_INTERVAL (*(volatile uint32_t *)(0x4000205C)) +#define WDT_INTERVAL_BITSET (*(volatile uint32_t *)(0x4000245C)) +#define WDT_INTERVAL_BITCLR (*(volatile uint32_t *)(0x4000285C)) +#define WDT_INTERVAL_BITTOG (*(volatile uint32_t *)(0x40002C5C)) +#define WDT_CTRL (*(volatile uint32_t *)(0x40002060)) +#define WDT_CTRL_BITSET (*(volatile uint32_t *)(0x40002460)) +#define WDT_CTRL_BITCLR (*(volatile uint32_t *)(0x40002860)) +#define WDT_CTRL_BITTOG (*(volatile uint32_t *)(0x40002C60)) +#define WDT_TIME (*(volatile uint32_t *)(0x40002064)) +#define RESET_CAUSE (*(volatile uint32_t *)(0x40002134)) +#define PWM0_CTRL (*(volatile uint32_t *)(0x40002068)) +#define PWM0_CTRL_BITSET (*(volatile uint32_t *)(0x40002468)) +#define PWM0_CTRL_BITCLR (*(volatile uint32_t *)(0x40002868)) +#define PWM0_CTRL_BITTOG (*(volatile uint32_t *)(0x40002C68)) +#define PWM0_COUNT (*(volatile uint32_t *)(0x4000206C)) +#define PWM0_COUNT_BITSET (*(volatile uint32_t *)(0x4000246C)) +#define PWM0_COUNT_BITCLR (*(volatile uint32_t *)(0x4000286C)) +#define PWM0_COUNT_BITTOG (*(volatile uint32_t *)(0x40002C6C)) +#define PWM1_CTRL (*(volatile uint32_t *)(0x40002070)) +#define PWM1_CTRL_BITSET (*(volatile uint32_t *)(0x40002470)) +#define PWM1_CTRL_BITCLR (*(volatile uint32_t *)(0x40002870)) +#define PWM1_CTRL_BITTOG (*(volatile uint32_t *)(0x40002C70)) +#define PWM1_COUNT (*(volatile uint32_t *)(0x40002074)) +#define PWM1_COUNT_BITSET (*(volatile uint32_t *)(0x40002474)) +#define PWM1_COUNT_BITCLR (*(volatile uint32_t *)(0x40002874)) +#define PWM1_COUNT_BITTOG (*(volatile uint32_t *)(0x40002C74)) +#define PWM_STATUS (*(volatile uint32_t *)(0x40002078)) +#define CLKEN_REG (*(volatile uint32_t *)(0x4000207C)) +#define CLKEN_REG_BITSET (*(volatile uint32_t *)(0x4000247C)) +#define CLKEN_REG_BITCLR (*(volatile uint32_t *)(0x4000287C)) +#define CLKEN_REG_BITTOG (*(volatile uint32_t *)(0x40002C7C)) +#define I2C_INTERRUPT_STATUS (*(volatile uint32_t *)(0x40002080)) +#define I2C_INTERRUPT_CLEAR (*(volatile uint32_t *)(0x40002084)) +#define I2C_INTERRUPT_CLEAR_BITSET (*(volatile uint32_t *)(0x40002484)) +#define I2C_INTERRUPT_CLEAR_BITCLR (*(volatile uint32_t *)(0x40002884)) +#define I2C_INTERRUPT_CLEAR_BITTOG (*(volatile uint32_t *)(0x40002C84)) +#define I2C_INTERRUPT_ENABLE (*(volatile uint32_t *)(0x40002088)) +#define I2C_INTERRUPT_ENABLE_BITSET (*(volatile uint32_t *)(0x40002488)) +#define I2C_INTERRUPT_ENABLE_BITCLR (*(volatile uint32_t *)(0x40002888)) +#define I2C_INTERRUPT_ENABLE_BITTOG (*(volatile uint32_t *)(0x40002C88)) +#define I2C_MODE (*(volatile uint32_t *)(0x4000208C)) +#define I2C_MODE_BITSET (*(volatile uint32_t *)(0x4000248C)) +#define I2C_MODE_BITCLR (*(volatile uint32_t *)(0x4000288C)) +#define I2C_MODE_BITTOG (*(volatile uint32_t *)(0x40002C8C)) +#define I2C_TX_DATA (*(volatile uint32_t *)(0x40002090)) +#define I2C_TX_DATA_BITSET (*(volatile uint32_t *)(0x40002490)) +#define I2C_TX_DATA_BITCLR (*(volatile uint32_t *)(0x40002890)) +#define I2C_TX_DATA_BITTOG (*(volatile uint32_t *)(0x40002C90)) +#define I2C_RX_DATA (*(volatile uint32_t *)(0x40002144)) +#define I2C_TX_RD_WRB (*(volatile uint32_t *)(0x40002094)) +#define I2C_TX_RD_WRB_BITSET (*(volatile uint32_t *)(0x40002494)) +#define I2C_TX_RD_WRB_BITCLR (*(volatile uint32_t *)(0x40002894)) +#define I2C_TX_RD_WRB_BITTOG (*(volatile uint32_t *)(0x40002C94)) +#define I2C_TX_NO_BYTES (*(volatile uint32_t *)(0x40002098)) +#define I2C_TX_NO_BYTES_BITSET (*(volatile uint32_t *)(0x40002498)) +#define I2C_TX_NO_BYTES_BITCLR (*(volatile uint32_t *)(0x40002898)) +#define I2C_TX_NO_BYTES_BITTOG (*(volatile uint32_t *)(0x40002C98)) +#define I2C_RX_NO_BYTES (*(volatile uint32_t *)(0x4000209C)) +#define I2C_RX_NO_BYTES_MASTER (*(volatile uint32_t *)(0x400020A0)) +#define I2C_RX_NO_BYTES_MASTER_BITSET (*(volatile uint32_t *)(0x400024A0)) +#define I2C_RX_NO_BYTES_MASTER_BITCLR (*(volatile uint32_t *)(0x400028A0)) +#define I2C_RX_NO_BYTES_MASTER_BITTOG (*(volatile uint32_t *)(0x40002CA0)) +#define I2C_GO (*(volatile uint32_t *)(0x400020A4)) +#define I2C_GO_BITSET (*(volatile uint32_t *)(0x400024A4)) +#define I2C_GO_BITCLR (*(volatile uint32_t *)(0x400028A4)) +#define I2C_GO_BITTOG (*(volatile uint32_t *)(0x40002CA4)) +#define I2C_RX_EARLY_THRESHOLD (*(volatile uint32_t *)(0x400020A8)) +#define I2C_RX_EARLY_THRESHOLD_BITSET (*(volatile uint32_t *)(0x400024A8)) +#define I2C_RX_EARLY_THRESHOLD_BITCLR (*(volatile uint32_t *)(0x400028A8)) +#define I2C_RX_EARLY_THRESHOLD_BITTOG (*(volatile uint32_t *)(0x40002CA8)) +#define I2C_RX_AUTO_NAG_BYTE_CNT (*(volatile uint32_t *)(0x400020AC)) +#define I2C_RX_AUTO_NAG_BYTE_CNT_BITSET (*(volatile uint32_t *)(0x400024AC)) +#define I2C_RX_AUTO_NAG_BYTE_CNT_BITCLR (*(volatile uint32_t *)(0x400028AC)) +#define I2C_RX_AUTO_NAG_BYTE_CNT_BITTOG (*(volatile uint32_t *)(0x40002CAC)) +#define I2C_HALF_TIME (*(volatile uint32_t *)(0x400020B0)) +#define I2C_HALF_TIME_BITSET (*(volatile uint32_t *)(0x400024B0)) +#define I2C_HALF_TIME_BITCLR (*(volatile uint32_t *)(0x400028B0)) +#define I2C_HALF_TIME_BITTOG (*(volatile uint32_t *)(0x40002CB0)) +#define I2C_ADDRESS (*(volatile uint32_t *)(0x400020B4)) +#define I2C_ADDRESS_BITSET (*(volatile uint32_t *)(0x400024B4)) +#define I2C_ADDRESS_BITCLR (*(volatile uint32_t *)(0x400028B4)) +#define I2C_ADDRESS_BITTOG (*(volatile uint32_t *)(0x40002CB4)) +#define I2C_ADDR_TYPE (*(volatile uint32_t *)(0x400020B8)) +#define I2C_ADDR_TYPE_BITSET (*(volatile uint32_t *)(0x400024B8)) +#define I2C_ADDR_TYPE_BITCLR (*(volatile uint32_t *)(0x400028B8)) +#define I2C_ADDR_TYPE_BITTOG (*(volatile uint32_t *)(0x40002CB8)) +#define I2C_SOFT_RESET (*(volatile uint32_t *)(0x400020BC)) +#define I2C_SOFT_RESET_BITSET (*(volatile uint32_t *)(0x400024BC)) +#define I2C_SOFT_RESET_BITCLR (*(volatile uint32_t *)(0x400028BC)) +#define I2C_SOFT_RESET_BITTOG (*(volatile uint32_t *)(0x40002CBC)) +#define I2C_SLAVE_RWB (*(volatile uint32_t *)(0x400020C0)) +#define I2C_MASTER_SM (*(volatile uint32_t *)(0x400020C4)) +#define I2C_SLAVE_SM (*(volatile uint32_t *)(0x400020C8)) +#define I2C_SLAVE_ENABLE (*(volatile uint32_t *)(0x400020CC)) +#define I2C_SLAVE_ENABLE_BITSET (*(volatile uint32_t *)(0x400024CC)) +#define I2C_SLAVE_ENABLE_BITCLR (*(volatile uint32_t *)(0x400028CC)) +#define I2C_SLAVE_ENABLE_BITTOG (*(volatile uint32_t *)(0x40002CCC)) +#define I2C_MASTER_SEND_RESTART (*(volatile uint32_t *)(0x400020D0)) +#define I2C_MASTER_SEND_RESTART_BITSET (*(volatile uint32_t *)(0x400024D0)) +#define I2C_MASTER_SEND_RESTART_BITCLR (*(volatile uint32_t *)(0x400028D0)) +#define I2C_MASTER_SEND_RESTART_BITTOG (*(volatile uint32_t *)(0x40002CD0)) +#define DMA_MUX (*(volatile uint32_t *)(0x400020D4)) +#define DMA_MUX_BITSET (*(volatile uint32_t *)(0x400024D4)) +#define DMA_MUX_BITCLR (*(volatile uint32_t *)(0x400028D4)) +#define DMA_MUX_BITTOG (*(volatile uint32_t *)(0x40002CD4)) +#define DMA_CTRL_STAT (*(volatile uint32_t *)(0x400020D8)) +#define COMP_CTRL (*(volatile uint32_t *)(0x400020DC)) +#define COMP_CTRL_BITSET (*(volatile uint32_t *)(0x400024DC)) +#define COMP_CTRL_BITCLR (*(volatile uint32_t *)(0x400028DC)) +#define COMP_CTRL_BITTOG (*(volatile uint32_t *)(0x40002CDC)) +#define COMP_STAT (*(volatile uint32_t *)(0x400020E0)) +#define LP_UART_CTRL (*(volatile uint32_t *)(0x400020E4)) +#define LP_UART_CTRL_BITSET (*(volatile uint32_t *)(0x400024E4)) +#define LP_UART_CTRL_BITCLR (*(volatile uint32_t *)(0x400028E4)) +#define LP_UART_CTRL_BITTOG (*(volatile uint32_t *)(0x40002CE4)) +#define LP_UART_STATUS (*(volatile uint32_t *)(0x400020E8)) +#define LP_UART_DATA (*(volatile uint32_t *)(0x40002154)) +#define CAP_FILT_CONF (*(volatile uint32_t *)(0x400020EC)) +#define CAP_FILT_CONF_BITSET (*(volatile uint32_t *)(0x400024EC)) +#define CAP_FILT_CONF_BITCLR (*(volatile uint32_t *)(0x400028EC)) +#define CAP_FILT_CONF_BITTOG (*(volatile uint32_t *)(0x40002CEC)) +#define CAP_IRQ_CONF (*(volatile uint32_t *)(0x400020F0)) +#define CAP_IRQ_CONF_BITSET (*(volatile uint32_t *)(0x400024F0)) +#define CAP_IRQ_CONF_BITCLR (*(volatile uint32_t *)(0x400028F0)) +#define CAP_IRQ_CONF_BITTOG (*(volatile uint32_t *)(0x40002CF0)) +#define CAP_STATUS (*(volatile uint32_t *)(0x400020F4)) +#define CORE_ENABLE_SWD_ACCESS_APPS (*(volatile uint32_t *)(0x400020F8)) +#define CORE_ENABLE_SWD_ACCESS_APPS_BITSET (*(volatile uint32_t *)(0x400024F8)) +#define CORE_ENABLE_SWD_ACCESS_APPS_BITCLR (*(volatile uint32_t *)(0x400028F8)) +#define CORE_ENABLE_SWD_ACCESS_APPS_BITTOG (*(volatile uint32_t *)(0x40002CF8)) +#define APPS_DEBUGGER_TO_CORE_DATA (*(volatile uint32_t *)(0x400020FC)) +#define APPS_CORE_TO_DEBUGGER_DATA (*(volatile uint32_t *)(0x40002100)) +#define APPS_CORE_TO_DEBUGGER_DATA_BITSET (*(volatile uint32_t *)(0x40002500)) +#define APPS_CORE_TO_DEBUGGER_DATA_BITCLR (*(volatile uint32_t *)(0x40002900)) +#define APPS_CORE_TO_DEBUGGER_DATA_BITTOG (*(volatile uint32_t *)(0x40002D00)) +#define APPS_DEBUG_DATA_TO_CORE_AVAILABLE (*(volatile uint32_t *)(0x40002104)) +#define APPS_DEBUG_DATA_TO_CORE_ACCEPTED (*(volatile uint32_t *)(0x40002108)) +#define APPS_DEBUG_DATA_TO_CORE_ACCEPTED_BITSET (*(volatile uint32_t *)(0x40002508)) +#define APPS_DEBUG_DATA_TO_CORE_ACCEPTED_BITCLR (*(volatile uint32_t *)(0x40002908)) +#define APPS_DEBUG_DATA_TO_CORE_ACCEPTED_BITTOG (*(volatile uint32_t *)(0x40002D08)) +#define APPS_CORE_DATA_TO_DEBUGGER_AVAILABLE (*(volatile uint32_t *)(0x4000210C)) +#define APPS_CORE_DATA_TO_DEBUGGER_AVAILABLE_BITSET (*(volatile uint32_t *)(0x4000250C)) +#define APPS_CORE_DATA_TO_DEBUGGER_AVAILABLE_BITCLR (*(volatile uint32_t *)(0x4000290C)) +#define APPS_CORE_DATA_TO_DEBUGGER_AVAILABLE_BITTOG (*(volatile uint32_t *)(0x40002D0C)) +#define APPS_CORE_DATA_TO_DEBUGGER_ACCEPTED (*(volatile uint32_t *)(0x40002110)) +#define SWD_REQUEST (*(volatile uint32_t *)(0x40002114)) +#define EDGE_CTRL0 (*(volatile uint32_t *)(0x40002118)) +#define EDGE_CTRL0_BITSET (*(volatile uint32_t *)(0x40002518)) +#define EDGE_CTRL0_BITCLR (*(volatile uint32_t *)(0x40002918)) +#define EDGE_CTRL0_BITTOG (*(volatile uint32_t *)(0x40002D18)) +#define EDGE_CTRL1 (*(volatile uint32_t *)(0x4000211C)) +#define EDGE_CTRL1_BITSET (*(volatile uint32_t *)(0x4000251C)) +#define EDGE_CTRL1_BITCLR (*(volatile uint32_t *)(0x4000291C)) +#define EDGE_CTRL1_BITTOG (*(volatile uint32_t *)(0x40002D1C)) +#define EDGE_COUNT (*(volatile uint32_t *)(0x40002120)) +#define RESET_REG (*(volatile uint32_t *)(0x40002124)) +#define RESET_REG_BITSET (*(volatile uint32_t *)(0x40002524)) +#define RESET_REG_BITCLR (*(volatile uint32_t *)(0x40002924)) +#define RESET_REG_BITTOG (*(volatile uint32_t *)(0x40002D24)) +#define DIGITAL_VERSION (*(volatile uint32_t *)(0x40000000)) +#define CLK_FREQ_DAC (*(volatile uint32_t *)(0x40000004)) +#define CLK_FREQ_SET (*(volatile uint32_t *)(0x40000008)) +#define CLK_FREQ_SET_BITSET (*(volatile uint32_t *)(0x40000408)) +#define CLK_FREQ_SET_BITCLR (*(volatile uint32_t *)(0x40000808)) +#define CLK_FREQ_SET_BITTOG (*(volatile uint32_t *)(0x40000C08)) +#define CLK_FREQ_NREFCLKS (*(volatile uint32_t *)(0x4000000C)) +#define CLK_FREQ_NREFCLKS_BITSET (*(volatile uint32_t *)(0x4000040C)) +#define CLK_FREQ_NREFCLKS_BITCLR (*(volatile uint32_t *)(0x4000080C)) +#define CLK_FREQ_NREFCLKS_BITTOG (*(volatile uint32_t *)(0x40000C0C)) +#define CLK_FREQ_REF_SEL (*(volatile uint32_t *)(0x40000010)) +#define CLK_FREQ_REF_SEL_BITSET (*(volatile uint32_t *)(0x40000410)) +#define CLK_FREQ_REF_SEL_BITCLR (*(volatile uint32_t *)(0x40000810)) +#define CLK_FREQ_REF_SEL_BITTOG (*(volatile uint32_t *)(0x40000C10)) +#define CLK_FREQ_DIG_CLKS (*(volatile uint32_t *)(0x40000014)) +#define CLK_FREQ_HIGHTARGET (*(volatile uint32_t *)(0x40000018)) +#define CLK_FREQ_HIGHTARGET_BITSET (*(volatile uint32_t *)(0x40000418)) +#define CLK_FREQ_HIGHTARGET_BITCLR (*(volatile uint32_t *)(0x40000818)) +#define CLK_FREQ_HIGHTARGET_BITTOG (*(volatile uint32_t *)(0x40000C18)) +#define CLK_FREQ_LOWTARGET (*(volatile uint32_t *)(0x4000001C)) +#define CLK_FREQ_LOWTARGET_BITSET (*(volatile uint32_t *)(0x4000041C)) +#define CLK_FREQ_LOWTARGET_BITCLR (*(volatile uint32_t *)(0x4000081C)) +#define CLK_FREQ_LOWTARGET_BITTOG (*(volatile uint32_t *)(0x40000C1C)) +#define CLK_FREQ_LP_BACKOFF (*(volatile uint32_t *)(0x40000020)) +#define CLK_FREQ_LP_BACKOFF_BITSET (*(volatile uint32_t *)(0x40000420)) +#define CLK_FREQ_LP_BACKOFF_BITCLR (*(volatile uint32_t *)(0x40000820)) +#define CLK_FREQ_LP_BACKOFF_BITTOG (*(volatile uint32_t *)(0x40000C20)) +#define CLK_FREQ_ENABLE (*(volatile uint32_t *)(0x40000024)) +#define CLK_FREQ_ENABLE_BITSET (*(volatile uint32_t *)(0x40000424)) +#define CLK_FREQ_ENABLE_BITCLR (*(volatile uint32_t *)(0x40000824)) +#define CLK_FREQ_ENABLE_BITTOG (*(volatile uint32_t *)(0x40000C24)) +#define CLK_GATE_SYS (*(volatile uint32_t *)(0x40000028)) +#define CLK_GATE_SYS_BITSET (*(volatile uint32_t *)(0x40000428)) +#define CLK_GATE_SYS_BITCLR (*(volatile uint32_t *)(0x40000828)) +#define CLK_GATE_SYS_BITTOG (*(volatile uint32_t *)(0x40000C28)) +#define CLK_GATE_MODEM (*(volatile uint32_t *)(0x4000002C)) +#define CLK_GATE_MODEM_BITSET (*(volatile uint32_t *)(0x4000042C)) +#define CLK_GATE_MODEM_BITCLR (*(volatile uint32_t *)(0x4000082C)) +#define CLK_GATE_MODEM_BITTOG (*(volatile uint32_t *)(0x40000C2C)) +#define CLK_GATE_RADIO (*(volatile uint32_t *)(0x40000030)) +#define CLK_GATE_RADIO_BITSET (*(volatile uint32_t *)(0x40000430)) +#define CLK_GATE_RADIO_BITCLR (*(volatile uint32_t *)(0x40000830)) +#define CLK_GATE_RADIO_BITTOG (*(volatile uint32_t *)(0x40000C30)) +#define CLK_GATE_DEBUG (*(volatile uint32_t *)(0x40000034)) +#define CLK_GATE_DEBUG_BITSET (*(volatile uint32_t *)(0x40000434)) +#define CLK_GATE_DEBUG_BITCLR (*(volatile uint32_t *)(0x40000834)) +#define CLK_GATE_DEBUG_BITTOG (*(volatile uint32_t *)(0x40000C34)) +#define CLK_GATE_RBIST (*(volatile uint32_t *)(0x40000038)) +#define CLK_GATE_RBIST_BITSET (*(volatile uint32_t *)(0x40000438)) +#define CLK_GATE_RBIST_BITCLR (*(volatile uint32_t *)(0x40000838)) +#define CLK_GATE_RBIST_BITTOG (*(volatile uint32_t *)(0x40000C38)) +#define LPC_CTRL (*(volatile uint32_t *)(0x4000003C)) +#define LPC_CTRL_BITSET (*(volatile uint32_t *)(0x4000043C)) +#define LPC_CTRL_BITCLR (*(volatile uint32_t *)(0x4000083C)) +#define LPC_CTRL_BITTOG (*(volatile uint32_t *)(0x40000C3C)) +#define LPC_TEST (*(volatile uint32_t *)(0x40000040)) +#define LPC_TEST_BITSET (*(volatile uint32_t *)(0x40000440)) +#define LPC_TEST_BITCLR (*(volatile uint32_t *)(0x40000840)) +#define LPC_TEST_BITTOG (*(volatile uint32_t *)(0x40000C40)) +#define FPGA_FLASH_WR (*(volatile uint32_t *)(0x40000044)) +#define FPGA_FLASH_WR_BITSET (*(volatile uint32_t *)(0x40000444)) +#define FPGA_FLASH_WR_BITCLR (*(volatile uint32_t *)(0x40000844)) +#define FPGA_FLASH_WR_BITTOG (*(volatile uint32_t *)(0x40000C44)) +#define FPGA_FLASH_RD (*(volatile uint32_t *)(0x40000048)) +#define PMU_CTRL (*(volatile uint32_t *)(0x4000004C)) +#define PMU_CTRL_BITSET (*(volatile uint32_t *)(0x4000044C)) +#define PMU_CTRL_BITCLR (*(volatile uint32_t *)(0x4000084C)) +#define PMU_CTRL_BITTOG (*(volatile uint32_t *)(0x40000C4C)) +#define APP_CTRL0 (*(volatile uint32_t *)(0x40000050)) +#define APP_CTRL0_BITSET (*(volatile uint32_t *)(0x40000450)) +#define APP_CTRL0_BITCLR (*(volatile uint32_t *)(0x40000850)) +#define APP_CTRL0_BITTOG (*(volatile uint32_t *)(0x40000C50)) +#define APP_CTRL1 (*(volatile uint32_t *)(0x40000054)) +#define APP_CTRL1_BITSET (*(volatile uint32_t *)(0x40000454)) +#define APP_CTRL1_BITCLR (*(volatile uint32_t *)(0x40000854)) +#define APP_CTRL1_BITTOG (*(volatile uint32_t *)(0x40000C54)) +#define APP_CTRL2 (*(volatile uint32_t *)(0x40000058)) +#define APP_CTRL2_BITSET (*(volatile uint32_t *)(0x40000458)) +#define APP_CTRL2_BITCLR (*(volatile uint32_t *)(0x40000858)) +#define APP_CTRL2_BITTOG (*(volatile uint32_t *)(0x40000C58)) +#define APP_CTRL3 (*(volatile uint32_t *)(0x4000005C)) +#define APP_CTRL3_BITSET (*(volatile uint32_t *)(0x4000045C)) +#define APP_CTRL3_BITCLR (*(volatile uint32_t *)(0x4000085C)) +#define APP_CTRL3_BITTOG (*(volatile uint32_t *)(0x40000C5C)) +#define PMU_STAT (*(volatile uint32_t *)(0x40000060)) +#define PMUBIST_ADC_CONF (*(volatile uint32_t *)(0x40000064)) +#define PMUBIST_ADC_CONF_BITSET (*(volatile uint32_t *)(0x40000464)) +#define PMUBIST_ADC_CONF_BITCLR (*(volatile uint32_t *)(0x40000864)) +#define PMUBIST_ADC_CONF_BITTOG (*(volatile uint32_t *)(0x40000C64)) +#define PMUBIST_ADC_DATA (*(volatile uint32_t *)(0x40000068)) +#define STATUS (*(volatile uint32_t *)(0x4000006C)) +#define LPC_STATUS (*(volatile uint32_t *)(0x40000070)) +#define LPC_PDTIMER (*(volatile uint32_t *)(0x40000074)) +#define LPC_PDTIMER_BITSET (*(volatile uint32_t *)(0x40000474)) +#define LPC_PDTIMER_BITCLR (*(volatile uint32_t *)(0x40000874)) +#define LPC_PDTIMER_BITTOG (*(volatile uint32_t *)(0x40000C74)) +#define PIO_OWNER0 (*(volatile uint32_t *)(0x40000078)) +#define PIO_OWNER1 (*(volatile uint32_t *)(0x4000007C)) +#define RTC_TIME_LSBS (*(volatile uint32_t *)(0x40000080)) +#define RTC_TIME_MSBS (*(volatile uint32_t *)(0x40000084)) +#define DEBUG_SEL (*(volatile uint32_t *)(0x40000088)) +#define DEBUG_SEL_BITSET (*(volatile uint32_t *)(0x40000488)) +#define DEBUG_SEL_BITCLR (*(volatile uint32_t *)(0x40000888)) +#define DEBUG_SEL_BITTOG (*(volatile uint32_t *)(0x40000C88)) +#define FLASH_STATUS (*(volatile uint32_t *)(0x4000008C)) +#define CHIP_WDT_INTERVAL (*(volatile uint32_t *)(0x40000090)) +#define CHIP_WDT_INTERVAL_BITSET (*(volatile uint32_t *)(0x40000490)) +#define CHIP_WDT_INTERVAL_BITCLR (*(volatile uint32_t *)(0x40000890)) +#define CHIP_WDT_INTERVAL_BITTOG (*(volatile uint32_t *)(0x40000C90)) +#define CHIP_WDT_CTRL (*(volatile uint32_t *)(0x40000094)) +#define CHIP_WDT_CTRL_BITSET (*(volatile uint32_t *)(0x40000494)) +#define CHIP_WDT_CTRL_BITCLR (*(volatile uint32_t *)(0x40000894)) +#define CHIP_WDT_CTRL_BITTOG (*(volatile uint32_t *)(0x40000C94)) +#define CHIP_WDT_TIME (*(volatile uint32_t *)(0x40000098)) +#define CHIP_RESET (*(volatile uint32_t *)(0x4000009C)) +#define CHIP_RESET_BITSET (*(volatile uint32_t *)(0x4000049C)) +#define CHIP_RESET_BITCLR (*(volatile uint32_t *)(0x4000089C)) +#define CHIP_RESET_BITTOG (*(volatile uint32_t *)(0x40000C9C)) +#define SWD_PIN_CFG (*(volatile uint32_t *)(0x400000A0)) +#define SWD_PIN_CFG_BITSET (*(volatile uint32_t *)(0x400004A0)) +#define SWD_PIN_CFG_BITCLR (*(volatile uint32_t *)(0x400008A0)) +#define SWD_PIN_CFG_BITTOG (*(volatile uint32_t *)(0x40000CA0)) + +/******************************************************************************/ +/* Peripheral declaration */ +/******************************************************************************/ + +/* UART Defines */ +#define UART0_BASE 0x50003000 +#define UART1_BASE 0x50004000 + +#ifdef __cplusplus +} +#endif + +#endif /* HI2110_H */