15#define SDRV_PVT_USE_EDGE_ALARM 0
18#if CONFIG_PVT_TYPE_INT
19#define PVT_TEMPERATURE_MIN (-75)
20#define PVT_TEMPERATURE_MAX (230)
22#define PVT_TEMPERATURE_MIN (-75.9f)
23#define PVT_TEMPERATURE_MAX (230.7f)
26#if CONFIG_PVT_TYPE_INT
54#if SDRV_PVT_USE_EDGE_ALARM
56 PVT_RISING_EDGE_ALARM,
58 PVT_FALLING_EDGE_ALARM,
76#if SDRV_PVT_USE_EDGE_ALARM
83typedef struct sdrv_pvt_edge_alarm_config {
97} sdrv_pvt_edge_alarm_config_t;
105#if SDRV_PVT_USE_EDGE_ALARM
106 sdrv_pvt_edge_alarm_config_t edge_alarm;
unsigned char u[1]
Definition: logo_rgb565.h:32916
SemiDrive driver common header file.
@ SDRV_STATUS_GROUP_PVT
Definition: sdrv_common.h:55
int32_t status_t
Type used for all status and error return values.
Definition: sdrv_common.h:82
#define SDRV_ERROR_STATUS(group, code)
Construct a status code value from a group and code number. All the error statuses are negetive numbe...
Definition: sdrv_common.h:17
status_t sdrv_pvt_get(sdrv_pvt_t *dev, sdrv_pvt_type *temperature)
Read temperature sensor value.
status_t sdrv_pvt_enable_alarm(sdrv_pvt_t *dev, sdrv_pvt_core_id_e core, sdrv_pvt_alarm_e alarm, const sdrv_pvt_alarm_config_t *config)
Enable Temperature sensor alarm.
status_t sdrv_pvt_power_down(sdrv_pvt_t *dev)
Power down T-sensor and P-sensor.
union sdrv_pvt_alarm_config sdrv_pvt_alarm_config_t
Hysterisis alarm configuration.
struct sdrv_pvt sdrv_pvt_t
Process and temperature sensor structure.
status_t sdrv_pvt_start(sdrv_pvt_t *dev)
Start temperature sensor.
status_t sdrv_pvt_init(sdrv_pvt_t *dev)
Initialize the PVT device.
enum sdrv_pvt_core_id sdrv_pvt_core_id_e
PVT core logics.
enum sdrv_pvt_alarm sdrv_pvt_alarm_e
Temperature sensor alarm modes.
struct sdrv_pvt_level_alarm_config sdrv_pvt_level_alarm_config_t
Level alarm configuration.
sdrv_pvt_alarm
Temperature sensor alarm modes.
Definition: sdrv_pvt.h:49
@ PVT_LOW_LEVEL_ALARM
Definition: sdrv_pvt.h:53
@ PVT_ALARM_NR
Definition: sdrv_pvt.h:60
@ PVT_HIGH_LEVEL_ALARM
Definition: sdrv_pvt.h:51
sdrv_pvt_core_id
PVT core logics.
Definition: sdrv_pvt.h:38
@ PVT_CORE0
Definition: sdrv_pvt.h:39
@ PVT_CORE1
Definition: sdrv_pvt.h:40
@ PVT_CORE_NR
Definition: sdrv_pvt.h:41
struct sdrv_pvt_core sdrv_pvt_core_t
PVT core logic structure.
status_t sdrv_pvt_register_alarm_cb(sdrv_pvt_t *dev, sdrv_pvt_core_id_e core, sdrv_pvt_alarm_cb_t alarm_cb, void *arg)
Register temperature alarm callback.
float sdrv_pvt_type
Definition: sdrv_pvt.h:29
status_t sdrv_pvt_disable_alarm(sdrv_pvt_t *dev, sdrv_pvt_core_id_e core, sdrv_pvt_alarm_e alarm)
Disable Temperature sensor alarm.
sdrv_pvt_error
PVT error code.
Definition: sdrv_pvt.h:150
@ SDRV_PVT_NOT_STARTED
Definition: sdrv_pvt.h:152
@ SDRV_PVT_INVALID_PARAM
Definition: sdrv_pvt.h:151
status_t sdrv_pvt_stop(sdrv_pvt_t *dev)
Stop temperature sensor.
status_t sdrv_pvt_deinit(sdrv_pvt_t *dev)
De-initialize the PVT device.
void(* sdrv_pvt_alarm_cb_t)(struct sdrv_pvt *dev, sdrv_pvt_core_id_e core, sdrv_pvt_alarm_e alarm, void *arg)
Temperature alarm callback.
Definition: sdrv_pvt.h:115
PVT core logic structure.
Definition: sdrv_pvt.h:125
uint32_t irq
Definition: sdrv_pvt.h:127
uint32_t alarm_enable_mask
Definition: sdrv_pvt.h:134
void * cb_arg
Definition: sdrv_pvt.h:131
sdrv_pvt_alarm_cb_t alarm_cb
Definition: sdrv_pvt.h:129
Level alarm configuration.
Definition: sdrv_pvt.h:69
sdrv_pvt_type thresh_high
Definition: sdrv_pvt.h:73
sdrv_pvt_type thresh_low
Definition: sdrv_pvt.h:71
Process and temperature sensor structure.
Definition: sdrv_pvt.h:140
sdrv_pvt_core_t core[PVT_CORE_NR]
Definition: sdrv_pvt.h:144
paddr_t base
Definition: sdrv_pvt.h:142
Hysterisis alarm configuration.
Definition: sdrv_pvt.h:103
sdrv_pvt_level_alarm_config_t level_alarm
Definition: sdrv_pvt.h:104