[Sound-open-firmware] [PATCH] cnl: ssp: fix DSP_B setting in ssp

rander.wang rander.wang at linux.intel.com
Thu Mar 8 02:43:38 CET 2018


Hi Pierre,

On 3/7/2018 10:01 PM, Pierre-Louis Bossart wrote:
> On 3/6/18 10:31 PM, Rander Wang wrote:
>> set ssp according to DSP_B spec
>>
>> Signed-off-by: Rander Wang <rander.wang at linux.intel.com>
>> ---
>>   src/drivers/apl-ssp.c | 5 +++--
>>   1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/src/drivers/apl-ssp.c b/src/drivers/apl-ssp.c
>> index a726f3c..c32bd35 100644
>> --- a/src/drivers/apl-ssp.c
>> +++ b/src/drivers/apl-ssp.c
>> @@ -333,10 +333,11 @@ static inline int ssp_set_config(struct dai *dai,
>>           sscr0 |= SSCR0_MOD | SSCR0_FRDC(config->num_slots);
>>             /* set asserted frame length */
>> -        frame_len = config->sample_container_bits;
>> +        frame_len = 1;
>
> this needs to be done for DSP_B as well.

     you mean DSP_A ? yes, this patch is for DSP_B,  next DSP_A will be 
validated

>
>>             /* handle frame polarity, DSP_A default is rising/active 
>> high */
>> -        sspsp |= SSPSP_SFRMP(inverted_frame);
>> +        sspsp |= SSPSP_SFRMP(!inverted_frame);
>
> I don't think this is correct.  the documentation says with this bit 
> asserted (value=1) the frame is active high which is exactly what we 
> want.
>
     No, the frame active low is what we want according to the ASOC 
spec.  Data is sent when active low, frame sync is at active high.

     And without this modification, the frame sync clock is rotated 180 
compared to spec. And it is validated by Zhigang on APL and

    also it is set by COE

>
>> +        sspsp |= SSPSP_FSRT;
>
> why is this necessary? this disables a fix for dummy stop/padding.
     it is get from COE setting.
>
>>             break;
>>       default:
>>
>


More information about the Sound-open-firmware mailing list