Lines Matching refs:inst
100 static void nhw_GPIOTE_signal_EVENTS_PORT(unsigned int inst);
116 void nrf_gpiote_TASKS_OUT(unsigned int inst, unsigned int n) { in nrf_gpiote_TASKS_OUT() argument
117 struct gpiote_ch_status_t *sc = &gpiote_st[inst].gpiote_ch_status[n]; in nrf_gpiote_TASKS_OUT()
141 void nrf_gpiote_TASKS_SET(unsigned int inst, unsigned int n) { in nrf_gpiote_TASKS_SET() argument
142 struct gpiote_ch_status_t *sc = &gpiote_st[inst].gpiote_ch_status[n]; in nrf_gpiote_TASKS_SET()
151 void nrf_gpiote_TASKS_CLR(unsigned int inst, unsigned int n) { in nrf_gpiote_TASKS_CLR() argument
152 struct gpiote_ch_status_t *sc = &gpiote_st[inst].gpiote_ch_status[n]; in nrf_gpiote_TASKS_CLR()
161 static void nrf_gpiote_eval_interrupt(unsigned int inst) { in nrf_gpiote_eval_interrupt() argument
162 struct gpiote_status *st = &gpiote_st[inst]; in nrf_gpiote_eval_interrupt()
171 if (NRF_GPIOTE_regs[inst].EVENTS_IN[i] && mask) { in nrf_gpiote_eval_interrupt()
179 if (NRF_GPIOTE_regs[inst].EVENTS_PORT && mask) { in nrf_gpiote_eval_interrupt()
184 if (NRF_GPIOTE_regs[inst].EVENTS_PORT[0].NONSECURE && mask) { in nrf_gpiote_eval_interrupt()
188 if (NRF_GPIOTE_regs[inst].EVENTS_PORT[0].SECURE && mask) { in nrf_gpiote_eval_interrupt()
195 &nhw_gpiote_irq_map[inst][line]); in nrf_gpiote_eval_interrupt()
199 static void nhw_GPIOTE_signal_EVENTS_IN(unsigned int inst, unsigned int n) { in nhw_GPIOTE_signal_EVENTS_IN() argument
200 NRF_GPIOTE_regs[inst].EVENTS_IN[n] = 1; in nhw_GPIOTE_signal_EVENTS_IN()
201 nrf_gpiote_eval_interrupt(inst); in nhw_GPIOTE_signal_EVENTS_IN()
205 nhw_dppi_event_signal_if(gpiote_st[inst].dppi_map, in nhw_GPIOTE_signal_EVENTS_IN()
206 NRF_GPIOTE_regs[inst].PUBLISH_IN[n]); in nhw_GPIOTE_signal_EVENTS_IN()
210 static void nhw_GPIOTE_signal_EVENTS_PORT(unsigned int inst) { in nhw_GPIOTE_signal_EVENTS_PORT() argument
212 NRF_GPIOTE_regs[inst].EVENTS_PORT = 1; in nhw_GPIOTE_signal_EVENTS_PORT()
214 NRF_GPIOTE_regs[inst].EVENTS_PORT[0].NONSECURE = 1; in nhw_GPIOTE_signal_EVENTS_PORT()
215 NRF_GPIOTE_regs[inst].EVENTS_PORT[0].SECURE = 1; in nhw_GPIOTE_signal_EVENTS_PORT()
217 nrf_gpiote_eval_interrupt(inst); in nhw_GPIOTE_signal_EVENTS_PORT()
223 nhw_dppi_event_signal_if(gpiote_st[inst].dppi_map, in nhw_GPIOTE_signal_EVENTS_PORT()
224 NRF_GPIOTE_regs[inst].PUBLISH_PORT); in nhw_GPIOTE_signal_EVENTS_PORT()
226 nhw_dppi_event_signal_if(gpiote_st[inst].dppi_map, in nhw_GPIOTE_signal_EVENTS_PORT()
227 NRF_GPIOTE_regs[inst].PUBLISH_PORT[0].SECURE); in nhw_GPIOTE_signal_EVENTS_PORT()
228 nhw_dppi_event_signal_if(gpiote_st[inst].dppi_map, in nhw_GPIOTE_signal_EVENTS_PORT()
229 NRF_GPIOTE_regs[inst].PUBLISH_PORT[0].NONSECURE); in nhw_GPIOTE_signal_EVENTS_PORT()
242 uint inst = (intptr_t)cb_data >> 8; in nrf_gpiote_input_change_ntf() local
247 sc = &gpiote_st[inst].gpiote_ch_status[ch_n]; in nrf_gpiote_input_change_ntf()
274 nhw_GPIOTE_signal_EVENTS_IN(inst, ch_n); in nrf_gpiote_input_change_ntf()
282 void nrf_gpiote_regw_sideeffects_TASKS_OUT(unsigned int inst, unsigned int n) { in nrf_gpiote_regw_sideeffects_TASKS_OUT() argument
283 if (NRF_GPIOTE_regs[inst].TASKS_OUT[n]) { in nrf_gpiote_regw_sideeffects_TASKS_OUT()
284 NRF_GPIOTE_regs[inst].TASKS_OUT[n] = 0; in nrf_gpiote_regw_sideeffects_TASKS_OUT()
285 nrf_gpiote_TASKS_OUT(inst, n); in nrf_gpiote_regw_sideeffects_TASKS_OUT()
289 void nrf_gpiote_regw_sideeffects_TASKS_SET(unsigned int inst, unsigned int n) { in nrf_gpiote_regw_sideeffects_TASKS_SET() argument
290 if (NRF_GPIOTE_regs[inst].TASKS_SET[n]) { in nrf_gpiote_regw_sideeffects_TASKS_SET()
291 NRF_GPIOTE_regs[inst].TASKS_SET[n] = 0; in nrf_gpiote_regw_sideeffects_TASKS_SET()
292 nrf_gpiote_TASKS_SET(inst, n); in nrf_gpiote_regw_sideeffects_TASKS_SET()
296 void nrf_gpiote_regw_sideeffects_TASKS_CLR(unsigned int inst, unsigned int n) { in nrf_gpiote_regw_sideeffects_TASKS_CLR() argument
297 if (NRF_GPIOTE_regs[inst].TASKS_CLR[n]) { in nrf_gpiote_regw_sideeffects_TASKS_CLR()
298 NRF_GPIOTE_regs[inst].TASKS_CLR[n] = 0; in nrf_gpiote_regw_sideeffects_TASKS_CLR()
299 nrf_gpiote_TASKS_CLR(inst, n); in nrf_gpiote_regw_sideeffects_TASKS_CLR()
303 void nrf_gpiote_regw_sideeffects_EVENTS_IN(unsigned int inst, unsigned int n) { in nrf_gpiote_regw_sideeffects_EVENTS_IN() argument
305 nrf_gpiote_eval_interrupt(inst); in nrf_gpiote_regw_sideeffects_EVENTS_IN()
308 void nrf_gpiote_regw_sideeffects_EVENTS_PORT(unsigned int inst) { in nrf_gpiote_regw_sideeffects_EVENTS_PORT() argument
309 nrf_gpiote_eval_interrupt(inst); in nrf_gpiote_regw_sideeffects_EVENTS_PORT()
317 void nrf_gpiote_regw_sideeffects_INTENSET(unsigned int inst, unsigned int interrupt_nbr) { in nrf_gpiote_regw_sideeffects_INTENSET() argument
319 …uint32_t *INTENSET = (uint32_t *)((uintptr_t)&NRF_GPIOTE_regs[inst].INTENSET0 + interrupt_nbr*gpio… in nrf_gpiote_regw_sideeffects_INTENSET()
321 uint32_t *INTENSET = (uint32_t *)(uintptr_t)&NRF_GPIOTE_regs[inst].INTENSET; in nrf_gpiote_regw_sideeffects_INTENSET()
325 gpiote_st[inst].GPIOTE_ITEN[interrupt_nbr] |= *INTENSET ; in nrf_gpiote_regw_sideeffects_INTENSET()
326 *INTENSET = gpiote_st[inst].GPIOTE_ITEN[interrupt_nbr]; in nrf_gpiote_regw_sideeffects_INTENSET()
327 nrf_gpiote_eval_interrupt(inst); in nrf_gpiote_regw_sideeffects_INTENSET()
331 void nrf_gpiote_regw_sideeffects_INTENCLR(unsigned int inst, unsigned int interrupt_nbr) { in nrf_gpiote_regw_sideeffects_INTENCLR() argument
333 …uint32_t *INTENCLR = (uint32_t *)((uintptr_t)&NRF_GPIOTE_regs[inst].INTENCLR0 + interrupt_nbr*gpio… in nrf_gpiote_regw_sideeffects_INTENCLR()
335 uint32_t *INTENCLR = (uint32_t *)(uintptr_t)&NRF_GPIOTE_regs[inst].INTENCLR; in nrf_gpiote_regw_sideeffects_INTENCLR()
339 gpiote_st[inst].GPIOTE_ITEN[interrupt_nbr] &= ~*INTENCLR; in nrf_gpiote_regw_sideeffects_INTENCLR()
341 nrf_gpiote_eval_interrupt(inst); in nrf_gpiote_regw_sideeffects_INTENCLR()
345 void nrf_gpiote_regw_sideeffects_CONFIG(unsigned int inst, unsigned int ch_n) { in nrf_gpiote_regw_sideeffects_CONFIG() argument
346 struct gpiote_ch_status_t *sc = &gpiote_st[inst].gpiote_ch_status[ch_n]; in nrf_gpiote_regw_sideeffects_CONFIG()
347 unsigned int mode = NRF_GPIOTE_regs[inst].CONFIG[ch_n] & GPIOTE_CONFIG_MODE_Msk; in nrf_gpiote_regw_sideeffects_CONFIG()
348 unsigned int pin = (NRF_GPIOTE_regs[inst].CONFIG[ch_n] & GPIOTE_CONFIG_PSEL_Msk) in nrf_gpiote_regw_sideeffects_CONFIG()
350 unsigned int port = (NRF_GPIOTE_regs[inst].CONFIG[ch_n] & GPIOTE_CONFIG_PORT_Msk) in nrf_gpiote_regw_sideeffects_CONFIG()
354 if ((inst == NHW_GPIOTE_APP0) || (inst == NHW_GPIOTE_APP1)) { in nrf_gpiote_regw_sideeffects_CONFIG()
358 unsigned int polarity = (NRF_GPIOTE_regs[inst].CONFIG[ch_n] & GPIOTE_CONFIG_POLARITY_Msk) in nrf_gpiote_regw_sideeffects_CONFIG()
360 unsigned int outinit = (NRF_GPIOTE_regs[inst].CONFIG[ch_n] & GPIOTE_CONFIG_OUTINIT_Msk) in nrf_gpiote_regw_sideeffects_CONFIG()
376 intptr_t cb_data = (inst<<8) + ch_n; in nrf_gpiote_regw_sideeffects_CONFIG()
390 unsigned int inst = (uintptr_t)param >> 16; \
392 nrf_gpiote_TASKS_##TASK_N(inst, ch_n); \
395 void nhw_gpiote_regw_sideeffects_SUBSCRIBE_##TASK_N(uint inst, uint ch_n) { \
396 struct gpiote_status *st = &gpiote_st[inst]; \
399 NRF_GPIOTE_regs[inst].SUBSCRIBE_##TASK_N[ch_n],\
402 (void*)((inst << 16) + ch_n)); \