Commit | Line | Data |
---|---|---|
1a59d1b8 | 1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
1da177e4 LT |
2 | /* |
3 | * | |
4 | * Copyright (c) 2003 by Karsten Wiese <annabellesgarden@yahoo.de> | |
1da177e4 LT |
5 | */ |
6 | ||
bae3ce49 TI |
7 | enum E_IN84 { |
8 | E_FADER_0 = 0, | |
9 | E_FADER_1, | |
10 | E_FADER_2, | |
11 | E_FADER_3, | |
12 | E_FADER_4, | |
13 | E_FADER_5, | |
14 | E_FADER_6, | |
15 | E_FADER_7, | |
16 | E_FADER_M, | |
17 | E_TRANSPORT, | |
18 | E_MODIFIER = 10, | |
19 | E_FILTER_SELECT, | |
20 | E_SELECT, | |
21 | E_MUTE, | |
1da177e4 | 22 | |
bae3ce49 TI |
23 | E_SWITCH = 15, |
24 | E_WHEEL_GAIN, | |
25 | E_WHEEL_FREQ, | |
26 | E_WHEEL_Q, | |
27 | E_WHEEL_PAN, | |
28 | E_WHEEL = 20 | |
1da177e4 LT |
29 | }; |
30 | ||
31 | #define T_RECORD 1 | |
32 | #define T_PLAY 2 | |
33 | #define T_STOP 4 | |
34 | #define T_F_FWD 8 | |
35 | #define T_REW 0x10 | |
36 | #define T_SOLO 0x20 | |
37 | #define T_REC 0x40 | |
38 | #define T_NULL 0x80 | |
39 | ||
40 | ||
bbe85bbd | 41 | struct us428_ctls { |
4c0a58ef TI |
42 | unsigned char fader[9]; |
43 | unsigned char transport; | |
44 | unsigned char modifier; | |
45 | unsigned char filters_elect; | |
46 | unsigned char select; | |
47 | unsigned char mute; | |
48 | unsigned char unknown; | |
49 | unsigned char wswitch; | |
50 | unsigned char wheel[5]; | |
1da177e4 LT |
51 | }; |
52 | ||
bae3ce49 TI |
53 | struct us428_set_byte { |
54 | unsigned char offset, | |
55 | value; | |
bbe85bbd | 56 | }; |
1da177e4 LT |
57 | |
58 | enum { | |
bae3ce49 TI |
59 | ELT_VOLUME = 0, |
60 | ELT_LIGHT | |
1da177e4 LT |
61 | }; |
62 | ||
bae3ce49 TI |
63 | struct usx2y_volume { |
64 | unsigned char channel, | |
65 | lh, | |
66 | ll, | |
67 | rh, | |
68 | rl; | |
bbe85bbd | 69 | }; |
1da177e4 | 70 | |
bbe85bbd | 71 | struct us428_lights { |
bae3ce49 | 72 | struct us428_set_byte light[7]; |
1da177e4 | 73 | }; |
1da177e4 | 74 | |
bbe85bbd | 75 | struct us428_p4out { |
1da177e4 LT |
76 | char type; |
77 | union { | |
bae3ce49 | 78 | struct usx2y_volume vol; |
bbe85bbd | 79 | struct us428_lights lights; |
1da177e4 | 80 | } val; |
bbe85bbd | 81 | }; |
1da177e4 | 82 | |
bae3ce49 TI |
83 | #define N_US428_CTL_BUFS 16 |
84 | #define N_US428_P4OUT_BUFS 16 | |
85 | struct us428ctls_sharedmem { | |
86 | struct us428_ctls ctl_snapshot[N_US428_CTL_BUFS]; | |
87 | int ctl_snapshot_differs_at[N_US428_CTL_BUFS]; | |
88 | int ctl_snapshot_last, ctl_snapshot_red; | |
89 | struct us428_p4out p4out[N_US428_P4OUT_BUFS]; | |
90 | int p4out_last, p4out_sent; | |
1da177e4 | 91 | }; |
4e268db7 TI |
92 | |
93 | #define US428_SHAREDMEM_PAGES PAGE_ALIGN(sizeof(struct us428ctls_sharedmem)) |