xref: /aosp_15_r20/bionic/libc/kernel/uapi/sound/asound_fm.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef __SOUND_ASOUND_FM_H
8*8d67ca89SAndroid Build Coastguard Worker #define __SOUND_ASOUND_FM_H
9*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_DM_FM_MODE_OPL2 0x00
10*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_DM_FM_MODE_OPL3 0x01
11*8d67ca89SAndroid Build Coastguard Worker struct snd_dm_fm_info {
12*8d67ca89SAndroid Build Coastguard Worker   unsigned char fm_mode;
13*8d67ca89SAndroid Build Coastguard Worker   unsigned char rhythm;
14*8d67ca89SAndroid Build Coastguard Worker };
15*8d67ca89SAndroid Build Coastguard Worker struct snd_dm_fm_voice {
16*8d67ca89SAndroid Build Coastguard Worker   unsigned char op;
17*8d67ca89SAndroid Build Coastguard Worker   unsigned char voice;
18*8d67ca89SAndroid Build Coastguard Worker   unsigned char am;
19*8d67ca89SAndroid Build Coastguard Worker   unsigned char vibrato;
20*8d67ca89SAndroid Build Coastguard Worker   unsigned char do_sustain;
21*8d67ca89SAndroid Build Coastguard Worker   unsigned char kbd_scale;
22*8d67ca89SAndroid Build Coastguard Worker   unsigned char harmonic;
23*8d67ca89SAndroid Build Coastguard Worker   unsigned char scale_level;
24*8d67ca89SAndroid Build Coastguard Worker   unsigned char volume;
25*8d67ca89SAndroid Build Coastguard Worker   unsigned char attack;
26*8d67ca89SAndroid Build Coastguard Worker   unsigned char decay;
27*8d67ca89SAndroid Build Coastguard Worker   unsigned char sustain;
28*8d67ca89SAndroid Build Coastguard Worker   unsigned char release;
29*8d67ca89SAndroid Build Coastguard Worker   unsigned char feedback;
30*8d67ca89SAndroid Build Coastguard Worker   unsigned char connection;
31*8d67ca89SAndroid Build Coastguard Worker   unsigned char left;
32*8d67ca89SAndroid Build Coastguard Worker   unsigned char right;
33*8d67ca89SAndroid Build Coastguard Worker   unsigned char waveform;
34*8d67ca89SAndroid Build Coastguard Worker };
35*8d67ca89SAndroid Build Coastguard Worker struct snd_dm_fm_note {
36*8d67ca89SAndroid Build Coastguard Worker   unsigned char voice;
37*8d67ca89SAndroid Build Coastguard Worker   unsigned char octave;
38*8d67ca89SAndroid Build Coastguard Worker   unsigned int fnum;
39*8d67ca89SAndroid Build Coastguard Worker   unsigned char key_on;
40*8d67ca89SAndroid Build Coastguard Worker };
41*8d67ca89SAndroid Build Coastguard Worker struct snd_dm_fm_params {
42*8d67ca89SAndroid Build Coastguard Worker   unsigned char am_depth;
43*8d67ca89SAndroid Build Coastguard Worker   unsigned char vib_depth;
44*8d67ca89SAndroid Build Coastguard Worker   unsigned char kbd_split;
45*8d67ca89SAndroid Build Coastguard Worker   unsigned char rhythm;
46*8d67ca89SAndroid Build Coastguard Worker   unsigned char bass;
47*8d67ca89SAndroid Build Coastguard Worker   unsigned char snare;
48*8d67ca89SAndroid Build Coastguard Worker   unsigned char tomtom;
49*8d67ca89SAndroid Build Coastguard Worker   unsigned char cymbal;
50*8d67ca89SAndroid Build Coastguard Worker   unsigned char hihat;
51*8d67ca89SAndroid Build Coastguard Worker };
52*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_DM_FM_IOCTL_INFO _IOR('H', 0x20, struct snd_dm_fm_info)
53*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_DM_FM_IOCTL_RESET _IO('H', 0x21)
54*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_DM_FM_IOCTL_PLAY_NOTE _IOW('H', 0x22, struct snd_dm_fm_note)
55*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_DM_FM_IOCTL_SET_VOICE _IOW('H', 0x23, struct snd_dm_fm_voice)
56*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_DM_FM_IOCTL_SET_PARAMS _IOW('H', 0x24, struct snd_dm_fm_params)
57*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_DM_FM_IOCTL_SET_MODE _IOW('H', 0x25, int)
58*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_DM_FM_IOCTL_SET_CONNECTION _IOW('H', 0x26, int)
59*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_DM_FM_IOCTL_CLEAR_PATCHES _IO('H', 0x40)
60*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_DM_FM_OSS_IOCTL_RESET 0x20
61*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_DM_FM_OSS_IOCTL_PLAY_NOTE 0x21
62*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_DM_FM_OSS_IOCTL_SET_VOICE 0x22
63*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_DM_FM_OSS_IOCTL_SET_PARAMS 0x23
64*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_DM_FM_OSS_IOCTL_SET_MODE 0x24
65*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_DM_FM_OSS_IOCTL_SET_OPL 0x25
66*8d67ca89SAndroid Build Coastguard Worker #define FM_KEY_SBI "SBI\032"
67*8d67ca89SAndroid Build Coastguard Worker #define FM_KEY_2OP "2OP\032"
68*8d67ca89SAndroid Build Coastguard Worker #define FM_KEY_4OP "4OP\032"
69*8d67ca89SAndroid Build Coastguard Worker struct sbi_patch {
70*8d67ca89SAndroid Build Coastguard Worker   unsigned char prog;
71*8d67ca89SAndroid Build Coastguard Worker   unsigned char bank;
72*8d67ca89SAndroid Build Coastguard Worker   char key[4];
73*8d67ca89SAndroid Build Coastguard Worker   char name[25];
74*8d67ca89SAndroid Build Coastguard Worker   char extension[7];
75*8d67ca89SAndroid Build Coastguard Worker   unsigned char data[32];
76*8d67ca89SAndroid Build Coastguard Worker };
77*8d67ca89SAndroid Build Coastguard Worker #endif
78