Linux-libre 5.4.48-gnu
[librecmc/linux-libre.git] / sound / isa / galaxy / azt2316.c
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3  * Aztech AZT2316 Driver
4  * Copyright (C) 2007,2010  Rene Herman
5  */
6
7 #define AZT2316
8
9 #define CRD_NAME "Aztech AZT2316"
10 #define DRV_NAME "AZT2316"
11 #define DEV_NAME "azt2316"
12
13 #define GALAXY_DSP_MAJOR                3
14 #define GALAXY_DSP_MINOR                1
15
16 #define GALAXY_CONFIG_SIZE              4
17
18 /*
19  * 32-bit config register
20  */
21
22 #define GALAXY_CONFIG_SBA_220           (0 << 0)
23 #define GALAXY_CONFIG_SBA_240           (1 << 0)
24 #define GALAXY_CONFIG_SBA_260           (2 << 0)
25 #define GALAXY_CONFIG_SBA_280           (3 << 0)
26 #define GALAXY_CONFIG_SBA_MASK          GALAXY_CONFIG_SBA_280
27
28 #define GALAXY_CONFIG_SBIRQ_2           (1 << 2)
29 #define GALAXY_CONFIG_SBIRQ_5           (1 << 3)
30 #define GALAXY_CONFIG_SBIRQ_7           (1 << 4)
31 #define GALAXY_CONFIG_SBIRQ_10          (1 << 5)
32
33 #define GALAXY_CONFIG_SBDMA_DISABLE     (0 << 6)
34 #define GALAXY_CONFIG_SBDMA_0           (1 << 6)
35 #define GALAXY_CONFIG_SBDMA_1           (2 << 6)
36 #define GALAXY_CONFIG_SBDMA_3           (3 << 6)
37
38 #define GALAXY_CONFIG_WSSA_530          (0 << 8)
39 #define GALAXY_CONFIG_WSSA_604          (1 << 8)
40 #define GALAXY_CONFIG_WSSA_E80          (2 << 8)
41 #define GALAXY_CONFIG_WSSA_F40          (3 << 8)
42
43 #define GALAXY_CONFIG_WSS_ENABLE        (1 << 10)
44
45 #define GALAXY_CONFIG_GAME_ENABLE       (1 << 11)
46
47 #define GALAXY_CONFIG_MPUA_300          (0 << 12)
48 #define GALAXY_CONFIG_MPUA_330          (1 << 12)
49
50 #define GALAXY_CONFIG_MPU_ENABLE        (1 << 13)
51
52 #define GALAXY_CONFIG_CDA_310           (0 << 14)
53 #define GALAXY_CONFIG_CDA_320           (1 << 14)
54 #define GALAXY_CONFIG_CDA_340           (2 << 14)
55 #define GALAXY_CONFIG_CDA_350           (3 << 14)
56 #define GALAXY_CONFIG_CDA_MASK          GALAXY_CONFIG_CDA_350
57
58 #define GALAXY_CONFIG_CD_DISABLE        (0 << 16)
59 #define GALAXY_CONFIG_CD_PANASONIC      (1 << 16)
60 #define GALAXY_CONFIG_CD_SONY           (2 << 16)
61 #define GALAXY_CONFIG_CD_MITSUMI        (3 << 16)
62 #define GALAXY_CONFIG_CD_AZTECH         (4 << 16)
63 #define GALAXY_CONFIG_CD_UNUSED_5       (5 << 16)
64 #define GALAXY_CONFIG_CD_UNUSED_6       (6 << 16)
65 #define GALAXY_CONFIG_CD_UNUSED_7       (7 << 16)
66 #define GALAXY_CONFIG_CD_MASK           GALAXY_CONFIG_CD_UNUSED_7
67
68 #define GALAXY_CONFIG_CDDMA8_DISABLE    (0 << 20)
69 #define GALAXY_CONFIG_CDDMA8_0          (1 << 20)
70 #define GALAXY_CONFIG_CDDMA8_1          (2 << 20)
71 #define GALAXY_CONFIG_CDDMA8_3          (3 << 20)
72 #define GALAXY_CONFIG_CDDMA8_MASK       GALAXY_CONFIG_CDDMA8_3
73
74 #define GALAXY_CONFIG_CDDMA16_DISABLE   (0 << 22)
75 #define GALAXY_CONFIG_CDDMA16_5         (1 << 22)
76 #define GALAXY_CONFIG_CDDMA16_6         (2 << 22)
77 #define GALAXY_CONFIG_CDDMA16_7         (3 << 22)
78 #define GALAXY_CONFIG_CDDMA16_MASK      GALAXY_CONFIG_CDDMA16_7
79
80 #define GALAXY_CONFIG_MPUIRQ_2          (1 << 24)
81 #define GALAXY_CONFIG_MPUIRQ_5          (1 << 25)
82 #define GALAXY_CONFIG_MPUIRQ_7          (1 << 26)
83 #define GALAXY_CONFIG_MPUIRQ_10         (1 << 27)
84
85 #define GALAXY_CONFIG_CDIRQ_5           (1 << 28)
86 #define GALAXY_CONFIG_CDIRQ_11          (1 << 29)
87 #define GALAXY_CONFIG_CDIRQ_12          (1 << 30)
88 #define GALAXY_CONFIG_CDIRQ_15          (1 << 31)
89 #define GALAXY_CONFIG_CDIRQ_MASK        (\
90         GALAXY_CONFIG_CDIRQ_5 | GALAXY_CONFIG_CDIRQ_11 |\
91         GALAXY_CONFIG_CDIRQ_12 | GALAXY_CONFIG_CDIRQ_15)
92
93 #define GALAXY_CONFIG_MASK              (\
94         GALAXY_CONFIG_SBA_MASK | GALAXY_CONFIG_CDA_MASK |\
95         GALAXY_CONFIG_CD_MASK | GALAXY_CONFIG_CDDMA16_MASK |\
96         GALAXY_CONFIG_CDDMA8_MASK | GALAXY_CONFIG_CDIRQ_MASK)
97
98 #include "galaxy.c"