blob: 439739ef67e6455536de026417a0854dc0b2487f [file] [log] [blame]
/****************************************************************************
* arch/arm/src/nrf52/hardware/nrf52_temp.h
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership. The
* ASF licenses this file to you 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 __ARCH_ARM_SRC_NRF52_HARDWARE_NRF52_TEMP_H
#define __ARCH_ARM_SRC_NRF52_HARDWARE_NRF52_TEMP_H
/****************************************************************************
* Included Files
****************************************************************************/
#include <nuttx/config.h>
/****************************************************************************
* Pre-processor Definitions
****************************************************************************/
/* Register offsets *********************************************************/
#define NRF52_TEMP_TASKS_START_OFFSET 0x000000 /* Start temperature measurement */
#define NRF52_TEMP_TASKS_STOP_OFFSET 0x000004 /* Stop temperature measurement */
#define NRF52_TEMP_EVENTS_DATARDY_OFFSET 0x000100 /* Temperature measurement complete, data ready */
#define NRF52_TEMP_INTENSET_OFFSET 0x000304 /* Enable interrupt */
#define NRF52_TEMP_INTENCLR_OFFSET 0x000308 /* Disable interrupt */
#define NRF52_TEMP_TEMP_OFFSET 0x000508 /* Temperature in degC */
#define NRF52_TEMP_A0_OFFSET 0x000520 /* Slope of 1st piece wise linear function */
#define NRF52_TEMP_A1_OFFSET 0x000524 /* Slope of 2nd piece wise linear function */
#define NRF52_TEMP_A2_OFFSET 0x000528 /* Slope of 3rd piece wise linear function */
#define NRF52_TEMP_A3_OFFSET 0x00052C /* Slope of 4th piece wise linear function */
#define NRF52_TEMP_A4_OFFSET 0x000530 /* Slope of 5th piece wise linear function */
#define NRF52_TEMP_A5_OFFSET 0x000534 /* Slope of 6th piece wise linear function */
#define NRF52_TEMP_B0_OFFSET 0x000540 /* y-intercept of 1st piece wise linear function */
#define NRF52_TEMP_B1_OFFSET 0x000544 /* y-intercept of 2nd piece wise linear function */
#define NRF52_TEMP_B2_OFFSET 0x000548 /* y-intercept of 3rd piece wise linear function */
#define NRF52_TEMP_B3_OFFSET 0x00054C /* y-intercept of 4th piece wise linear function */
#define NRF52_TEMP_B4_OFFSET 0x000550 /* y-intercept of 5th piece wise linear function */
#define NRF52_TEMP_B5_OFFSET 0x000554 /* y-intercept of 6th piece wise linear function */
#define NRF52_TEMP_T0_OFFSET 0x000560 /* End point of 1st piece wise linear function */
#define NRF52_TEMP_T1_OFFSET 0x000564 /* End point of 2nd piece wise linear function */
#define NRF52_TEMP_T2_OFFSET 0x000568 /* End point of 3rd piece wise linear function */
#define NRF52_TEMP_T3_OFFSET 0x00056C /* End point of 4th piece wise linear function */
#define NRF52_TEMP_T4_OFFSET 0x000570 /* End point of 5th piece wise linear function */
/* Register definitions *****************************************************/
#define NRF52_TEMP_TASKS_START (NRF52_TEMP_BASE + NRF52_TEMP_TASKS_START_OFFSET)
#define NRF52_TEMP_TASKS_STOP (NRF52_TEMP_BASE + NRF52_TEMP_TASKS_STOP_OFFSET)
#define NRF52_TEMP_EVENTS_DATARDY (NRF52_TEMP_BASE + NRF52_TEMP_EVENTS_DATARDY_OFFSET)
#define NRF52_TEMP_INTENSET (NRF52_TEMP_BASE + NRF52_TEMP_INTENSET_OFFSET)
#define NRF52_TEMP_INTENCLR (NRF52_TEMP_BASE + NRF52_TEMP_INTENCLR_OFFSET)
#define NRF52_TEMP_TEMP (NRF52_TEMP_BASE + NRF52_TEMP_TEMP_OFFSET)
#define NRF52_TEMP_A0 (NRF52_TEMP_BASE + NRF52_TEMP_A0_OFFSET)
#define NRF52_TEMP_A1 (NRF52_TEMP_BASE + NRF52_TEMP_A1_OFFSET)
#define NRF52_TEMP_A2 (NRF52_TEMP_BASE + NRF52_TEMP_A2_OFFSET)
#define NRF52_TEMP_A3 (NRF52_TEMP_BASE + NRF52_TEMP_A3_OFFSET)
#define NRF52_TEMP_A4 (NRF52_TEMP_BASE + NRF52_TEMP_A4_OFFSET)
#define NRF52_TEMP_A5 (NRF52_TEMP_BASE + NRF52_TEMP_A5_OFFSET)
#define NRF52_TEMP_B0 (NRF52_TEMP_BASE + NRF52_TEMP_B0_OFFSET)
#define NRF52_TEMP_B1 (NRF52_TEMP_BASE + NRF52_TEMP_B1_OFFSET)
#define NRF52_TEMP_B2 (NRF52_TEMP_BASE + NRF52_TEMP_B2_OFFSET)
#define NRF52_TEMP_B3 (NRF52_TEMP_BASE + NRF52_TEMP_B3_OFFSET)
#define NRF52_TEMP_B4 (NRF52_TEMP_BASE + NRF52_TEMP_B4_OFFSET)
#define NRF52_TEMP_B5 (NRF52_TEMP_BASE + NRF52_TEMP_B5_OFFSET)
#define NRF52_TEMP_T0 (NRF52_TEMP_BASE + NRF52_TEMP_T0_OFFSET)
#define NRF52_TEMP_T1 (NRF52_TEMP_BASE + NRF52_TEMP_T1_OFFSET)
#define NRF52_TEMP_T2 (NRF52_TEMP_BASE + NRF52_TEMP_T2_OFFSET)
#define NRF52_TEMP_T3 (NRF52_TEMP_BASE + NRF52_TEMP_T3_OFFSET)
#define NRF52_TEMP_T4 (NRF52_TEMP_BASE + NRF52_TEMP_T4_OFFSET)
/* Register bit definitions *************************************************/
#define NRF52_TEMP_INTENSET_DATARDY (1 << 0) /* Read: Enabled */
#define NRF52_TEMP_INTENCLR_DATARDY (1 << 0) /* Read: Enabled */
#endif /* __ARCH_ARM_SRC_NRF52_HARDWARE_NRF52_TEMP_H */