[RESEND] drm/i2c: tda998x: Reset the I2S_FORMAT (Page0, Reg 0xfc) to it's default

Peter Ujfalusi peter.ujfalusi at ti.com
Mon Feb 25 13:48:13 UTC 2019


Hi Russell,

On 22/02/2019 17.27, Russell King - ARM Linux admin wrote:
>> On BBB McASP is the clock master and as I recall I have tested 44.1, 48
>> KHz at least with 16 and 24 bits.
> 
> Sorry, I wasn't clear enough... is the bus clocked at 32Fs for 16bit
> samples and 64Fs for 24bit samples, or is it 64Fs for both?

Now that I have dug out the board:
Playback of the following formats works w/o plughw conversion:
32KHz/48KHz/96KHz, stereo, 16bit (32fs on bus)
32KHz/48KHz/96KHz, stereo, 24bit (S24_LE or S24_3LE - 48fs on bus)

McASP is only putting the needed amount of bclk on the bus for the given
format - uses params_width() for divider calculation.

>>>> Signed-off-by: Peter Ujfalusi <peter.ujfalusi at ti.com>
>>>> ---
>>>>  drivers/gpu/drm/i2c/tda998x_drv.c | 3 +++
>>>>  1 file changed, 3 insertions(+)
>>>>
>>>> diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c
>>>> index 7f34601bb515..72f93802d209 100644
>>>> --- a/drivers/gpu/drm/i2c/tda998x_drv.c
>>>> +++ b/drivers/gpu/drm/i2c/tda998x_drv.c
>>>> @@ -722,6 +722,9 @@ tda998x_reset(struct tda998x_priv *priv)
>>>>  
>>>>  	/* Write the default value MUX register */
>>>>  	reg_write(priv, REG_MUX_VP_VIP_OUT, 0x24);
>>>> +
>>>> +	/* Write the default to I2S_FORMAT register */
>>>> +	reg_write(priv, REG_I2S_FORMAT,   0x00);
>>>>  }
>>>>  
>>>>  /*
>>>> -- 
>>>> Peter
>>>>
>>>> Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
>>>> Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
>>>>
>>>>
>>>
>>
>> - Péter
>>
>> Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
>> Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
>>
> 

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki


More information about the dri-devel mailing list