STRUCT DAVINCI_TIMER_CFG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct davinci_timer_cfg(9)

okay so this one's from the Kernel API Manual bestie, and it's literally just the config struct for the davinci clocksource driver β€” like, the little bundle of settings the driver needs handed to it. small struct, big main character energy. ✨


🌸 NAME 🌸

struct davinci_timer_cfg β€” the davinci clocksource driver configuration struct, periodt. it's a struct, that's the whole vibe.


πŸ¦‹ SYNOPSIS πŸ¦‹

struct davinci_timer_cfg {
    struct resource reg;
    struct resource irq[DAVINCI_TIMER_NUM_IRQS];
    unsigned int cmp_off;
 };

πŸ‘‘ Members πŸ‘‘

  • reg β€” the register range resource, aka where the registers live πŸ’–
  • irq β€” the interrupt resources for clockevent and clocksource, and yes it's an array of DAVINCI_TIMER_NUM_IRQS of them πŸŽ€
  • cmp_off β€” if it's set, this is the compare register used for clockevent πŸ”₯

πŸ’€ Note πŸ’€

okay listen, this part actually matters so no skimming πŸ™ˆ

If the compare register is specified, the driver will use the bottom clock half for both the clocksource and the clockevent, plus the compare register to generate the event irqs. and you β€” yes you, the user β€” must supply the correct compare register interrupt number. no cap, get that number right.

This is only used by da830, whose DSP uses the top half. the timer driver still configures the top half to run in free-run mode though, so it's not just sitting there doing nothing. πŸ’…


⭐ SEE ALSO ⭐

Kernel file ./include/clocksource/timer-davinci.h β€” go read it, iykyk 🫢


and that's the whole page bestie!! 🌈 source/version is ./include/clocksource, dated October 2026, and it's all about struct davinci_timer_cfg(9) β€” slay, go configure some timers πŸ’œπŸ§šπŸ“

πŸ“¦ where this page comes from