175 dif_sensor_ctrl_irq_t irq,
178 if (sensor_ctrl == NULL || is_pending == NULL) {
183 if (!sensor_ctrl_get_irq_bit_index(irq, &index)) {
187 uint32_t intr_state_reg = mmio_region_read32(
189 (ptrdiff_t)SENSOR_CTRL_INTR_STATE_REG_OFFSET);
192 *is_pending = bitfield_bit32_read(intr_state_reg, index);
219 dif_sensor_ctrl_irq_t irq) {
221 if (sensor_ctrl == NULL) {
226 if (!sensor_ctrl_get_irq_bit_index(irq, &index)) {
231 uint32_t intr_state_reg = bitfield_bit32_write(0, index,
true);
234 (ptrdiff_t)SENSOR_CTRL_INTR_STATE_REG_OFFSET,
244 dif_sensor_ctrl_irq_t irq,
247 if (sensor_ctrl == NULL) {
252 if (!sensor_ctrl_get_irq_bit_index(irq, &index)) {
256 uint32_t intr_test_reg = bitfield_bit32_write(0, index, val);
259 (ptrdiff_t)SENSOR_CTRL_INTR_TEST_REG_OFFSET,
269 dif_sensor_ctrl_irq_t irq,
272 if (sensor_ctrl == NULL || state == NULL) {
277 if (!sensor_ctrl_get_irq_bit_index(irq, &index)) {
281 uint32_t intr_enable_reg = mmio_region_read32(
283 (ptrdiff_t)SENSOR_CTRL_INTR_ENABLE_REG_OFFSET);
286 bool is_enabled = bitfield_bit32_read(intr_enable_reg, index);
287 *state = is_enabled ?
296 dif_sensor_ctrl_irq_t irq,
299 if (sensor_ctrl == NULL) {
304 if (!sensor_ctrl_get_irq_bit_index(irq, &index)) {
308 uint32_t intr_enable_reg = mmio_region_read32(
310 (ptrdiff_t)SENSOR_CTRL_INTR_ENABLE_REG_OFFSET);
314 intr_enable_reg = bitfield_bit32_write(intr_enable_reg, index, enable_bit);
317 (ptrdiff_t)SENSOR_CTRL_INTR_ENABLE_REG_OFFSET,