STRUCT STM32_ADC_REGSPEC(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct stm32_adc_regspec(9) ✨

okay so this is the Kernel API Manual page for struct stm32_adc_regspec, and bestie, it's literally the master map of all the STM32 ADC registers πŸ’… like every offset and bitfield the driver needs, all chillin' in one struct. it's giving "table of contents but make it silicon" πŸ¦‹


🌸 NAME 🌸

struct stm32_adc_regspec β€” stm32 registers definition. that's it, that's the whole vibe ✨


πŸŽ€ SYNOPSIS πŸŽ€

struct stm32_adc_regspec {
    const u32 dr;
    const struct stm32_adc_regs ier_eoc;
    const struct stm32_adc_regs ier_ovr;
    const struct stm32_adc_regs isr_eoc;
    const struct stm32_adc_regs isr_ovr;
    const struct stm32_adc_regs *sqr;
    const struct stm32_adc_regs exten;
    const struct stm32_adc_regs extsel;
    const struct stm32_adc_regs res;
    const struct stm32_adc_regs difsel;
    const u32 smpr[2];
    const struct stm32_adc_regs *smp_bits;
    const struct stm32_adc_regs or_vddcore;
    const struct stm32_adc_regs or_vddcpu;
    const struct stm32_adc_regs or_vddq_ddr;
    const struct stm32_adc_regs ccr_vbat;
    const struct stm32_adc_regs ccr_vref;
};

like look at her. seventeen members. main character energy fr fr πŸ‘‘


πŸ’– Members πŸ’–

  • dr β€” data register offset. where the actual numbers land πŸ“
  • ier_eoc β€” interrupt enable register & eocie bitfield ✨
  • ier_ovr β€” interrupt enable register & overrun bitfield πŸ”₯
  • isr_eoc β€” interrupt status register & eoc bitfield ✨
  • isr_ovr β€” interrupt status register & overrun bitfield πŸ”₯
  • sqr β€” reference to sequence registers array. the whole queue, love that for us πŸ’…
  • exten β€” trigger control register & bitfield πŸŽ€
  • extsel β€” trigger selection register & bitfield πŸŽ€
  • res β€” resolution selection register & bitfield πŸ¦‹
  • difsel β€” differential mode selection register & bitfield πŸ¦‹
  • smpr β€” smpr1 & smpr2 registers offset array πŸ“‹
  • smp_bits β€” smpr1 & smpr2 index and bitfields πŸ“‹
  • or_vddcore β€” option register & vddcore bitfield πŸ’œ
  • or_vddcpu β€” option register & vddcpu bitfield πŸ’œ
  • or_vddq_ddr β€” option register & vddq_ddr bitfield πŸ’œ
  • ccr_vbat β€” common register & vbat bitfield 🌈
  • ccr_vref β€” common register & vrefint bitfield 🌈
no cap, every single one of these is const β€” this struct is ✨read-only✨ and she is NOT taking notes from you πŸ™ˆ

πŸ¦‹ SEE ALSO πŸ¦‹

the kernel file ./drivers/iio/adc/stm32-adc.c, plus the whole friend group 😭🫢


and that's the page, bestie!! πŸ§šπŸ’– it lives over in ./drivers/iio/adc, dated October 2026, and it's filed under struct stm32_adc_regspec(9). slay, go read the register bits, mwah πŸ’‹β­

πŸ“¦ where this page comes from