drivers/clk/ti/clk-2xxx.c
Source file repositories/reference/linux-study-clean/drivers/clk/ti/clk-2xxx.c
File Facts
- System
- Linux kernel
- Corpus path
drivers/clk/ti/clk-2xxx.c- Extension
.c- Size
- 8855 bytes
- Lines
- 251
- Domain
- Driver Families
- Bucket
- drivers/clk
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/kernel.hlinux/list.hlinux/clk.hlinux/clk/ti.hclock.h
Detected Declarations
function omap2xxx_dt_clk_initfunction omap2420_dt_clk_initfunction omap2430_dt_clk_init
Annotated Snippet
// SPDX-License-Identifier: GPL-2.0-only
/*
* OMAP2 Clock init
*
* Copyright (C) 2013 Texas Instruments, Inc
* Tero Kristo (t-kristo@ti.com)
*/
#include <linux/kernel.h>
#include <linux/list.h>
#include <linux/clk.h>
#include <linux/clk/ti.h>
#include "clock.h"
static struct ti_dt_clk omap2xxx_clks[] = {
DT_CLK(NULL, "func_32k_ck", "func_32k_ck"),
DT_CLK(NULL, "secure_32k_ck", "secure_32k_ck"),
DT_CLK(NULL, "virt_12m_ck", "virt_12m_ck"),
DT_CLK(NULL, "virt_13m_ck", "virt_13m_ck"),
DT_CLK(NULL, "virt_19200000_ck", "virt_19200000_ck"),
DT_CLK(NULL, "virt_26m_ck", "virt_26m_ck"),
DT_CLK(NULL, "aplls_clkin_ck", "aplls_clkin_ck"),
DT_CLK(NULL, "aplls_clkin_x2_ck", "aplls_clkin_x2_ck"),
DT_CLK(NULL, "osc_ck", "osc_ck"),
DT_CLK(NULL, "sys_ck", "sys_ck"),
DT_CLK(NULL, "alt_ck", "alt_ck"),
DT_CLK(NULL, "mcbsp_clks", "mcbsp_clks"),
DT_CLK(NULL, "dpll_ck", "dpll_ck"),
DT_CLK(NULL, "apll96_ck", "apll96_ck"),
DT_CLK(NULL, "apll54_ck", "apll54_ck"),
DT_CLK(NULL, "func_54m_ck", "func_54m_ck"),
DT_CLK(NULL, "core_ck", "core_ck"),
DT_CLK(NULL, "func_96m_ck", "func_96m_ck"),
DT_CLK(NULL, "func_48m_ck", "func_48m_ck"),
DT_CLK(NULL, "func_12m_ck", "func_12m_ck"),
DT_CLK(NULL, "sys_clkout_src", "sys_clkout_src"),
DT_CLK(NULL, "sys_clkout", "sys_clkout"),
DT_CLK(NULL, "emul_ck", "emul_ck"),
DT_CLK(NULL, "mpu_ck", "mpu_ck"),
DT_CLK(NULL, "dsp_fck", "dsp_fck"),
DT_CLK(NULL, "gfx_3d_fck", "gfx_3d_fck"),
DT_CLK(NULL, "gfx_2d_fck", "gfx_2d_fck"),
DT_CLK(NULL, "gfx_ick", "gfx_ick"),
DT_CLK("omapdss_dss", "ick", "dss_ick"),
DT_CLK(NULL, "dss_ick", "dss_ick"),
DT_CLK(NULL, "dss1_fck", "dss1_fck"),
DT_CLK(NULL, "dss2_fck", "dss2_fck"),
DT_CLK(NULL, "dss_54m_fck", "dss_54m_fck"),
DT_CLK(NULL, "core_l3_ck", "core_l3_ck"),
DT_CLK(NULL, "ssi_fck", "ssi_ssr_sst_fck"),
DT_CLK(NULL, "usb_l4_ick", "usb_l4_ick"),
DT_CLK(NULL, "l4_ck", "l4_ck"),
DT_CLK(NULL, "ssi_l4_ick", "ssi_l4_ick"),
DT_CLK(NULL, "gpt1_ick", "gpt1_ick"),
DT_CLK(NULL, "gpt1_fck", "gpt1_fck"),
DT_CLK(NULL, "gpt2_ick", "gpt2_ick"),
DT_CLK(NULL, "gpt2_fck", "gpt2_fck"),
DT_CLK(NULL, "gpt3_ick", "gpt3_ick"),
DT_CLK(NULL, "gpt3_fck", "gpt3_fck"),
DT_CLK(NULL, "gpt4_ick", "gpt4_ick"),
DT_CLK(NULL, "gpt4_fck", "gpt4_fck"),
DT_CLK(NULL, "gpt5_ick", "gpt5_ick"),
DT_CLK(NULL, "gpt5_fck", "gpt5_fck"),
DT_CLK(NULL, "gpt6_ick", "gpt6_ick"),
DT_CLK(NULL, "gpt6_fck", "gpt6_fck"),
DT_CLK(NULL, "gpt7_ick", "gpt7_ick"),
DT_CLK(NULL, "gpt7_fck", "gpt7_fck"),
DT_CLK(NULL, "gpt8_ick", "gpt8_ick"),
DT_CLK(NULL, "gpt8_fck", "gpt8_fck"),
DT_CLK(NULL, "gpt9_ick", "gpt9_ick"),
DT_CLK(NULL, "gpt9_fck", "gpt9_fck"),
DT_CLK(NULL, "gpt10_ick", "gpt10_ick"),
DT_CLK(NULL, "gpt10_fck", "gpt10_fck"),
DT_CLK(NULL, "gpt11_ick", "gpt11_ick"),
DT_CLK(NULL, "gpt11_fck", "gpt11_fck"),
DT_CLK(NULL, "gpt12_ick", "gpt12_ick"),
DT_CLK(NULL, "gpt12_fck", "gpt12_fck"),
DT_CLK("omap-mcbsp.1", "ick", "mcbsp1_ick"),
DT_CLK(NULL, "mcbsp1_ick", "mcbsp1_ick"),
DT_CLK(NULL, "mcbsp1_fck", "mcbsp1_fck"),
DT_CLK("omap-mcbsp.2", "ick", "mcbsp2_ick"),
DT_CLK(NULL, "mcbsp2_ick", "mcbsp2_ick"),
DT_CLK(NULL, "mcbsp2_fck", "mcbsp2_fck"),
DT_CLK("omap2_mcspi.1", "ick", "mcspi1_ick"),
DT_CLK(NULL, "mcspi1_ick", "mcspi1_ick"),
DT_CLK(NULL, "mcspi1_fck", "mcspi1_fck"),
DT_CLK("omap2_mcspi.2", "ick", "mcspi2_ick"),
DT_CLK(NULL, "mcspi2_ick", "mcspi2_ick"),
DT_CLK(NULL, "mcspi2_fck", "mcspi2_fck"),
Annotation
- Immediate include surface: `linux/kernel.h`, `linux/list.h`, `linux/clk.h`, `linux/clk/ti.h`, `clock.h`.
- Detected declarations: `function omap2xxx_dt_clk_init`, `function omap2420_dt_clk_init`, `function omap2430_dt_clk_init`.
- Atlas domain: Driver Families / drivers/clk.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.