@@ -718,6 +718,69 @@ static const struct regmap_config tas5721_regmap_config = {
718718 .volatile_table = & tas571x_volatile_regs ,
719719};
720720
721+ static const struct snd_kcontrol_new tas5733_controls [] = {
722+ /* MVOL LSB is ignored - see comments in tas571x_i2c_probe() */
723+ SOC_SINGLE_TLV ("Master Volume" ,
724+ TAS571X_MVOL_REG , 1 , 0x1ff , 1 ,
725+ tas5717_volume_tlv ),
726+ SOC_DOUBLE_R_TLV ("Speaker Volume" ,
727+ TAS571X_CH1_VOL_REG , TAS571X_CH2_VOL_REG ,
728+ 1 , 0x1ff , 1 , tas5717_volume_tlv ),
729+ SOC_DOUBLE ("Speaker Switch" ,
730+ TAS571X_SOFT_MUTE_REG ,
731+ TAS571X_SOFT_MUTE_CH1_SHIFT , TAS571X_SOFT_MUTE_CH2_SHIFT ,
732+ 1 , 1 ),
733+
734+ SOC_DOUBLE_R_RANGE ("CH1 Mixer Volume" ,
735+ TAS5717_CH1_LEFT_CH_MIX_REG ,
736+ TAS5717_CH1_RIGHT_CH_MIX_REG ,
737+ 16 , 0 , 0x80 , 0 ),
738+
739+ SOC_DOUBLE_R_RANGE ("CH2 Mixer Volume" ,
740+ TAS5717_CH2_LEFT_CH_MIX_REG ,
741+ TAS5717_CH2_RIGHT_CH_MIX_REG ,
742+ 16 , 0 , 0x80 , 0 ),
743+
744+ /*
745+ * The biquads are named according to the register names.
746+ * Please note that TI's TAS57xx Graphical Development Environment
747+ * tool names them different.
748+ */
749+ BIQUAD_COEFS ("CH1 - Biquad 0" , TAS5733_CH1_BQ0_REG ),
750+ BIQUAD_COEFS ("CH1 - Biquad 1" , TAS5733_CH1_BQ1_REG ),
751+ BIQUAD_COEFS ("CH1 - Biquad 2" , TAS5733_CH1_BQ2_REG ),
752+ BIQUAD_COEFS ("CH1 - Biquad 3" , TAS5733_CH1_BQ3_REG ),
753+ BIQUAD_COEFS ("CH1 - Biquad 4" , TAS5733_CH1_BQ4_REG ),
754+ BIQUAD_COEFS ("CH1 - Biquad 5" , TAS5733_CH1_BQ5_REG ),
755+ BIQUAD_COEFS ("CH1 - Biquad 6" , TAS5733_CH1_BQ6_REG ),
756+ BIQUAD_COEFS ("CH1 - Biquad 7" , TAS5733_CH1_BQ7_REG ),
757+ BIQUAD_COEFS ("CH1 - Biquad 8" , TAS5733_CH1_BQ8_REG ),
758+ BIQUAD_COEFS ("CH1 - Biquad 9" , TAS5733_CH1_BQ9_REG ),
759+ BIQUAD_COEFS ("CH1 - Biquad 10" , TAS5733_CH1_BQ10_REG ),
760+
761+ BIQUAD_COEFS ("CH2 - Biquad 0" , TAS5733_CH2_BQ0_REG ),
762+ BIQUAD_COEFS ("CH2 - Biquad 1" , TAS5733_CH2_BQ1_REG ),
763+ BIQUAD_COEFS ("CH2 - Biquad 2" , TAS5733_CH2_BQ2_REG ),
764+ BIQUAD_COEFS ("CH2 - Biquad 3" , TAS5733_CH2_BQ3_REG ),
765+ BIQUAD_COEFS ("CH2 - Biquad 4" , TAS5733_CH2_BQ4_REG ),
766+ BIQUAD_COEFS ("CH2 - Biquad 5" , TAS5733_CH2_BQ5_REG ),
767+ BIQUAD_COEFS ("CH2 - Biquad 6" , TAS5733_CH2_BQ6_REG ),
768+ BIQUAD_COEFS ("CH2 - Biquad 7" , TAS5733_CH2_BQ7_REG ),
769+ BIQUAD_COEFS ("CH2 - Biquad 8" , TAS5733_CH2_BQ8_REG ),
770+ BIQUAD_COEFS ("CH2 - Biquad 9" , TAS5733_CH2_BQ9_REG ),
771+ BIQUAD_COEFS ("CH2 - Biquad 10" , TAS5733_CH2_BQ10_REG ),
772+
773+ BIQUAD_COEFS ("CH1 - Cross Biquad 0" , TAS5733_CH1_CBQ0_REG ),
774+ BIQUAD_COEFS ("CH1 - Cross Biquad 1" , TAS5733_CH1_CBQ1_REG ),
775+ BIQUAD_COEFS ("CH1 - Cross Biquad 2" , TAS5733_CH1_CBQ2_REG ),
776+ BIQUAD_COEFS ("CH1 - Cross Biquad 3" , TAS5733_CH1_CBQ3_REG ),
777+
778+ BIQUAD_COEFS ("CH2 - Cross Biquad 0" , TAS5733_CH2_CBQ0_REG ),
779+ BIQUAD_COEFS ("CH2 - Cross Biquad 1" , TAS5733_CH2_CBQ1_REG ),
780+ BIQUAD_COEFS ("CH2 - Cross Biquad 2" , TAS5733_CH2_CBQ2_REG ),
781+ BIQUAD_COEFS ("CH2 - Cross Biquad 3" , TAS5733_CH2_CBQ3_REG ),
782+ };
783+
721784static const char * const tas5733_supply_names [] = {
722785 "AVDD" ,
723786 "DVDD" ,
@@ -770,8 +833,8 @@ static const struct regmap_config tas5733_regmap_config = {
770833static const struct tas571x_chip tas5733_chip = {
771834 .supply_names = tas5733_supply_names ,
772835 .num_supply_names = ARRAY_SIZE (tas5733_supply_names ),
773- .controls = tas5717_controls ,
774- .num_controls = ARRAY_SIZE (tas5717_controls ),
836+ .controls = tas5733_controls ,
837+ .num_controls = ARRAY_SIZE (tas5733_controls ),
775838 .regmap_config = & tas5733_regmap_config ,
776839 .vol_reg_size = 2 ,
777840};
0 commit comments