STRUCT TI_IODELAY_REG_DATA(9)
π struct ti_iodelay_reg_data(9) β from the Kernel API Manual, bestie β¨
okay so picture this: it's a whole struct, right? and it literally describes the registers for your iodelay instance. that's the whole vibe. it's giving "lookup table but make it couture" π
β¨ NAME β¨
struct ti_iodelay_reg_data β ngl this one is just here to describe all the registers for the iodelay instance. that's it, that's the job π
πΈ SYNOPSIS πΈ
struct ti_iodelay_reg_data {
u32 signature_mask;
u32 signature_value;
u32 lock_mask;
u32 lock_val;
u32 unlock_val;
u32 binary_data_coarse_mask;
u32 binary_data_fine_mask;
u32 reg_refclk_offset;
u32 refclk_period_mask;
u32 reg_coarse_offset;
u32 coarse_delay_count_mask;
u32 coarse_ref_count_mask;
u32 reg_fine_offset;
u32 fine_delay_count_mask;
u32 fine_ref_count_mask;
u32 reg_global_lock_offset;
u32 global_lock_mask;
u32 global_unlock_val;
u32 global_lock_val;
u32 reg_start_offset;
u32 reg_nr_per_pin;
const struct regmap_config *regmap_config;
};
like, look at her. twenty-two fields. main character energy, no notes π
π¦ Members π¦
so each one of these is a little icon in her life, and here's what each one means:
signature_maskβ theCONFIG_REGmask for the signature bits, iykyk (check the TRM) π«signature_valueβ theCONFIG_REGsignature value that gets written (again, TRM is your bestie here)lock_maskβ theCONFIG_REGmask for the lock bits (TRM said what it said)lock_valβ theCONFIG_REGlock value for those lock bits (TRM, bestie, TRM)unlock_valβ theCONFIG_REGunlock value for the lock bits (TRM never lies)binary_data_coarse_maskβ theCONFIG_REGcoarse mask (you already know: TRM) β¨binary_data_fine_maskβ theCONFIG_REGfine mask (TRM again, we stay consistent)reg_refclk_offsetβ the refclk register offset, slayrefclk_period_maskβ the refclk mask π«Άreg_coarse_offsetβ the coarse register configuration offsetcoarse_delay_count_maskβ the coarse delay count maskcoarse_ref_count_maskβ the coarse ref count maskreg_fine_offsetβ the fine register configuration offset, very demurefine_delay_count_maskβ the fine delay count mask πΈfine_ref_count_maskβ the fine ref count maskreg_global_lock_offsetβ the offset for the global iodelay module lock register πglobal_lock_maskβ the lock maskglobal_unlock_valβ the unlock valueglobal_lock_valβ the lock value (yes, there's both. she contains multitudes)reg_start_offsetβ offset to the iodelay registers after theCONFIG_REG_0to8βreg_nr_per_pinβ how many iodelay registers each pin getsregmap_configβ the regmap configuration for the IODelay region πΊοΈ
π SEE ALSO π
if you wanna go deeper down the rabbit hole, the kernel file lives at ./drivers/pinctrl/ti/pinctrl-ti-iodelay.c and it's friends with literally all of these:
struct ti_iodelay_reg_values(9)struct ti_iodelay_cfg(9)struct ti_iodelay_pingroup(9)struct ti_iodelay_device(9)ti_iodelay_extract(9)ti_iodelay_compute_dpe(9)ti_iodelay_pinconf_set(9)ti_iodelay_pinconf_deinit_dev(9)ti_iodelay_pinconf_init_dev(9)ti_iodelay_get_pingroup(9)ti_iodelay_offset_to_pin(9)ti_iodelay_node_iterator(9)ti_iodelay_dt_node_to_map(9)ti_iodelay_pinconf_group_get(9)ti_iodelay_pinconf_group_set(9)ti_iodelay_pin_to_offset(9)ti_iodelay_pinconf_group_dbg_show(9)ti_iodelay_alloc_pins(9)ti_iodelay_probe(9)
that's the whole page, bestie, go forth and configure responsibly π
cute lil sign-off: this one came from ./drivers/pinctrl/ti and the date on it is October 2026. stay iconic ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms