include/linux/clk/tegra.h
Source file repositories/reference/linux-study-clean/include/linux/clk/tegra.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/clk/tegra.h- Extension
.h- Size
- 6365 bytes
- Lines
- 264
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.hlinux/bug.h
Detected Declarations
struct tegra_cpu_car_opsstruct clkstruct tegra_emcstruct tegra210_clk_emc_configstruct tegra210_clk_emc_providerfunction tegra_wait_cpu_in_resetfunction tegra_put_cpu_in_resetfunction tegra_cpu_out_of_resetfunction tegra_enable_cpu_clockfunction tegra_disable_cpu_clockfunction tegra_wait_cpu_in_resetfunction tegra_cpu_clock_suspendfunction tegra_cpu_clock_resumefunction tegra_cpu_rail_off_readyfunction tegra_cpu_clock_suspendfunction tegra20_clk_set_emc_round_callbackfunction tegra124_clk_set_emc_callbacksfunction tegra210_plle_hw_sequence_startfunction tegra210_plle_hw_sequence_is_enabledfunction tegra210_clk_handle_mbist_warfunction tegra210_clk_emc_attachfunction tegra210_xusb_pll_hw_control_enable
Annotated Snippet
struct tegra_cpu_car_ops {
void (*wait_for_reset)(u32 cpu);
void (*put_in_reset)(u32 cpu);
void (*out_of_reset)(u32 cpu);
void (*enable_clock)(u32 cpu);
void (*disable_clock)(u32 cpu);
#ifdef CONFIG_PM_SLEEP
bool (*rail_off_ready)(void);
void (*suspend)(void);
void (*resume)(void);
#endif
};
#ifdef CONFIG_ARCH_TEGRA
extern struct tegra_cpu_car_ops *tegra_cpu_car_ops;
static inline void tegra_wait_cpu_in_reset(u32 cpu)
{
if (WARN_ON(!tegra_cpu_car_ops->wait_for_reset))
return;
tegra_cpu_car_ops->wait_for_reset(cpu);
}
static inline void tegra_put_cpu_in_reset(u32 cpu)
{
if (WARN_ON(!tegra_cpu_car_ops->put_in_reset))
return;
tegra_cpu_car_ops->put_in_reset(cpu);
}
static inline void tegra_cpu_out_of_reset(u32 cpu)
{
if (WARN_ON(!tegra_cpu_car_ops->out_of_reset))
return;
tegra_cpu_car_ops->out_of_reset(cpu);
}
static inline void tegra_enable_cpu_clock(u32 cpu)
{
if (WARN_ON(!tegra_cpu_car_ops->enable_clock))
return;
tegra_cpu_car_ops->enable_clock(cpu);
}
static inline void tegra_disable_cpu_clock(u32 cpu)
{
if (WARN_ON(!tegra_cpu_car_ops->disable_clock))
return;
tegra_cpu_car_ops->disable_clock(cpu);
}
#else
static inline void tegra_wait_cpu_in_reset(u32 cpu)
{
}
static inline void tegra_put_cpu_in_reset(u32 cpu)
{
}
static inline void tegra_cpu_out_of_reset(u32 cpu)
{
}
static inline void tegra_enable_cpu_clock(u32 cpu)
{
}
static inline void tegra_disable_cpu_clock(u32 cpu)
{
}
#endif
#if defined(CONFIG_ARCH_TEGRA) && defined(CONFIG_PM_SLEEP)
static inline bool tegra_cpu_rail_off_ready(void)
{
if (WARN_ON(!tegra_cpu_car_ops->rail_off_ready))
return false;
return tegra_cpu_car_ops->rail_off_ready();
}
static inline void tegra_cpu_clock_suspend(void)
{
if (WARN_ON(!tegra_cpu_car_ops->suspend))
return;
Annotation
- Immediate include surface: `linux/types.h`, `linux/bug.h`.
- Detected declarations: `struct tegra_cpu_car_ops`, `struct clk`, `struct tegra_emc`, `struct tegra210_clk_emc_config`, `struct tegra210_clk_emc_provider`, `function tegra_wait_cpu_in_reset`, `function tegra_put_cpu_in_reset`, `function tegra_cpu_out_of_reset`, `function tegra_enable_cpu_clock`, `function tegra_disable_cpu_clock`.
- Atlas domain: Core OS / Core Kernel Interface.
- 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.