Sound Open Firmware
Loading...
Searching...
No Matches
sof.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause
2 *
3 * Copyright(c) 2016 Intel Corporation. All rights reserved.
4 *
5 * Author: Liam Girdwood <liam.r.girdwood@linux.intel.com>
6 */
7
8#ifndef __ZEPHYR_RTOS_SOF_H__
9#define __ZEPHYR_RTOS_SOF_H__
11#include <sof/common.h>
12#include <sof/lib/memory.h>
14
15#ifndef CONFIG_ZEPHYR_NATIVE_DRIVERS
17#endif
18struct clock_info;
20struct dai_info;
21struct dma_info;
23struct ipc;
25struct mm;
26#ifndef CONFIG_ZEPHYR_NATIVE_DRIVERS
27struct mn;
28#endif
30struct notify_data;
31struct pm_runtime_data;
32struct sa;
33struct trace;
34struct pipeline_posn;
35struct probe_pdata;
36
44struct sof {
45 /* init data */
46 int argc;
47 char **argv;
48
49#ifndef CONFIG_SOF_USERSPACE_LL
50 /* ipc */
51 struct ipc *ipc;
52#endif
54 /* system agent */
55 struct sa *sa;
56
57 /* DMA for Trace*/
59
60 /* generic trace structure */
61 struct trace *trace;
62
63 /* platform clock information */
65
66 /* timer domain for driving timer LL scheduler */
68
69 /* DMA domain for driving DMA LL scheduler */
71
72 /* memory map */
73 struct mm *memory_map;
74
75 /* runtime power management data */
76 struct pm_runtime_data *prd;
77
78#ifdef CONFIG_AMS
79 /* asynchronous messaging service */
80 struct ams_shared_context *ams_shared_ctx;
81#endif
82
83 /* shared notifier data */
85
86 /* platform dai information */
87 const struct dai_info *dai_info;
88
89 /* platform DMA information */
90 const struct dma_info *dma_info;
91
92#ifndef CONFIG_ZEPHYR_NATIVE_DRIVERS
93 /* cascading interrupt controller root */
95#endif
96
97 /* list of registered component drivers */
99
100#ifndef CONFIG_ZEPHYR_NATIVE_DRIVERS
101 /* M/N dividers */
102 struct mn *mn;
103#endif
104
105 /* probes */
106 struct probe_pdata *probe;
107
108 /* pipelines stream position */
110
111#ifdef CONFIG_LIBRARY_MANAGER
112 /* dynamically loaded libraries */
113 struct ext_library *ext_library;
114#endif
115
116 __aligned(PLATFORM_DCACHE_ALIGN) int alignment[0];
117} __aligned(PLATFORM_DCACHE_ALIGN);
118
119struct sof *sof_get(void);
120
121#endif /* __ZEPHYR_RTOS_SOF_H__ */
struct mn * mn
Definition sof.h:57
struct sof * sof_get(void)
const struct dai_info * dai_info
Definition sof.h:42
struct pipeline_posn * pipeline_posn
Definition sof.h:64
struct trace * trace
Definition sof.h:16
Definition ams.h:106
Cascading interrupt controller root.
Definition interrupt.h:111
Definition clk.h:40
Holds list of registered components' drivers.
Definition component_ext.h:27
Definition dma.h:243
Definition dma-trace.h:30
Definition common.h:90
Definition ll_schedule_domain.h:84
Definition notifier.h:42
Definition agent.h:23
General firmware context.
Definition sof.h:44
struct ipc * ipc
Definition sof.h:51
struct comp_driver_list * comp_drivers
Definition sof.h:98
struct probe_pdata * probe
Definition sof.h:106
struct sa * sa
Definition sof.h:55
char ** argv
Definition sof.h:47
struct ll_schedule_domain * platform_timer_domain
Definition sof.h:67
struct dma_trace_data * dmat
Definition sof.h:58
const struct dai_info * dai_info
Definition sof.h:87
const struct dma_info * dma_info
Definition sof.h:90
struct clock_info * clocks
Definition sof.h:64
struct pm_runtime_data * prd
Definition sof.h:76
struct ll_schedule_domain * platform_dma_domain
Definition sof.h:70
struct notify_data * notify_data
Definition sof.h:84
struct mm * memory_map
Definition sof.h:73
__aligned(PLATFORM_DCACHE_ALIGN) int alignment[0]
int argc
Definition sof.h:46
struct cascade_root * cascade_root
Definition sof.h:94
struct trace * trace
Definition sof.h:61
struct mn * mn
Definition sof.h:102
struct pipeline_posn * pipeline_posn
Definition sof.h:109
#define __aligned(x)
Definition compiler_attributes.h:27