Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/sound/pci/aw2/saa7146.h
26424 views
1
/* SPDX-License-Identifier: GPL-2.0-only */
2
/*****************************************************************************
3
*
4
* Copyright (C) 2008 Cedric Bregardis <[email protected]> and
5
* Jean-Christian Hassler <[email protected]>
6
*
7
* This file is part of the Audiowerk2 ALSA driver
8
*
9
*****************************************************************************/
10
11
/* SAA7146 registers */
12
#define PCI_BT_A 0x4C
13
#define IICTFR 0x8C
14
#define IICSTA 0x90
15
#define BaseA1_in 0x94
16
#define ProtA1_in 0x98
17
#define PageA1_in 0x9C
18
#define BaseA1_out 0xA0
19
#define ProtA1_out 0xA4
20
#define PageA1_out 0xA8
21
#define BaseA2_in 0xAC
22
#define ProtA2_in 0xB0
23
#define PageA2_in 0xB4
24
#define BaseA2_out 0xB8
25
#define ProtA2_out 0xBC
26
#define PageA2_out 0xC0
27
#define IER 0xDC
28
#define GPIO_CTRL 0xE0
29
#define ACON1 0xF4
30
#define ACON2 0xF8
31
#define MC1 0xFC
32
#define MC2 0x100
33
#define ISR 0x10C
34
#define PSR 0x110
35
#define SSR 0x114
36
#define PCI_ADP1 0x12C
37
#define PCI_ADP2 0x130
38
#define PCI_ADP3 0x134
39
#define PCI_ADP4 0x138
40
#define LEVEL_REP 0x140
41
#define FB_BUFFER1 0x144
42
#define FB_BUFFER2 0x148
43
#define TSL1 0x180
44
#define TSL2 0x1C0
45
46
#define ME (1UL << 11)
47
#define LIMIT (1UL << 4)
48
#define PV (1UL << 3)
49
50
/* PSR/ISR/IER */
51
#define PPEF (1UL << 31)
52
#define PABO (1UL << 30)
53
#define IIC_S (1UL << 17)
54
#define IIC_E (1UL << 16)
55
#define A2_in (1UL << 15)
56
#define A2_out (1UL << 14)
57
#define A1_in (1UL << 13)
58
#define A1_out (1UL << 12)
59
#define AFOU (1UL << 11)
60
#define PIN3 (1UL << 6)
61
#define PIN2 (1UL << 5)
62
#define PIN1 (1UL << 4)
63
#define PIN0 (1UL << 3)
64
#define ECS (1UL << 2)
65
#define EC3S (1UL << 1)
66
#define EC0S (1UL << 0)
67
68
/* SSR */
69
#define PRQ (1UL << 31)
70
#define PMA (1UL << 30)
71
#define IIC_EA (1UL << 21)
72
#define IIC_EW (1UL << 20)
73
#define IIC_ER (1UL << 19)
74
#define IIC_EL (1UL << 18)
75
#define IIC_EF (1UL << 17)
76
#define AF2_in (1UL << 10)
77
#define AF2_out (1UL << 9)
78
#define AF1_in (1UL << 8)
79
#define AF1_out (1UL << 7)
80
#define EC5S (1UL << 3)
81
#define EC4S (1UL << 2)
82
#define EC2S (1UL << 1)
83
#define EC1S (1UL << 0)
84
85
/* PCI_BT_A */
86
#define BurstA1_in (1UL << 26)
87
#define ThreshA1_in (1UL << 24)
88
#define BurstA1_out (1UL << 18)
89
#define ThreshA1_out (1UL << 16)
90
#define BurstA2_in (1UL << 10)
91
#define ThreshA2_in (1UL << 8)
92
#define BurstA2_out (1UL << 2)
93
#define ThreshA2_out (1UL << 0)
94
95
/* MC1 */
96
#define MRST_N (1UL << 15)
97
#define EAP (1UL << 9)
98
#define EI2C (1UL << 8)
99
#define TR_E_A2_OUT (1UL << 3)
100
#define TR_E_A2_IN (1UL << 2)
101
#define TR_E_A1_OUT (1UL << 1)
102
#define TR_E_A1_IN (1UL << 0)
103
104
/* MC2 */
105
#define UPLD_IIC (1UL << 0)
106
107
/* ACON1 */
108
#define AUDIO_MODE (1UL << 29)
109
#define MAXLEVEL (1UL << 22)
110
#define A1_SWAP (1UL << 21)
111
#define A2_SWAP (1UL << 20)
112
#define WS0_CTRL (1UL << 18)
113
#define WS0_SYNC (1UL << 16)
114
#define WS1_CTRL (1UL << 14)
115
#define WS1_SYNC (1UL << 12)
116
#define WS2_CTRL (1UL << 10)
117
#define WS2_SYNC (1UL << 8)
118
#define WS3_CTRL (1UL << 6)
119
#define WS3_SYNC (1UL << 4)
120
#define WS4_CTRL (1UL << 2)
121
#define WS4_SYNC (1UL << 0)
122
123
/* ACON2 */
124
#define A1_CLKSRC (1UL << 27)
125
#define A2_CLKSRC (1UL << 22)
126
#define INVERT_BCLK1 (1UL << 21)
127
#define INVERT_BCLK2 (1UL << 20)
128
#define BCLK1_OEN (1UL << 19)
129
#define BCLK2_OEN (1UL << 18)
130
131
/* IICSTA */
132
#define IICCC (1UL << 8)
133
#define ABORT (1UL << 7)
134
#define SPERR (1UL << 6)
135
#define APERR (1UL << 5)
136
#define DTERR (1UL << 4)
137
#define DRERR (1UL << 3)
138
#define AL (1UL << 2)
139
#define ERR (1UL << 1)
140
#define BUSY (1UL << 0)
141
142
/* IICTFR */
143
#define BYTE2 (1UL << 24)
144
#define BYTE1 (1UL << 16)
145
#define BYTE0 (1UL << 8)
146
#define ATRR2 (1UL << 6)
147
#define ATRR1 (1UL << 4)
148
#define ATRR0 (1UL << 2)
149
#define ERR (1UL << 1)
150
#define BUSY (1UL << 0)
151
152
#define START 3
153
#define CONT 2
154
#define STOP 1
155
#define NOP 0
156
157