Added de-emphasis filter functions and speaker protection.
Added functions to manipulate the filter's coeffs and enable/disable it.
Also changed the machine layer (rx51.c) to set up the filter as a highpass
and turn it on when on speaker output for speaker protection.
TODO: Change filter coeffs if sample rate is changed. Right now it's fit
for 48kHz (and possibly fine with 44.1kHz).
Filter designed using scilab:
fc = [0.015 0.
010884354 0.01]
hz = iir(1, 'hp', 'ellip', [fc(3) 0], [0.1 0.1])
[hzm,fr]=frmag(hz,256);
plot2d(fr',hzm')
xtitle('Discrete IIR filter band pass 0.15<fr<0.25 ',' ',' ');
q=poly(0,'q'); //to express the result in terms of the ...
hzd=horner(hz,1/q) //delay operator q=z^-1
Fixed and tested hwdep device and documentation about it.
Now it actually works, and the documentation is accurate. Also
very close to removing the warning at the top.
DAC Filter controls and hwdep device added.
Added controls for the filter, off/on/custom.
hwdep device called "IIR Filter" added, documentation on how to use it
also added in: Documentation/sound/alsa/soc/codecs/tlv320aic3x.txt
Fixed some things up and refactored some things.
Initial import of patch.
What we have right now:
- All page 1 registers added as a u16 array of coefficients with routines
to read/write the coefficients (aic3x_read_coeff_cache and
aic3x_write_coeff respectively)
- Added syncing coeff_cache with hardware after a suspend/resume cycle
- Added ALSA controls for the 3-D depth simulation filter
What's missing:
- A lot
Revert "Initial import of patch."
This reverts commit
194579cf196aa190d1f80f7f037012073c573a80.
Initial import of patch.
What we have right now:
- All page 1 registers added as a u16 array of coefficients with routines
to read/write the coefficients (aic3x_read_coeff_cache and
aic3x_write_coeff respectively)
- Added syncing coeff_cache with hardware after a suspend/resume cycle
- Added ALSA controls for the 3-D depth simulation filter
What's missing:
A lot