dfll_build_i2c_lut(9)
π dfll_build_i2c_lut(9) β like, the Kernel API Manual page, but make it make sense β¨
okay so bestie, we're in the Kernel API Manual today and the vibe is: building a lookup table. ground-breaking? maybe not. iconic? lowkey yes. let's go π«Ά
πΈ NAME πΈ
dfll_build_i2c_lut β literally builds the I2C voltage register lookup table β¨
π SYNOPSIS π
int dfll_build_i2c_lut (struct tegra_dfll *td , unsigned long v_max );
that's it. that's the whole call. two args, one int coming back atcha π
π¦ ARGUMENTS π¦
tdβ your DFLL instance. the main character, fr fr πv_maxβ the Vmax, straight from the OPP table π
π₯ DESCRIPTION π₯
okay so here's the tea β the DFLL hardware ships with 33 bytes of look-up table RAM, and somebody has to fill that thing up. not with random nonsense, no ma'am β it needs PMIC voltage register values that span the entire DFLL operating range. all of it. every last bit π
and that's literally this function's whole job. it builds the look-up table based on:
- the OPP table that the soc-specific platform driver hands over (
td->soc->opp_dev) π§ - the PMIC register-to-voltage mapping, which gets queried from the regulator framework π
on success it fills intd->lutand returns0π β or-errif things go sideways π no in-between, no half-vibes.
β SEE ALSO β
bestie, the whole squad is here. it's giving ensemble cast energy π
Kernel file ./drivers/clk/tegra/clk-dfll.cenum dfll_ctrl_mode(9)enum dfll_tune_range(9)struct dfll_rate_req(9)dfll_is_running(9)tegra_dfll_runtime_resume(9)tegra_dfll_runtime_suspend(9)dfll_tune_low(9)dfll_scale_dvco_rate(9)dfll_set_mode(9)dfll_i2c_set_output_enabled(9)dfll_pwm_set_output_enabled(9)dfll_set_force_output_value(9)dfll_set_force_output_enabled(9)dfll_force_output(9)dfll_load_i2c_lut(9)dfll_init_i2c_if(9)dfll_init_out_if(9)find_lut_index_for_rate(9)dfll_calculate_rate_request(9)dfll_set_frequency_request(9)dfll_request_rate(9)dfll_disable(9)dfll_enable(9)dfll_set_open_loop_config(9)dfll_lock(9)dfll_unlock(9)dfll_register_clk(9)dfll_unregister_clk(9)dfll_calc_monitored_rate(9)dfll_read_monitor_rate(9)dfll_set_default_params(9)dfll_init_clks(9)dfll_init(9)tegra_dfll_suspend(9)tegra_dfll_resume(9)read_dt_param(9)dfll_fetch_i2c_params(9)dfll_fetch_common_params(9)tegra_dfll_register(9)tegra_dfll_unregister(9)
that's the whole page, bestie π no cap, you're now officially informed. mwah π
β¨ this cute lil sign-off comes to you straight from./drivers/clk/tegra, dated October 2026, and it's still servingdfll_build_i2c_lut(9)realness π periodt.
π¦ 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