Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed-dev by
targets/TARGET_ublox/TARGET_HI2110/device/hi2110.h
- Committer:
- riktw
- Date:
- 2017-01-22
- Revision:
- 153:0a78729d3229
- Parent:
- 150:02e0a0aed4ec
File content as of revision 153:0a78729d3229:
/* 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 */