rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
Data Structures | Functions | Variables
GPT

Data Structures

struct  GPTConfig
 Driver configuration structure. More...
 
struct  GPTDriver
 Structure representing a GPT driver. More...
 

Functions

static void gpt_lld_serve_interrupt (GPTDriver *gptp)
 Shared IRQ handler.
 
 OSAL_IRQ_HANDLER (KINETIS_PIT0_IRQ_VECTOR)
 PIT1 interrupt handler.
 
 OSAL_IRQ_HANDLER (KINETIS_PIT1_IRQ_VECTOR)
 PIT1 interrupt handler.
 
 OSAL_IRQ_HANDLER (KINETIS_PIT2_IRQ_VECTOR)
 PIT2 interrupt handler.
 
 OSAL_IRQ_HANDLER (KINETIS_PIT3_IRQ_VECTOR)
 PIT3 interrupt handler.
 
 OSAL_IRQ_HANDLER (KINETIS_PIT_IRQ_VECTOR)
 Common PIT interrupt handler.
 

Variables

GPTDriver GPTD1
 GPTD1 driver identifier.
 
GPTDriver GPTD2
 GPTD2 driver identifier.
 
GPTDriver GPTD3
 GPTD3 driver identifier.
 
GPTDriver GPTD4
 GPTD4 driver identifier.
 
static uint8_t active_channels = 0
 
static const uint32_t tif_flags [] = { LPIT_MSR_TIF0(1), LPIT_MSR_TIF1(1), LPIT_MSR_TIF2(1), LPIT_MSR_TIF3(1) }
 
static const uint32_t mier_flags [] = { LPIT_MIER_TIE0(1), LPIT_MIER_TIE1(1), LPIT_MIER_TIE2(1), LPIT_MIER_TIE3(1) }
 
gptfreq_t GPTConfig::frequency
 Timer clock in Hz.
 
gptcallback_t GPTConfig::callback
 Timer callback pointer.
 
uint32_t GPTConfig::cr2
 TIM CR2 register initialization data.
 
uint32_t GPTConfig::dier
 TIM DIER register initialization data.
 
gptstate_t GPTDriver::state
 Driver state.
 
const GPTConfigGPTDriver::config
 Current configuration data.
 
GPT_DRIVER_EXT_FIELDS uint32_t GPTDriver::clock
 Timer base clock.
 
int32_t GPTDriver::channelIndex
 Channel index.
 
struct PIT_CHANNEL * GPTDriver::channel
 Channel structure in PIT registers block.
 

Configuration options

typedef uint32_t gptfreq_t
 GPT frequency type.
 
typedef uint32_t gptcnt_t
 GPT counter type.
 
GPTDriver GPTD1
 GPTD1 driver identifier.
 
GPTDriver GPTD2
 GPTD2 driver identifier.
 
GPTDriver GPTD3
 GPTD3 driver identifier.
 
GPTDriver GPTD4
 GPTD4 driver identifier.
 
void gpt_lld_init (void)
 Low level GPT driver initialization.
 
void gpt_lld_start (GPTDriver *gptp)
 Configures and activates the GPT peripheral.
 
void gpt_lld_stop (GPTDriver *gptp)
 Deactivates the GPT peripheral.
 
void gpt_lld_start_timer (GPTDriver *gptp, gptcnt_t interval)
 Starts the timer in continuous mode.
 
void gpt_lld_stop_timer (GPTDriver *gptp)
 Stops the timer.
 
void gpt_lld_polled_delay (GPTDriver *gptp, gptcnt_t interval)
 Starts the timer in one shot mode and waits for completion.
 

Detailed Description

Typedef Documentation

◆ gptcnt_t

typedef uint32_t gptcnt_t

GPT counter type.

Definition at line 201 of file hal_gpt_lld.h.

◆ gptfreq_t

typedef uint32_t gptfreq_t

GPT frequency type.

Definition at line 196 of file hal_gpt_lld.h.

Function Documentation

◆ gpt_lld_init()

void gpt_lld_init ( void  )

Low level GPT driver initialization.

@notapi

Definition at line 220 of file hal_gpt_lld.c.

220 {
221
222#if KINETIS_GPT_USE_PIT0
223 /* Driver initialization.*/
224#ifdef KE1xF
226#else
227 GPTD1.channel = &PIT->CHANNEL[0];
228#endif
229 gptObjectInit(&GPTD1);
230#endif
231
232#if KINETIS_GPT_USE_PIT1
233 /* Driver initialization.*/
234#ifdef KE1xF
236#else
237 GPTD2.channel = &PIT->CHANNEL[1];
238#endif
239 gptObjectInit(&GPTD2);
240#endif
241
242#if KINETIS_GPT_USE_PIT2
243 /* Driver initialization.*/
244#ifdef KE1xF
246#else
247 GPTD3.channel = &PIT->CHANNEL[2];
248#endif
249 gptObjectInit(&GPTD3);
250#endif
251
252#if KINETIS_GPT_USE_PIT3
253 /* Driver initialization.*/
254#ifdef KE1xF
256#else
257 GPTD4.channel = &PIT->CHANNEL[3];
258#endif
259 gptObjectInit(&GPTD4);
260#endif
261}
struct PIT_CHANNEL * channel
Channel structure in PIT registers block.
GPTDriver GPTD1
GPTD1 driver identifier.
Definition hal_gpt_lld.c:43
GPTDriver GPTD3
GPTD3 driver identifier.
Definition hal_gpt_lld.c:59
GPTDriver GPTD2
GPTD2 driver identifier.
Definition hal_gpt_lld.c:51
GPTDriver GPTD4
GPTD4 driver identifier.
Definition hal_gpt_lld.c:67
int32_t channelIndex
Channel index.

◆ gpt_lld_polled_delay()

void gpt_lld_polled_delay ( GPTDriver gptp,
gptcnt_t  interval 
)

Starts the timer in one shot mode and waits for completion.

This function specifically polls the timer waiting for completion in order to not have extra delays caused by interrupt servicing, this function is only recommended for short delays.

Parameters
[in]gptppointer to the GPTDriver object
[in]intervaltime interval in ticks

@notapi

Definition at line 449 of file hal_gpt_lld.c.

449 {
450#ifdef KE1xF
451 /* Disable timer and disable interrupts */
452 PIT->CHANNEL[gptp->channelIndex].TCTRL = 0;
453
454 PIT->MSR |= tif_flags[gptp->channelIndex];
455
456 /* Set the interval */
457 PIT->CHANNEL[gptp->channelIndex].TVAL = (gptp->clock / gptp->config->frequency) * interval;
458
459 PIT->CHANNEL[gptp->channelIndex].TCTRL = LPIT_TCTRL_T_EN(1);
460
461 while (!(PIT->MSR & tif_flags[gptp->channelIndex]))
462 ;
463 /* Disable timer and disable interrupts */
464 PIT->CHANNEL[gptp->channelIndex].TCTRL = 0;
465#else
466 struct PIT_CHANNEL *channel = gptp->channel;
467
468 /* Disable timer and disable interrupts */
469 channel->TCTRL = 0;
470
471 /* Clear the interrupt flag */
472 channel->TFLG |= PIT_TFLGn_TIF;
473
474 /* Set the interval */
475 channel->LDVAL = (gptp->clock / gptp->config->frequency) * interval;
476
477 /* Enable Timer but keep interrupts disabled */
478 channel->TCTRL = PIT_TCTRLn_TEN;
479
480 /* Wait for the interrupt flag to be set */
481 while (!(channel->TFLG & PIT_TFLGn_TIF))
482 ;
483 /* Disable timer and disable interrupts */
484 channel->TCTRL = 0;
485#endif
486}
uint16_t channel
Definition adc_inputs.h:104
const GPTConfig * config
Current configuration data.
gptfreq_t frequency
Timer clock in Hz.
static const uint32_t tif_flags[]
Definition hal_gpt_lld.c:79
GPT_DRIVER_EXT_FIELDS uint32_t clock
Timer base clock.

◆ gpt_lld_serve_interrupt()

static void gpt_lld_serve_interrupt ( GPTDriver gptp)
static

Shared IRQ handler.

Parameters
[in]gptppointer to a GPTDriver object

Definition at line 92 of file hal_gpt_lld.c.

92 {
93
94 /* Clear the interrupt */
95#ifdef KE1xF
96 PIT->MSR |= tif_flags[gptp->channelIndex];
97#else
98 gptp->channel->TFLG |= PIT_TFLGn_TIF;
99#endif
100
101 if (gptp->state == GPT_ONESHOT) {
102 gptp->state = GPT_READY; /* Back in GPT_READY state. */
103 gpt_lld_stop_timer(gptp); /* Timer automatically stopped. */
104 }
105 gptp->config->callback(gptp);
106}
void gpt_lld_stop_timer(GPTDriver *gptp)
Stops the timer.
gptstate_t state
Driver state.
gptcallback_t callback
Timer callback pointer.

Referenced by OSAL_IRQ_HANDLER(), OSAL_IRQ_HANDLER(), OSAL_IRQ_HANDLER(), OSAL_IRQ_HANDLER(), and OSAL_IRQ_HANDLER().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gpt_lld_start()

void gpt_lld_start ( GPTDriver gptp)

Configures and activates the GPT peripheral.

Parameters
[in]gptppointer to the GPTDriver object

@notapi

Definition at line 270 of file hal_gpt_lld.c.

270 {
271 uint16_t psc;
272
273 if (gptp->state == GPT_STOP) {
274#ifdef KE1xF
275 /* Clock activation.*/
276 PCC->CLKCFG[PCC_LPIT0_INDEX] |= PCC_CLKCFG_CGC(1);
277 //SCG->FIRCDIV = SCG_FIRCDIV_FIRCDIV2(1) | SCG_FIRCDIV_FIRCDIV1(1);
278 PCC->CLKCFG[PCC_LPIT0_INDEX] = (PCC->CLKCFG[PCC_LPIT0_INDEX] & ~PCC_CLKCFG_PCS_MASK) | PCC_CLKCFG_PCS(6/*SCGPCLK System PLL clock*/);
279#else
280 /* Clock activation.*/
281 SIM->SCGC6 |= SIM_SCGC6_PIT;
282#endif
283 gptp->clock = KINETIS_SPLL_DIV2_FREQENCY/*KINETIS_SYSCLK_FREQUENCY*/;
284
285#if !KINETIS_HAS_PIT_COMMON_IRQ
286
287#if KINETIS_GPT_USE_PIT0
288 if (&GPTD1 == gptp) {
289 nvicEnableVector(PITChannel0_IRQn, KINETIS_GPT_PIT0_IRQ_PRIORITY);
290 }
291#endif
292#if KINETIS_GPT_USE_PIT1
293 if (&GPTD2 == gptp) {
294 nvicEnableVector(PITChannel1_IRQn, KINETIS_GPT_PIT1_IRQ_PRIORITY);
295 }
296#endif
297#if KINETIS_GPT_USE_PIT2
298 if (&GPTD3 == gptp) {
299 nvicEnableVector(PITChannel2_IRQn, KINETIS_GPT_PIT2_IRQ_PRIORITY);
300 }
301#endif
302#if KINETIS_GPT_USE_PIT3
303 if (&GPTD4 == gptp) {
304 nvicEnableVector(PITChannel3_IRQn, KINETIS_GPT_PIT3_IRQ_PRIORITY);
305 }
306#endif
307
308#else /* !KINETIS_HAS_PIT_COMMON_IRQ */
309 nvicEnableVector(PIT_IRQn, KINETIS_GPT_PIT_IRQ_PRIORITY);
311#endif /* !KINETIS_HAS_PIT_COMMON_IRQ */
312 }
313
314 /* Prescaler value calculation.*/
315 psc = (uint16_t)((gptp->clock / gptp->config->frequency) - 1);
316 osalDbgAssert(((uint32_t)(psc + 1) * gptp->config->frequency) == gptp->clock,
317 "invalid frequency");
318
319#ifdef KE1xF
320 /* Enable the PIT */
321 PIT->MCR |= LPIT_MCR_M_CEN(1);
322#else
323 /* Enable the PIT */
324 PIT->MCR = 0;
325#endif
326}
static uint8_t active_channels
Definition hal_gpt_lld.c:75

◆ gpt_lld_start_timer()

void gpt_lld_start_timer ( GPTDriver gptp,
gptcnt_t  interval 
)

Starts the timer in continuous mode.

Parameters
[in]gptppointer to the GPTDriver object
[in]intervalperiod in ticks

@notapi

Definition at line 397 of file hal_gpt_lld.c.

397 {
398#ifdef KE1xF
399 /* Clear pending interrupts */
400 PIT->MSR |= tif_flags[gptp->channelIndex];
401
402 /* Set the interval */
403 gpt_lld_change_interval(gptp, interval);
404
405 /* Enable interrupts */
406 PIT->MIER |= mier_flags[gptp->channelIndex];
407 /* Start the timer */
408 PIT->CHANNEL[gptp->channelIndex].TCTRL |= LPIT_TCTRL_T_EN(1);
409#else
410 /* Clear pending interrupts */
411 gptp->channel->TFLG |= PIT_TFLGn_TIF;
412
413 /* Set the interval */
414 gpt_lld_change_interval(gptp, interval);
415
416 /* Start the timer */
417 gptp->channel->TCTRL |= PIT_TCTRLn_TIE | PIT_TCTRLn_TEN;
418#endif
419}
static const uint32_t mier_flags[]
Definition hal_gpt_lld.c:80

◆ gpt_lld_stop()

void gpt_lld_stop ( GPTDriver gptp)

Deactivates the GPT peripheral.

Parameters
[in]gptppointer to the GPTDriver object

@notapi

Definition at line 335 of file hal_gpt_lld.c.

335 {
336
337 if (gptp->state == GPT_READY) {
338#ifdef KE1xF
339 PCC->CLKCFG[PCC_LPIT0_INDEX] &= ~PCC_CLKCFG_CGC(1);
340
341 /* Disable the channel */
342 PIT->CHANNEL[gptp->channelIndex].TCTRL = 0;
343
344 /* Disable interrupts */
345 PIT->MIER &= ~mier_flags[gptp->channelIndex];
346
347 /* Clear pending interrupts */
348 PIT->MSR |= tif_flags[gptp->channelIndex];
349#else
350 SIM->SCGC6 &= ~SIM_SCGC6_PIT;
351
352 /* Disable the channel */
353 gptp->channel->TCTRL = 0;
354
355 /* Clear pending interrupts */
356 gptp->channel->TFLG |= PIT_TFLGn_TIF;
357#endif
358
359#if !KINETIS_HAS_PIT_COMMON_IRQ
360
361#if KINETIS_GPT_USE_PIT0
362 if (&GPTD1 == gptp) {
363 nvicDisableVector(PITChannel0_IRQn);
364 }
365#endif
366#if KINETIS_GPT_USE_PIT1
367 if (&GPTD2 == gptp) {
368 nvicDisableVector(PITChannel1_IRQn);
369 }
370#endif
371#if KINETIS_GPT_USE_PIT2
372 if (&GPTD3 == gptp) {
373 nvicDisableVector(PITChannel2_IRQn);
374 }
375#endif
376#if KINETIS_GPT_USE_PIT3
377 if (&GPTD4 == gptp) {
378 nvicDisableVector(PITChannel3_IRQn);
379 }
380#endif
381
382#else /* !KINETIS_HAS_PIT_COMMON_IRQ */
383 if(--active_channels == 0)
384 nvicDisableVector(PIT_IRQn);
385#endif /* !KINETIS_HAS_PIT_COMMON_IRQ */
386 }
387}

◆ gpt_lld_stop_timer()

void gpt_lld_stop_timer ( GPTDriver gptp)

Stops the timer.

Parameters
[in]gptppointer to the GPTDriver object

@notapi

Definition at line 428 of file hal_gpt_lld.c.

428 {
429#ifdef KE1xF
430 /* Stop the timer */
431 PIT->CHANNEL[gptp->channelIndex].TCTRL = 0;
432#else
433 /* Stop the timer */
434 gptp->channel->TCTRL = 0;
435#endif
436}

Referenced by gpt_lld_serve_interrupt().

Here is the caller graph for this function:

◆ OSAL_IRQ_HANDLER() [1/5]

OSAL_IRQ_HANDLER ( KINETIS_PIT0_IRQ_VECTOR  )

PIT1 interrupt handler.

@isr

Definition at line 120 of file hal_gpt_lld.c.

120 {
121 OSAL_IRQ_PROLOGUE();
123 OSAL_IRQ_EPILOGUE();
124}
static void gpt_lld_serve_interrupt(GPTDriver *gptp)
Shared IRQ handler.
Definition hal_gpt_lld.c:92
Here is the call graph for this function:

◆ OSAL_IRQ_HANDLER() [2/5]

OSAL_IRQ_HANDLER ( KINETIS_PIT1_IRQ_VECTOR  )

PIT1 interrupt handler.

@isr

Definition at line 133 of file hal_gpt_lld.c.

133 {
134 OSAL_IRQ_PROLOGUE();
136 OSAL_IRQ_EPILOGUE();
137}
Here is the call graph for this function:

◆ OSAL_IRQ_HANDLER() [3/5]

OSAL_IRQ_HANDLER ( KINETIS_PIT2_IRQ_VECTOR  )

PIT2 interrupt handler.

@isr

Definition at line 146 of file hal_gpt_lld.c.

146 {
147 OSAL_IRQ_PROLOGUE();
149 OSAL_IRQ_EPILOGUE();
150}
Here is the call graph for this function:

◆ OSAL_IRQ_HANDLER() [4/5]

OSAL_IRQ_HANDLER ( KINETIS_PIT3_IRQ_VECTOR  )

PIT3 interrupt handler.

@isr

Definition at line 159 of file hal_gpt_lld.c.

159 {
160 OSAL_IRQ_PROLOGUE();
162 OSAL_IRQ_EPILOGUE();
163}
Here is the call graph for this function:

◆ OSAL_IRQ_HANDLER() [5/5]

OSAL_IRQ_HANDLER ( KINETIS_PIT_IRQ_VECTOR  )

Common PIT interrupt handler.

@isr

Definition at line 172 of file hal_gpt_lld.c.

172 {
173 OSAL_IRQ_PROLOGUE();
174#if KINETIS_GPT_USE_PIT0
175#ifdef KE1xF
176 if(PIT->MSR & LPIT_MSR_TIF0(1))
177#else
178 if(GPTD1.channel->TFLG & PIT_TFLGn_TIF)
179#endif
181#endif /* KINETIS_GPT_USE_PIT0 */
182#if KINETIS_GPT_USE_PIT1
183#ifdef KE1xF
184 if(PIT->MSR & LPIT_MSR_TIF1(1))
185#else
186 if(GPTD2.channel->TFLG & PIT_TFLGn_TIF)
187#endif
189#endif /* KINETIS_GPT_USE_PIT1 */
190#if KINETIS_GPT_USE_PIT2
191#ifdef KE1xF
192 if(PIT->MSR & LPIT_MSR_TIF2(1))
193#else
194 if(GPTD3.channel->TFLG & PIT_TFLGn_TIF)
195#endif
197#endif /* KINETIS_GPT_USE_PIT2 */
198#if KINETIS_GPT_USE_PIT3
199#ifdef KE1xF
200 if(PIT->MSR & LPIT_MSR_TIF3(1))
201#else
202 if(GPTD4.channel->TFLG & PIT_TFLGn_TIF)
203#endif
205#endif /* KINETIS_GPT_USE_PIT3 */
206 OSAL_IRQ_EPILOGUE();
207}
Here is the call graph for this function:

Variable Documentation

◆ active_channels

uint8_t active_channels = 0
static

Definition at line 75 of file hal_gpt_lld.c.

Referenced by gpt_lld_start(), and gpt_lld_stop().

◆ callback

gptcallback_t GPTConfig::callback

Timer callback pointer.

Note
This callback is invoked on GPT counter events.
This callback can be set to NULL but in that case the one-shot mode cannot be used.

Definition at line 220 of file hal_gpt_lld.h.

Referenced by gpt_lld_serve_interrupt().

◆ channel

struct PIT_CHANNEL* GPTDriver::channel

Channel structure in PIT registers block.

Definition at line 266 of file hal_gpt_lld.h.

Referenced by gpt_lld_init(), gpt_lld_polled_delay(), gpt_lld_serve_interrupt(), gpt_lld_start_timer(), gpt_lld_stop(), gpt_lld_stop_timer(), and OSAL_IRQ_HANDLER().

◆ channelIndex

int32_t GPTDriver::channelIndex

◆ clock

GPT_DRIVER_EXT_FIELDS uint32_t GPTDriver::clock

Timer base clock.

Definition at line 255 of file hal_gpt_lld.h.

Referenced by gpt_lld_polled_delay(), and gpt_lld_start().

◆ config

const GPTConfig* GPTDriver::config

Current configuration data.

Definition at line 247 of file hal_gpt_lld.h.

Referenced by gpt_lld_polled_delay(), gpt_lld_serve_interrupt(), and gpt_lld_start().

◆ cr2

uint32_t GPTConfig::cr2

TIM CR2 register initialization data.

Note
The value of this field should normally be equal to zero.

Definition at line 227 of file hal_gpt_lld.h.

◆ dier

uint32_t GPTConfig::dier

TIM DIER register initialization data.

Note
The value of this field should normally be equal to zero.
Only the DMA-related bits can be specified in this field.

Definition at line 233 of file hal_gpt_lld.h.

◆ frequency

gptfreq_t GPTConfig::frequency

Timer clock in Hz.

Note
The low level can use assertions in order to catch invalid frequency specifications.

Definition at line 213 of file hal_gpt_lld.h.

Referenced by gpt_lld_polled_delay(), and gpt_lld_start().

◆ GPTD1 [1/2]

GPTDriver GPTD1

GPTD1 driver identifier.

Note
The driver GPTD1 allocates the complex timer PIT0 when enabled.

Definition at line 43 of file hal_gpt_lld.c.

Referenced by gpt_lld_init(), gpt_lld_start(), gpt_lld_stop(), OSAL_IRQ_HANDLER(), and OSAL_IRQ_HANDLER().

◆ GPTD1 [2/2]

GPTDriver GPTD1
extern

GPTD1 driver identifier.

Note
The driver GPTD1 allocates the complex timer PIT0 when enabled.

Definition at line 43 of file hal_gpt_lld.c.

Referenced by gpt_lld_init(), gpt_lld_start(), gpt_lld_stop(), OSAL_IRQ_HANDLER(), and OSAL_IRQ_HANDLER().

◆ GPTD2 [1/2]

GPTDriver GPTD2

GPTD2 driver identifier.

Note
The driver GPTD2 allocates the timer PIT1 when enabled.

Definition at line 51 of file hal_gpt_lld.c.

Referenced by gpt_lld_init(), gpt_lld_start(), gpt_lld_stop(), OSAL_IRQ_HANDLER(), and OSAL_IRQ_HANDLER().

◆ GPTD2 [2/2]

GPTDriver GPTD2
extern

GPTD2 driver identifier.

Note
The driver GPTD2 allocates the timer PIT1 when enabled.

Definition at line 51 of file hal_gpt_lld.c.

Referenced by gpt_lld_init(), gpt_lld_start(), gpt_lld_stop(), OSAL_IRQ_HANDLER(), and OSAL_IRQ_HANDLER().

◆ GPTD3 [1/2]

GPTDriver GPTD3

GPTD3 driver identifier.

Note
The driver GPTD3 allocates the timer PIT2 when enabled.

Definition at line 59 of file hal_gpt_lld.c.

Referenced by gpt_lld_init(), gpt_lld_start(), gpt_lld_stop(), OSAL_IRQ_HANDLER(), OSAL_IRQ_HANDLER(), and readSlowAnalogInputs().

◆ GPTD3 [2/2]

GPTDriver GPTD3
extern

GPTD3 driver identifier.

Note
The driver GPTD3 allocates the timer PIT2 when enabled.

Definition at line 59 of file hal_gpt_lld.c.

Referenced by gpt_lld_init(), gpt_lld_start(), gpt_lld_stop(), OSAL_IRQ_HANDLER(), OSAL_IRQ_HANDLER(), and readSlowAnalogInputs().

◆ GPTD4 [1/2]

GPTDriver GPTD4

GPTD4 driver identifier.

Note
The driver GPTD4 allocates the timer PIT3 when enabled.

Definition at line 67 of file hal_gpt_lld.c.

Referenced by gpt_lld_init(), gpt_lld_start(), gpt_lld_stop(), OSAL_IRQ_HANDLER(), and OSAL_IRQ_HANDLER().

◆ GPTD4 [2/2]

GPTDriver GPTD4
extern

GPTD4 driver identifier.

Note
The driver GPTD4 allocates the timer PIT3 when enabled.

Definition at line 67 of file hal_gpt_lld.c.

Referenced by gpt_lld_init(), gpt_lld_start(), gpt_lld_stop(), OSAL_IRQ_HANDLER(), and OSAL_IRQ_HANDLER().

◆ mier_flags

const uint32_t mier_flags[] = { LPIT_MIER_TIE0(1), LPIT_MIER_TIE1(1), LPIT_MIER_TIE2(1), LPIT_MIER_TIE3(1) }
static

Definition at line 80 of file hal_gpt_lld.c.

80{ LPIT_MIER_TIE0(1), LPIT_MIER_TIE1(1), LPIT_MIER_TIE2(1), LPIT_MIER_TIE3(1) };

Referenced by gpt_lld_start_timer().

◆ state

gptstate_t GPTDriver::state

Driver state.

Definition at line 243 of file hal_gpt_lld.h.

Referenced by gpt_lld_serve_interrupt(), gpt_lld_start(), and gpt_lld_stop().

◆ tif_flags

const uint32_t tif_flags[] = { LPIT_MSR_TIF0(1), LPIT_MSR_TIF1(1), LPIT_MSR_TIF2(1), LPIT_MSR_TIF3(1) }
static

Definition at line 79 of file hal_gpt_lld.c.

79{ LPIT_MSR_TIF0(1), LPIT_MSR_TIF1(1), LPIT_MSR_TIF2(1), LPIT_MSR_TIF3(1) };

Referenced by gpt_lld_polled_delay(), gpt_lld_serve_interrupt(), gpt_lld_start_timer(), and gpt_lld_stop().