android13/hardware/rockchip/audio/tinyalsa_hal/codec_config/wm8960_config.h

870 lines
22 KiB
C
Executable File

/*
* Copyright (C) 2015 Rockchip Electronics Co., Ltd.
*/
/**
* @file wm8960_config.h
* @brief
* @author RKAudio
* @version 1.0.8
* @date 2015-08-24
*/
#ifndef _WM8960_CONFIG_H_
#define _WM8960_CONFIG_H_
#include "config.h"
const struct config_control wm8960_speaker_normal_controls[] = {
{
.ctl_name = "Right Output Mixer PCM Playback Switch",
.int_val = {off},
},
{
.ctl_name = "Left Output Mixer PCM Playback Switch",
.int_val = {off},
},
{
.ctl_name = "Right Output Mixer Boost Bypass Switch",
.int_val = {off},
},
{
.ctl_name = "Left Output Mixer Boost Bypass Switch",
.int_val = {off},
},
{
.ctl_name = "Right Output Mixer RINPUT3 Switch",
.int_val = {off},
},
{
.ctl_name = "Left Output Mixer LINPUT3 Switch",
.int_val = {off},
},
{
.ctl_name = "Playback Volume",
.int_val = {255, 255},
},
{
.ctl_name = "Speaker Playback Volume",
.int_val = {120, 120},
},
{
.ctl_name = "Headphone Playback Volume",
.int_val = {0, 0},
},
{
.ctl_name = "Right Output Mixer PCM Playback Switch",
.int_val = {on},
},
{
.ctl_name = "Left Output Mixer PCM Playback Switch",
.int_val = {on},
},
};
const struct config_control wm8960_speaker_incall_controls[] = {
};
const struct config_control wm8960_speaker_ringtone_controls[] = {
{
.ctl_name = "Right Output Mixer PCM Playback Switch",
.int_val = {off},
},
{
.ctl_name = "Left Output Mixer PCM Playback Switch",
.int_val = {off},
},
{
.ctl_name = "Right Output Mixer Boost Bypass Switch",
.int_val = {off},
},
{
.ctl_name = "Left Output Mixer Boost Bypass Switch",
.int_val = {off},
},
{
.ctl_name = "Right Output Mixer RINPUT3 Switch",
.int_val = {off},
},
{
.ctl_name = "Left Output Mixer LINPUT3 Switch",
.int_val = {off},
},
{
.ctl_name = "Playback Volume",
.int_val = {255, 255},
},
{
.ctl_name = "Speaker Playback Volume",
.int_val = {120, 120},
},
{
.ctl_name = "Headphone Playback Volume",
.int_val = {0, 0},
},
{
.ctl_name = "Right Output Mixer PCM Playback Switch",
.int_val = {on},
},
{
.ctl_name = "Left Output Mixer PCM Playback Switch",
.int_val = {on},
},
};
const struct config_control wm8960_speaker_voip_controls[] = {
};
const struct config_control wm8960_earpiece_normal_controls[] = {
};
const struct config_control wm8960_earpiece_incall_controls[] = {
};
const struct config_control wm8960_earpiece_ringtone_controls[] = {
};
const struct config_control wm8960_earpiece_voip_controls[] = {
};
const struct config_control wm8960_headphone_normal_controls[] = {
{
.ctl_name = "Right Output Mixer PCM Playback Switch",
.int_val = {off},
},
{
.ctl_name = "Left Output Mixer PCM Playback Switch",
.int_val = {off},
},
{
.ctl_name = "Right Output Mixer Boost Bypass Switch",
.int_val = {off},
},
{
.ctl_name = "Left Output Mixer Boost Bypass Switch",
.int_val = {off},
},
{
.ctl_name = "Right Output Mixer RINPUT3 Switch",
.int_val = {off},
},
{
.ctl_name = "Left Output Mixer LINPUT3 Switch",
.int_val = {off},
},
{
.ctl_name = "Playback Volume",
.int_val = {255, 255},
},
{
.ctl_name = "Speaker Playback Volume",
.int_val = {0, 0},
},
{
.ctl_name = "Headphone Playback Volume",
.int_val = {116, 116},
},
{
.ctl_name = "Right Output Mixer PCM Playback Switch",
.int_val = {on},
},
{
.ctl_name = "Left Output Mixer PCM Playback Switch",
.int_val = {on},
},
};
const struct config_control wm8960_headphone_incall_controls[] = {
};
const struct config_control wm8960_headphone_ringtone_controls[] = {
{
.ctl_name = "Right Output Mixer PCM Playback Switch",
.int_val = {off},
},
{
.ctl_name = "Left Output Mixer PCM Playback Switch",
.int_val = {off},
},
{
.ctl_name = "Right Output Mixer Boost Bypass Switch",
.int_val = {off},
},
{
.ctl_name = "Left Output Mixer Boost Bypass Switch",
.int_val = {off},
},
{
.ctl_name = "Right Output Mixer RINPUT3 Switch",
.int_val = {off},
},
{
.ctl_name = "Left Output Mixer LINPUT3 Switch",
.int_val = {off},
},
{
.ctl_name = "Playback Volume",
.int_val = {255, 255},
},
{
.ctl_name = "Speaker Playback Volume",
.int_val = {0, 0},
},
{
.ctl_name = "Headphone Playback Volume",
.int_val = {116, 116},
},
{
.ctl_name = "Right Output Mixer PCM Playback Switch",
.int_val = {on},
},
{
.ctl_name = "Left Output Mixer PCM Playback Switch",
.int_val = {on},
},
};
const struct config_control wm8960_speaker_headphone_normal_controls[] = {
};
const struct config_control wm8960_speaker_headphone_ringtone_controls[] = {
};
const struct config_control wm8960_headphone_voip_controls[] = {
};
const struct config_control wm8960_headset_normal_controls[] = {
{
.ctl_name = "Right Output Mixer PCM Playback Switch",
.int_val = {off},
},
{
.ctl_name = "Left Output Mixer PCM Playback Switch",
.int_val = {off},
},
{
.ctl_name = "Right Output Mixer Boost Bypass Switch",
.int_val = {off},
},
{
.ctl_name = "Left Output Mixer Boost Bypass Switch",
.int_val = {off},
},
{
.ctl_name = "Right Output Mixer RINPUT3 Switch",
.int_val = {off},
},
{
.ctl_name = "Left Output Mixer LINPUT3 Switch",
.int_val = {off},
},
{
.ctl_name = "Playback Volume",
.int_val = {255, 255},
},
{
.ctl_name = "Speaker Playback Volume",
.int_val = {0, 0},
},
{
.ctl_name = "Headphone Playback Volume",
.int_val = {116, 116},
},
{
.ctl_name = "Right Output Mixer PCM Playback Switch",
.int_val = {on},
},
{
.ctl_name = "Left Output Mixer PCM Playback Switch",
.int_val = {on},
},
};
const struct config_control wm8960_headset_incall_controls[] = {
};
const struct config_control wm8960_headset_ringtone_controls[] = {
{
.ctl_name = "Right Output Mixer PCM Playback Switch",
.int_val = {off},
},
{
.ctl_name = "Left Output Mixer PCM Playback Switch",
.int_val = {off},
},
{
.ctl_name = "Right Output Mixer Boost Bypass Switch",
.int_val = {off},
},
{
.ctl_name = "Left Output Mixer Boost Bypass Switch",
.int_val = {off},
},
{
.ctl_name = "Right Output Mixer RINPUT3 Switch",
.int_val = {off},
},
{
.ctl_name = "Left Output Mixer LINPUT3 Switch",
.int_val = {off},
},
{
.ctl_name = "Playback Volume",
.int_val = {255, 255},
},
{
.ctl_name = "Speaker Playback Volume",
.int_val = {0, 0},
},
{
.ctl_name = "Headphone Playback Volume",
.int_val = {116, 116},
},
{
.ctl_name = "Right Output Mixer PCM Playback Switch",
.int_val = {on},
},
{
.ctl_name = "Left Output Mixer PCM Playback Switch",
.int_val = {on},
},
};
const struct config_control wm8960_headset_voip_controls[] = {
};
const struct config_control wm8960_bluetooth_normal_controls[] = {
};
const struct config_control wm8960_bluetooth_incall_controls[] = {
};
const struct config_control wm8960_bluetooth_voip_controls[] = {
};
const struct config_control wm8960_main_mic_capture_controls[] = {
{
.ctl_name = "Capture Switch",
.int_val = {off,off},
},
{
.ctl_name = "Left Input Mixer Boost Switch",
.int_val = {off},
},
{
.ctl_name = "Right Input Mixer Boost Switch",
.int_val = {off},
},
{
.ctl_name = "ADC High Pass Filter Switch",
.int_val = {on},
},
{
.ctl_name = "Right Boost Mixer RINPUT1 Switch",
.int_val = {off},
},
{
.ctl_name = "Right Boost Mixer RINPUT2 Switch",
.int_val = {on},
},
{
.ctl_name = "Right Boost Mixer RINPUT3 Switch",
.int_val = {off},
},
{
.ctl_name = "Left Boost Mixer LINPUT1 Switch",
.int_val = {on},
},
{
.ctl_name = "Left Boost Mixer LINPUT2 Switch",
.int_val = {on},
},
{
.ctl_name = "Left Boost Mixer LINPUT3 Switch",
.int_val = {off},
},
{
.ctl_name = "LINPUT2 To Left Boost Mixer Volume",
.int_val = {3},
},
{
.ctl_name = "LINPUT3 To Left Boost Mixer Volume",
.int_val = {0},
},
{
.ctl_name = "RINPUT2 To Right Boost Mixer Volume",
.int_val = {3},
},
{
.ctl_name = "RINPUT3 To Right Boost Mixer Volume",
.int_val = {0},
},
{
.ctl_name = "Lmic Boost",
.str_val = "0db",
},
{
.ctl_name = "Rmic Boost",
.str_val = "0db",
},
{
.ctl_name = "Capture Volume",
.int_val = {63,63},
},
{
.ctl_name = "ADC PCM Capture Volume",
.int_val = {127,127},
},
{
.ctl_name = "Capture Volume Switch",
.int_val = {0,0},
},
{
.ctl_name = "Capture Switch",
.int_val = {on,on},
},
{
.ctl_name = "Left Input Mixer Boost Switch",
.int_val = {on},
},
{
.ctl_name = "Right Input Mixer Boost Switch",
.int_val = {on},
},
};
const struct config_control wm8960_hands_free_mic_capture_controls[] = {
{
.ctl_name = "Capture Switch",
.int_val = {off,off},
},
{
.ctl_name = "Left Input Mixer Boost Switch",
.int_val = {off},
},
{
.ctl_name = "Right Input Mixer Boost Switch",
.int_val = {off},
},
{
.ctl_name = "ADC High Pass Filter Switch",
.int_val = {on},
},
{
.ctl_name = "Right Boost Mixer RINPUT1 Switch",
.int_val = {on},
},
{
.ctl_name = "Right Boost Mixer RINPUT2 Switch",
.int_val = {off},
},
{
.ctl_name = "Right Boost Mixer RINPUT3 Switch",
.int_val = {off},
},
{
.ctl_name = "Left Boost Mixer LINPUT1 Switch",
.int_val = {off},
},
{
.ctl_name = "Left Boost Mixer LINPUT2 Switch",
.int_val = {off},
},
{
.ctl_name = "Left Boost Mixer LINPUT3 Switch",
.int_val = {off},
},
{
.ctl_name = "LINPUT2 To Left Boost Mixer Volume",
.int_val = {0},
},
{
.ctl_name = "LINPUT3 To Left Boost Mixer Volume",
.int_val = {0},
},
{
.ctl_name = "RINPUT2 To Right Boost Mixer Volume",
.int_val = {0},
},
{
.ctl_name = "RINPUT3 To Right Boost Mixer Volume",
.int_val = {0},
},
{
.ctl_name = "Right Input Mixer Boost Switch",
.int_val = {on},
},
{
.ctl_name = "Left Input Mixer Boost Switch",
.int_val = {off},
},
{
.ctl_name = "Lmic Boost",
.str_val = "0db",
},
{
.ctl_name = "Rmic Boost",
.str_val = "13db",
},
{
.ctl_name = "Capture Volume",
.int_val = {0,63},
},
{
.ctl_name = "ADC PCM Capture Volume",
.int_val = {0,80},
},
{
.ctl_name = "Capture Volume Switch",
.int_val = {0,0},
},
{
.ctl_name = "Capture Switch",
.int_val = {off,on},
},
};
const struct config_control wm8960_bluetooth_sco_mic_capture_controls[] = {
};
const struct config_control wm8960_playback_off_controls[] = {
{
.ctl_name = "Right Output Mixer PCM Playback Switch",
.int_val = {off},
},
{
.ctl_name = "Left Output Mixer PCM Playback Switch",
.int_val = {off},
},
{
.ctl_name = "Right Output Mixer Boost Bypass Switch",
.int_val = {off},
},
{
.ctl_name = "Left Output Mixer Boost Bypass Switch",
.int_val = {off},
},
{
.ctl_name = "Right Output Mixer RINPUT3 Switch",
.int_val = {off},
},
{
.ctl_name = "Left Output Mixer LINPUT3 Switch",
.int_val = {off},
},
{
.ctl_name = "Playback Volume",
.int_val = {0, 0},
},
{
.ctl_name = "Speaker Playback Volume",
.int_val = {0, 0},
},
{
.ctl_name = "Headphone Playback Volume",
.int_val = {0, 0},
},
};
const struct config_control wm8960_capture_off_controls[] = {
{
.ctl_name = "Capture Switch",
.int_val = {off,off},
},
{
.ctl_name = "Left Input Mixer Boost Switch",
.int_val = {off},
},
{
.ctl_name = "Right Input Mixer Boost Switch",
.int_val = {off},
},
{
.ctl_name = "ADC High Pass Filter Switch",
.int_val = {off},
},
{
.ctl_name = "Right Boost Mixer RINPUT1 Switch",
.int_val = {off},
},
{
.ctl_name = "Right Boost Mixer RINPUT2 Switch",
.int_val = {off},
},
{
.ctl_name = "Right Boost Mixer RINPUT3 Switch",
.int_val = {off},
},
{
.ctl_name = "Left Boost Mixer LINPUT1 Switch",
.int_val = {off},
},
{
.ctl_name = "Left Boost Mixer LINPUT2 Switch",
.int_val = {off},
},
{
.ctl_name = "Left Boost Mixer LINPUT3 Switch",
.int_val = {off},
},
{
.ctl_name = "LINPUT2 To Left Boost Mixer Volume",
.int_val = {0},
},
{
.ctl_name = "LINPUT3 To Left Boost Mixer Volume",
.int_val = {0},
},
{
.ctl_name = "RINPUT2 To Right Boost Mixer Volume",
.int_val = {0},
},
{
.ctl_name = "RINPUT3 To Right Boost Mixer Volume",
.int_val = {0},
},
{
.ctl_name = "Left Input Mixer Boost Switch",
.int_val = {off},
},
{
.ctl_name = "Right Input Mixer Boost Switch",
.int_val = {off},
},
{
.ctl_name = "Lmic Boost",
.str_val = "0db",
},
{
.ctl_name = "Rmic Boost",
.str_val = "0db",
},
{
.ctl_name = "Capture Volume",
.int_val = {0,0},
},
{
.ctl_name = "ADC PCM Capture Volume",
.int_val = {0,0},
},
{
.ctl_name = "Capture Volume Switch",
.int_val = {0,0},
},
};
const struct config_control wm8960_incall_off_controls[] = {
};
const struct config_control wm8960_voip_off_controls[] = {
};
const struct config_route_table wm8960_config_table = {
//speaker
.speaker_normal = {
.sound_card = 0,
.devices = DEVICES_0,
.controls = wm8960_speaker_normal_controls,
.controls_count = sizeof(wm8960_speaker_normal_controls) / sizeof(struct config_control),
},
.speaker_incall = {
.sound_card = 0,
.devices = DEVICES_0,
.controls = wm8960_speaker_incall_controls,
.controls_count = sizeof(wm8960_speaker_incall_controls) / sizeof(struct config_control),
},
.speaker_ringtone = {
.sound_card = 0,
.devices = DEVICES_0,
.controls = wm8960_speaker_ringtone_controls,
.controls_count = sizeof(wm8960_speaker_ringtone_controls) / sizeof(struct config_control),
},
.speaker_voip = {
.sound_card = 0,
.devices = DEVICES_0,
.controls = wm8960_speaker_voip_controls,
.controls_count = sizeof(wm8960_speaker_voip_controls) / sizeof(struct config_control),
},
//earpiece
.earpiece_normal = {
.sound_card = 0,
.devices = DEVICES_0,
.controls = wm8960_earpiece_normal_controls,
.controls_count = sizeof(wm8960_earpiece_normal_controls) / sizeof(struct config_control),
},
.earpiece_incall = {
.sound_card = 0,
.devices = DEVICES_0,
.controls = wm8960_earpiece_incall_controls,
.controls_count = sizeof(wm8960_earpiece_incall_controls) / sizeof(struct config_control),
},
.earpiece_ringtone = {
.sound_card = 0,
.devices = DEVICES_0,
.controls = wm8960_earpiece_ringtone_controls,
.controls_count = sizeof(wm8960_earpiece_ringtone_controls) / sizeof(struct config_control),
},
.earpiece_voip = {
.sound_card = 0,
.devices = DEVICES_0,
.controls = wm8960_earpiece_voip_controls,
.controls_count = sizeof(wm8960_earpiece_voip_controls) / sizeof(struct config_control),
},
//headphone
.headphone_normal = {
.sound_card = 0,
.devices = DEVICES_0,
.controls = wm8960_headphone_normal_controls,
.controls_count = sizeof(wm8960_headphone_normal_controls) / sizeof(struct config_control),
},
.headphone_incall = {
.sound_card = 0,
.devices = DEVICES_0,
.controls = wm8960_headphone_incall_controls,
.controls_count = sizeof(wm8960_headphone_incall_controls) / sizeof(struct config_control),
},
.headphone_ringtone = {
.sound_card = 0,
.devices = DEVICES_0,
.controls = wm8960_headphone_ringtone_controls,
.controls_count = sizeof(wm8960_headphone_ringtone_controls) / sizeof(struct config_control),
},
.speaker_headphone_normal = {
.sound_card = 0,
.devices = DEVICES_0,
.controls = wm8960_speaker_headphone_normal_controls,
.controls_count = sizeof(wm8960_speaker_headphone_normal_controls) / sizeof(struct config_control),
},
.speaker_headphone_ringtone = {
.sound_card = 0,
.devices = DEVICES_0,
.controls = wm8960_speaker_headphone_ringtone_controls,
.controls_count = sizeof(wm8960_speaker_headphone_ringtone_controls) / sizeof(struct config_control),
},
.headphone_voip = {
.sound_card = 0,
.devices = DEVICES_0,
.controls = wm8960_headphone_voip_controls,
.controls_count = sizeof(wm8960_headphone_voip_controls) / sizeof(struct config_control),
},
//headset
.headset_normal = {
.sound_card = 0,
.devices = DEVICES_0,
.controls = wm8960_headset_normal_controls,
.controls_count = sizeof(wm8960_headset_normal_controls) / sizeof(struct config_control),
},
.headset_incall = {
.sound_card = 0,
.devices = DEVICES_0,
.controls = wm8960_headset_incall_controls,
.controls_count = sizeof(wm8960_headset_incall_controls) / sizeof(struct config_control),
},
.headset_ringtone = {
.sound_card = 0,
.devices = DEVICES_0,
.controls = wm8960_headset_ringtone_controls,
.controls_count = sizeof(wm8960_headset_ringtone_controls) / sizeof(struct config_control),
},
.headset_voip = {
.sound_card = 0,
.devices = DEVICES_0,
.controls = wm8960_headset_voip_controls,
.controls_count = sizeof(wm8960_headset_voip_controls) / sizeof(struct config_control),
},
//bluetooth
.bluetooth_normal = {
.sound_card = 0,
.devices = DEVICES_0,
.controls = wm8960_bluetooth_normal_controls,
.controls_count = sizeof(wm8960_bluetooth_normal_controls) / sizeof(struct config_control),
},
.bluetooth_incall = {
.sound_card = 0,
.devices = DEVICES_0,
.controls = wm8960_bluetooth_incall_controls,
.controls_count = sizeof(wm8960_bluetooth_incall_controls) / sizeof(struct config_control),
},
.bluetooth_voip = {
.sound_card = 0,
.devices = DEVICES_0,
.controls = wm8960_bluetooth_voip_controls,
.controls_count = sizeof(wm8960_bluetooth_voip_controls) / sizeof(struct config_control),
},
//capture
.main_mic_capture = {
.sound_card = 0,
.devices = DEVICES_0,
.controls = wm8960_main_mic_capture_controls,
.controls_count = sizeof(wm8960_main_mic_capture_controls) / sizeof(struct config_control),
},
.hands_free_mic_capture = {
.sound_card = 0,
.devices = DEVICES_0,
.controls = wm8960_hands_free_mic_capture_controls,
.controls_count = sizeof(wm8960_hands_free_mic_capture_controls) / sizeof(struct config_control),
},
.bluetooth_sco_mic_capture = {
.sound_card = 0,
.devices = DEVICES_0,
.controls = wm8960_bluetooth_sco_mic_capture_controls,
.controls_count = sizeof(wm8960_bluetooth_sco_mic_capture_controls) / sizeof(struct config_control),
},
//off
.playback_off = {
.controls = wm8960_playback_off_controls,
.controls_count = sizeof(wm8960_playback_off_controls) / sizeof(struct config_control),
},
.capture_off = {
.controls = wm8960_capture_off_controls,
.controls_count = sizeof(wm8960_capture_off_controls) / sizeof(struct config_control),
},
.incall_off = {
.controls = wm8960_incall_off_controls,
.controls_count = sizeof(wm8960_incall_off_controls) / sizeof(struct config_control),
},
.voip_off = {
.controls = wm8960_voip_off_controls,
.controls_count = sizeof(wm8960_voip_off_controls) / sizeof(struct config_control),
},
//hdmi
.hdmi_normal = {
.sound_card = 1,
.devices = DEVICES_0,
.controls_count = 0,
},
//usb audio
.usb_normal = {
.sound_card = 2,
.devices = DEVICES_0,
.controls_count = 0,
},
.usb_capture = {
.sound_card = 2,
.devices = DEVICES_0,
.controls_count = 0,
},
};
#endif //_wm8960_CONFIG_H_