Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/sound/pci/asihpi/hpi6000.h
26451 views
1
/* SPDX-License-Identifier: GPL-2.0-only */
2
/*****************************************************************************
3
4
AudioScience HPI driver
5
Copyright (C) 1997-2011 AudioScience Inc. <[email protected]>
6
7
8
Public declarations for DSP Proramming Interface to TI C6701
9
10
Shared between hpi6000.c and DSP code
11
12
(C) Copyright AudioScience Inc. 1998-2003
13
******************************************************************************/
14
15
#ifndef _HPI6000_H_
16
#define _HPI6000_H_
17
18
#define HPI_NMIXER_CONTROLS 200
19
20
/*
21
* Control caching is always supported in the HPI code.
22
* The DSP should make sure that dwControlCacheSizeInBytes is initialized to 0
23
* during boot to make it in-active.
24
*/
25
struct hpi_hif_6000 {
26
u32 host_cmd;
27
u32 dsp_ack;
28
u32 address;
29
u32 length;
30
u32 message_buffer_address;
31
u32 response_buffer_address;
32
u32 dsp_number;
33
u32 adapter_info;
34
u32 control_cache_is_dirty;
35
u32 control_cache_address;
36
u32 control_cache_size_in_bytes;
37
u32 control_cache_count;
38
};
39
40
#define HPI_HIF_PACK_ADAPTER_INFO(adapter, version_major, version_minor) \
41
((adapter << 16) | (version_major << 8) | version_minor)
42
#define HPI_HIF_ADAPTER_INFO_EXTRACT_ADAPTER(adapterinfo) \
43
((adapterinfo >> 16) & 0xffff)
44
#define HPI_HIF_ADAPTER_INFO_EXTRACT_HWVERSION_MAJOR(adapterinfo) \
45
((adapterinfo >> 8) & 0xff)
46
#define HPI_HIF_ADAPTER_INFO_EXTRACT_HWVERSION_MINOR(adapterinfo) \
47
(adapterinfo & 0xff)
48
49
/* Command/status exchanged between host and DSP */
50
#define HPI_HIF_IDLE 0
51
#define HPI_HIF_SEND_MSG 1
52
#define HPI_HIF_GET_RESP 2
53
#define HPI_HIF_DATA_MASK 0x10
54
#define HPI_HIF_SEND_DATA 0x13
55
#define HPI_HIF_GET_DATA 0x14
56
#define HPI_HIF_SEND_DONE 5
57
#define HPI_HIF_RESET 9
58
59
#endif /* _HPI6000_H_ */
60
61