^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0-or-later */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * Platform data for ST STA350 ASoC codec driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) * Copyright: 2014 Raumfeld GmbH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) * Author: Sven Brandau <info@brandau.biz>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) #ifndef __LINUX_SND__STA350_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) #define __LINUX_SND__STA350_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #define STA350_OCFG_2CH 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) #define STA350_OCFG_2_1CH 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #define STA350_OCFG_1CH 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) #define STA350_OM_CH1 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) #define STA350_OM_CH2 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) #define STA350_OM_CH3 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) #define STA350_THERMAL_ADJUSTMENT_ENABLE 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) #define STA350_THERMAL_RECOVERY_ENABLE 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) #define STA350_FAULT_DETECT_RECOVERY_BYPASS 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) #define STA350_FFX_PM_DROP_COMP 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) #define STA350_FFX_PM_TAPERED_COMP 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) #define STA350_FFX_PM_FULL_POWER 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) #define STA350_FFX_PM_VARIABLE_DROP_COMP 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) struct sta350_platform_data {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) u8 output_conf;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) u8 ch1_output_mapping;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) u8 ch2_output_mapping;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) u8 ch3_output_mapping;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) u8 ffx_power_output_mode;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) u8 drop_compensation_ns;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) u8 powerdown_delay_divider;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) unsigned int thermal_warning_recovery:1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) unsigned int thermal_warning_adjustment:1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) unsigned int fault_detect_recovery:1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) unsigned int oc_warning_adjustment:1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) unsigned int max_power_use_mpcc:1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) unsigned int max_power_correction:1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) unsigned int am_reduction_mode:1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) unsigned int odd_pwm_speed_mode:1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) unsigned int distortion_compensation:1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) unsigned int invalid_input_detect_mute:1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) unsigned int activate_mute_output:1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) unsigned int bridge_immediate_off:1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) unsigned int noise_shape_dc_cut:1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) unsigned int powerdown_master_vol:1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) #endif /* __LINUX_SND__STA350_H */