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
14
#ifndef __ZEPHYR_RTOS_SOF_H__
15
#define __ZEPHYR_RTOS_SOF_H__
16
17
#include <
sof/common.h
>
18
#include <
sof/lib/memory.h
>
19
#include <
rtos/spinlock.h
>
20
21
#ifndef CONFIG_ZEPHYR_NATIVE_DRIVERS
22
struct
cascade_root
;
23
#endif
24
struct
clock_info
;
25
struct
comp_driver_list
;
26
struct
dai_info;
27
struct
dma_info
;
28
struct
dma_trace_data
;
29
struct
ipc
;
30
struct
ll_schedule_domain
;
31
struct
mm;
32
#ifndef CONFIG_ZEPHYR_NATIVE_DRIVERS
33
struct
mn;
34
#endif
35
struct
ams_shared_context
;
36
struct
notify_data
;
37
struct
pm_runtime_data;
38
struct
sa
;
39
struct
trace;
40
struct
pipeline_posn;
41
struct
probe_pdata;
42
50
struct
sof
{
51
/* init data */
52
int
argc
;
53
char
**
argv
;
54
55
#ifndef CONFIG_SOF_USERSPACE_LL
56
/* ipc */
57
struct
ipc
*
ipc
;
58
#endif
59
60
/* system agent */
61
struct
sa
*
sa
;
62
63
/* DMA for Trace*/
64
struct
dma_trace_data
*
dmat
;
65
66
/* generic trace structure */
67
struct
trace
*
trace
;
68
69
/* platform clock information */
70
struct
clock_info
*
clocks
;
71
72
/* timer domain for driving timer LL scheduler */
73
struct
ll_schedule_domain
*
platform_timer_domain
;
74
75
/* DMA domain for driving DMA LL scheduler */
76
struct
ll_schedule_domain
*
platform_dma_domain
;
77
78
/* memory map */
79
struct
mm *
memory_map
;
80
81
/* runtime power management data */
82
struct
pm_runtime_data *
prd
;
83
84
#ifdef CONFIG_AMS
85
/* asynchronous messaging service */
86
struct
ams_shared_context
*ams_shared_ctx;
87
#endif
88
89
/* shared notifier data */
90
struct
notify_data
*
notify_data
;
91
92
/* platform dai information */
93
const
struct
dai_info
*
dai_info
;
94
95
/* platform DMA information */
96
const
struct
dma_info
*
dma_info
;
97
98
#ifndef CONFIG_ZEPHYR_NATIVE_DRIVERS
99
/* cascading interrupt controller root */
100
struct
cascade_root
*
cascade_root
;
101
#endif
102
103
/* list of registered component drivers */
104
struct
comp_driver_list
*
comp_drivers
;
105
106
#ifndef CONFIG_ZEPHYR_NATIVE_DRIVERS
107
/* M/N dividers */
108
struct
mn
*
mn
;
109
#endif
110
111
/* probes */
112
struct
probe_pdata *
probe
;
113
114
/* pipelines stream position */
115
struct
pipeline_posn
*
pipeline_posn
;
116
117
#ifdef CONFIG_LIBRARY_MANAGER
118
/* dynamically loaded libraries */
119
struct
ext_library *ext_library;
120
#endif
121
122
__aligned(PLATFORM_DCACHE_ALIGN)
int
alignment
[0];
123
} __aligned(PLATFORM_DCACHE_ALIGN);
124
129
struct
sof
*
sof_get
(
void
);
130
131
#endif
/* __ZEPHYR_RTOS_SOF_H__ */
common.h
memory.h
Memory attributes, cold/hot execution paths, and platform memory inclusions.
sof_get
struct sof * sof_get(void)
Get the global Sound Open Firmware runtime instance pointer.
spinlock.h
RTOS spinlock primitives and initialization.
ams_shared_context
Definition
ams.h:106
cascade_root
Cascading interrupt controller root.
Definition
interrupt-legacy.h:111
clock_info
Definition
clk.h:46
comp_driver_list
Holds list of registered components' drivers.
Definition
component_ext.h:31
dma_info
Definition
dma.h:243
dma_trace_data
Main DMA trace context and state machine descriptor.
Definition
dma-trace.h:44
ipc
Definition
common.h:97
ll_schedule_domain
Low-Latency scheduling domain instance descriptor.
Definition
ll_schedule_domain.h:168
notify_data
Definition
notifier.h:40
sa
Definition
agent.h:23
sof
General firmware context.
Definition
sof.h:50
sof::ipc
struct ipc * ipc
Definition
sof.h:57
sof::comp_drivers
struct comp_driver_list * comp_drivers
Definition
sof.h:104
sof::probe
struct probe_pdata * probe
Definition
sof.h:112
sof::sa
struct sa * sa
Definition
sof.h:61
sof::argv
char ** argv
Definition
sof.h:53
sof::platform_timer_domain
struct ll_schedule_domain * platform_timer_domain
Definition
sof.h:73
sof::dmat
struct dma_trace_data * dmat
Definition
sof.h:64
sof::dai_info
const struct dai_info * dai_info
Definition
sof.h:93
sof::dma_info
const struct dma_info * dma_info
Definition
sof.h:96
sof::clocks
struct clock_info * clocks
Definition
sof.h:70
sof::prd
struct pm_runtime_data * prd
Definition
sof.h:82
sof::platform_dma_domain
struct ll_schedule_domain * platform_dma_domain
Definition
sof.h:76
sof::notify_data
struct notify_data * notify_data
Definition
sof.h:90
sof::alignment
int alignment[0]
Definition
sof.h:122
sof::memory_map
struct mm * memory_map
Definition
sof.h:79
sof::argc
int argc
Definition
sof.h:52
sof::cascade_root
struct cascade_root * cascade_root
Definition
sof.h:100
sof::trace
struct trace * trace
Definition
sof.h:67
sof::mn
struct mn * mn
Definition
sof.h:108
sof::pipeline_posn
struct pipeline_posn * pipeline_posn
Definition
sof.h:115
zephyr
include
rtos
sof.h
Generated by
1.9.8