7#ifndef ZEPHYR_INCLUDE_DRIVERS_MISC_CORESIGHT_STMESP_H_
8#define ZEPHYR_INCLUDE_DRIVERS_MISC_CORESIGHT_STMESP_H_
56static inline volatile void *_stmesp_get_data_reg(STMESP_Type *reg,
bool ts,
57 bool marked,
bool guaranteed)
62 return ®->G_DMTS[0];
64 return ®->G_DTS[0];
68 return ®->I_DMTS[0];
70 return ®->I_DTS[0];
103 reg->G_FLAGTS[0] = data;
105 reg->I_FLAGTS[0] = data;
109 reg->G_FLAG[0] = data;
111 reg->I_FLAG[0] = data;
125 bool marked,
bool guaranteed)
127 *(
volatile uint8_t *)_stmesp_get_data_reg(reg, ts, marked, guaranteed) = data;
139 bool marked,
bool guaranteed)
141 *(
volatile uint16_t *)_stmesp_get_data_reg(reg, ts, marked, guaranteed) = data;
153 bool marked,
bool guaranteed)
155 *(
volatile uint32_t *)_stmesp_get_data_reg(reg, ts, marked, guaranteed) = data;
173 if ((port == NULL) ||
#define DT_NODELABEL(label)
Get a node identifier for a node label.
Definition devicetree.h:196
#define DT_REG_ADDR(node_id)
Get a node's (only) register block address.
Definition devicetree.h:2451
#define DT_REG_SIZE(node_id)
Get a node's (only) register block size.
Definition devicetree.h:2472
static void stmesp_flag(STMESP_Type *reg, uint32_t data, bool ts, bool guaranteed)
Write flag to STMESP.
Definition stmesp.h:99
static int stmesp_get_port(uint32_t idx, STMESP_Type **port)
Return address of a STM extended stimulus port.
Definition stmesp.h:169
static void stmesp_data8(STMESP_Type *reg, uint8_t data, bool ts, bool marked, bool guaranteed)
Write 8 bit data to STMESP.
Definition stmesp.h:124
static void stmesp_data32(STMESP_Type *reg, uint32_t data, bool ts, bool marked, bool guaranteed)
Write 32 bit data to STMESP.
Definition stmesp.h:152
static void stmesp_data16(STMESP_Type *reg, uint16_t data, bool ts, bool marked, bool guaranteed)
Write 16 bit data to STMESP.
Definition stmesp.h:138
#define EINVAL
Invalid argument.
Definition errno.h:60
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
__UINT16_TYPE__ uint16_t
Definition stdint.h:89