diff --git a/drivers/st/bsec/bsec2.c b/drivers/st/bsec/bsec2.c index 006cb8cedaad70431a16f1d44aac41cc9756bf88..de00a6581228be3fcb5405a271b21c5e71ec6811 100644 --- a/drivers/st/bsec/bsec2.c +++ b/drivers/st/bsec/bsec2.c @@ -637,6 +637,26 @@ uint32_t bsec_read_debug_conf(void) return mmio_read_32(bsec_base + BSEC_DEN_OFF); } +/* + * bsec_write_scratch: write value in scratch register. + * val: value to write. + * return value: none. + */ +void bsec_write_scratch(uint32_t val) +{ + bsec_lock(); + mmio_write_32(bsec_base + BSEC_SCRATCH_OFF, val); + bsec_unlock(); +} + +/* + * bsec_read_scratch: return scratch register value. + */ +uint32_t bsec_read_scratch(void) +{ + return mmio_read_32(bsec_base + BSEC_SCRATCH_OFF); +} + /* * bsec_get_status: return status register value. */ diff --git a/include/drivers/st/bsec.h b/include/drivers/st/bsec.h index d573499aed94fd0e73905173a2625d5a322f951b..273a4e98acf556ee9d279e9ef4d89987c5466090 100644 --- a/include/drivers/st/bsec.h +++ b/include/drivers/st/bsec.h @@ -108,6 +108,9 @@ uint32_t bsec_permanent_lock_otp(uint32_t otp); void bsec_write_debug_conf(uint32_t val); uint32_t bsec_read_debug_conf(void); +void bsec_write_scratch(uint32_t val); +uint32_t bsec_read_scratch(void); + uint32_t bsec_get_status(void); uint32_t bsec_get_hw_conf(void); uint32_t bsec_get_version(void);