Add samsung specific changes
This commit is contained in:
150
include/sound/samsung/sec_audio_sysfs.h
Normal file
150
include/sound/samsung/sec_audio_sysfs.h
Normal file
@@ -0,0 +1,150 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef _SEC_AUDIO_SYSFS_H
|
||||
#define _SEC_AUDIO_SYSFS_H
|
||||
|
||||
/*
|
||||
* 1 AMP project - mono(AMP_0)
|
||||
* 2 AMP project - L(AMP_0), R(AMP_1)
|
||||
* 3 AMP project - L(AMP_0), R(AMP_1), receiver(AMP_2)
|
||||
* 4 AMP project - FL(AMP_0), FR(AMP_1), RL(AMP_2), RR(AMP_3)
|
||||
*/
|
||||
enum amp_id {
|
||||
AMP_0,
|
||||
AMP_1,
|
||||
AMP_2,
|
||||
AMP_3,
|
||||
AMP_ID_MAX,
|
||||
};
|
||||
|
||||
struct sec_audio_sysfs_data {
|
||||
struct class *audio_class;
|
||||
struct device *jack_dev;
|
||||
struct device *codec_dev;
|
||||
struct device *amp_dev;
|
||||
struct device *adsp_dev;
|
||||
bool no_earjack;
|
||||
int (*get_jack_state)(void);
|
||||
int (*get_key_state)(void);
|
||||
int (*set_jack_state)(int);
|
||||
int (*get_mic_adc)(void);
|
||||
int (*get_codec_id_state)(void);
|
||||
int (*set_force_enable_antenna)(int);
|
||||
int (*get_antenna_state)(void);
|
||||
|
||||
/* bigdata */
|
||||
unsigned int num_amp;
|
||||
int (*get_amp_temperature_max)(enum amp_id);
|
||||
int (*get_amp_temperature_keep_max)(enum amp_id);
|
||||
int (*get_amp_temperature_overcount)(enum amp_id);
|
||||
int (*get_amp_excursion_max)(enum amp_id);
|
||||
int (*get_amp_excursion_overcount)(enum amp_id);
|
||||
int (*get_amp_curr_temperature)(enum amp_id);
|
||||
int (*set_amp_surface_temperature)(enum amp_id, int);
|
||||
int (*get_amp_ready)(enum amp_id);
|
||||
};
|
||||
|
||||
#if IS_ENABLED(CONFIG_SND_SOC_SAMSUNG_AUDIO)
|
||||
int audio_register_jack_select_cb(int (*set_jack) (int));
|
||||
int audio_register_jack_state_cb(int (*jack_status) (void));
|
||||
int audio_register_key_state_cb(int (*key_state) (void));
|
||||
int audio_register_mic_adc_cb(int (*mic_adc) (void));
|
||||
int audio_register_codec_id_state_cb(int (*codec_id_state) (void));
|
||||
int audio_register_force_enable_antenna_cb(int (*force_enable_antenna) (int));
|
||||
int audio_register_antenna_state_cb(int (*antenna_state) (void));
|
||||
|
||||
/* bigdata */
|
||||
int audio_register_temperature_max_cb(int (*temperature_max) (enum amp_id));
|
||||
int audio_register_temperature_keep_max_cb(int (*temperature_keep_max) (enum amp_id));
|
||||
int audio_register_temperature_overcount_cb(int (*temperature_overcount) (enum amp_id));
|
||||
int audio_register_excursion_max_cb(int (*excursion_max) (enum amp_id));
|
||||
int audio_register_excursion_overcount_cb(int (*excursion_overcount) (enum amp_id));
|
||||
int audio_register_curr_temperature_cb(int (*curr_temperature) (enum amp_id));
|
||||
int audio_register_surface_temperature_cb(int (*surface_temperature) (enum amp_id, int temperature));
|
||||
int audio_register_ready_cb(int (*ready) (enum amp_id));
|
||||
void send_adsp_silent_reset_ev(void);
|
||||
#else
|
||||
inline int audio_register_jack_select_cb(int (*set_jack) (int))
|
||||
{
|
||||
return -EACCES;
|
||||
}
|
||||
|
||||
inline int audio_register_jack_state_cb(int (*jack_status) (void))
|
||||
{
|
||||
return -EACCES;
|
||||
}
|
||||
|
||||
inline int audio_register_key_state_cb(int (*key_state) (void))
|
||||
{
|
||||
return -EACCES;
|
||||
}
|
||||
|
||||
inline int audio_register_mic_adc_cb(int (*mic_adc) (void))
|
||||
{
|
||||
return -EACCES;
|
||||
}
|
||||
|
||||
inline int audio_register_codec_id_state_cb(int (*codec_id_state) (void))
|
||||
{
|
||||
return -EACCES;
|
||||
}
|
||||
|
||||
inline int audio_register_force_enable_antenna_cb(int (*force_enable_antenna) (int))
|
||||
{
|
||||
return -EACCES;
|
||||
}
|
||||
|
||||
inline int audio_register_antenna_state_cb(int (*antenna_state) (void))
|
||||
{
|
||||
return -EACCES;
|
||||
}
|
||||
|
||||
inline int audio_register_temperature_max_cb(int (*temperature_max) (enum amp_id))
|
||||
{
|
||||
return -EACCES;
|
||||
}
|
||||
|
||||
inline int audio_register_temperature_keep_max_cb(int (*temperature_keep_max) (enum amp_id))
|
||||
{
|
||||
return -EACCES;
|
||||
}
|
||||
|
||||
inline int audio_register_temperature_overcount_cb(int (*temperature_overcount) (enum amp_id))
|
||||
{
|
||||
return -EACCES;
|
||||
}
|
||||
|
||||
inline int audio_register_excursion_max_cb(int (*excursion_max) (enum amp_id))
|
||||
{
|
||||
return -EACCES;
|
||||
}
|
||||
|
||||
inline int audio_register_excursion_overcount_cb(int (*excursion_overcount) (enum amp_id))
|
||||
{
|
||||
return -EACCES;
|
||||
}
|
||||
|
||||
inline int audio_register_curr_temperature_cb(int (*curr_temperature) (enum amp_id))
|
||||
{
|
||||
return -EACCES;
|
||||
}
|
||||
|
||||
inline int audio_register_surface_temperature_cb(int (*surface_temperature) (enum amp_id, int temperature))
|
||||
{
|
||||
return -EACCES;
|
||||
}
|
||||
|
||||
inline int audio_register_ready_cb(int (*ready) (enum amp_id))
|
||||
{
|
||||
return -EACCES;
|
||||
}
|
||||
|
||||
inline void send_adsp_silent_reset_ev(void)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _SEC_AUDIO_SYSFS_H */
|
33
include/sound/samsung/snd_debug_proc.h
Normal file
33
include/sound/samsung/snd_debug_proc.h
Normal file
@@ -0,0 +1,33 @@
|
||||
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* snd_debug_proc.h - header for SAMSUNG Audio debugging.
|
||||
*/
|
||||
|
||||
#include <linux/mutex.h>
|
||||
|
||||
#define AUD_LOG_BUF_SIZE SZ_64K
|
||||
|
||||
struct snd_debug_proc {
|
||||
char log_buf[AUD_LOG_BUF_SIZE];
|
||||
bool is_enabled;
|
||||
unsigned int buf_pos;
|
||||
unsigned int buf_full;
|
||||
struct mutex lock;
|
||||
void (*save_log)(char *buf, int len);
|
||||
};
|
||||
|
||||
#if IS_ENABLED(CONFIG_SND_SOC_SAMSUNG_AUDIO)
|
||||
void sdp_info_print(const char *fmt, ...);
|
||||
|
||||
void sdp_boot_print(const char *fmt, ...);
|
||||
#else
|
||||
inline void sdp_info_print(const char *fmt, ...)
|
||||
{
|
||||
}
|
||||
|
||||
inline void sdp_boot_print(const char *fmt, ...)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user