_ocp_softreset(9)
okay so bestie, this is _ocp_softreset(9) from the Kernel API Manual β a tiny low-level reset icon with main character energy. Letβs get into it π
π NAME π
_ocp_softreset β reset an omap_hwmod via the OCP_SYSCONFIG bit.
β¨ SYNOPSIS β¨
int _ocp_softreset (struct omap_hwmod *oh );
π«Ά ARGUMENTS π«Ά
ohβstruct omap_hwmod *. Thatβs the hwmod getting the reset treatment, bestie.
π DESCRIPTION π
Okay so _ocp_softreset resets an omap_hwmod oh via the OCP_SYSCONFIG bit. Quick vibe check: the hwmod must be enabled for this to work β no enabled hwmod, no reset magic. β¨
It returns one of these, and every single one matters:
-ENOENTβ if the hwmod cannot be reset this way-EINVALβ if the hwmod is in the wrong state-ETIMEDOUTβ if the module did not reset in time0β upon success
In OMAP3, a specific SYSSTATUS register is used to get the reset status. Starting in OMAP4, some IPs do not have SYSSTATUS registers and instead use the SYSCONFIG softreset bit to provide the status.
Note that some IP like McBSP do have reset control but donβt have reset status.
π SEE ALSO π
Kernel file ./arch/arm/mach-omap2/omap_hwmod.c is the source file, and the whole reference entourage is:
struct clkctrl_provider(9),struct omap_hwmod_reset(9),struct omap_hwmod_soc_ops(9),_update_sysc_cache(9),_write_sysconfig(9)_set_master_standbymode(9),_set_slave_idlemode(9),_set_clockactivity(9),_set_softreset(9),_clear_softreset(9)_wait_softreset_complete(9),_set_dmadisable(9),_set_module_autoidle(9),_enable_wakeup(9),_add_initiator_dep(9)_del_initiator_dep(9),_init_main_clk(9),_init_interface_clks(9),_init_opt_clks(9),_enable_clocks(9)_omap4_clkctrl_managed_by_clkfwk(9),_omap4_has_clkctrl_clock(9),_disable_clocks(9),_omap4_enable_module(9),_omap4_wait_target_disable(9)_save_mpu_port_index(9),_find_mpu_rt_port(9),_enable_sysc(9),_idle_sysc(9),_shutdown_sysc(9)_lookup(9),_init_clkdm(9),_init_clocks(9),_lookup_hardreset(9),_assert_hardreset(9)_deassert_hardreset(9),_read_hardreset(9),_are_all_hardreset_lines_asserted(9),_are_any_hardreset_lines_asserted(9),_omap4_disable_module(9)_reset(9),_omap4_update_context_lost(9),_omap4_get_context_lost(9),_enable(9),_idle(9)_shutdown(9),of_dev_hwmod_lookup(9),omap_hwmod_fix_mpu_rt_idx(9),omap_hwmod_parse_module_range(9),_init_mpu_rt_base(9)_init(9),_setup_iclk_autoidle(9),_setup_reset(9),_setup_postsetup(9),_setup(9)_register(9),_add_link(9),_register_link(9),_omap2xxx_3xxx_wait_target_ready(9),_omap4_wait_target_ready(9)_omap2_assert_hardreset(9),_omap2_deassert_hardreset(9),_omap2_is_hardreset_asserted(9),_omap4_assert_hardreset(9),_omap4_deassert_hardreset(9)_omap4_is_hardreset_asserted(9),_omap4_disable_direct_prcm(9),_am33xx_deassert_hardreset(9),omap_hwmod_softreset(9),omap_hwmod_lookup(9)omap_hwmod_for_each(9),omap_hwmod_register_links(9),_ensure_mpu_hwmod_is_setup(9),omap_hwmod_setup_one(9),omap_hwmod_check_sysc(9)omap_hwmod_init_regbits(9),omap_hwmod_init_reg_offs(9),omap_hwmod_init_sysc_flags(9),omap_hwmod_init_idlemodes(9),omap_hwmod_check_module(9)omap_hwmod_allocate_module(9),omap_hwmod_init_module(9),omap_hwmod_setup_earlycon_flags(9),omap_hwmod_setup_all(9),omap_hwmod_enable(9)omap_hwmod_idle(9),omap_hwmod_shutdown(9),omap_hwmod_get_mpu_rt_va(9),omap_hwmod_assert_hardreset(9),omap_hwmod_deassert_hardreset(9)omap_hwmod_for_each_by_class(9),omap_hwmod_set_postsetup_state(9),omap_hwmod_init(9)
mwah π β from ./arch/arm/mach-omap2, dated October 2026, and this is _ocp_softreset(9) from the Kernel API Manual. 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