[ALSA] oxygen: reduce SPI clock frequency for AK4396/WM8785
According to the datasheets, the SPI clock cycle must be at least 200 ns for the AK4396 and the WM8785, so we cannot use the default 160 ns. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
parent
71e22a4b77
commit
3b94253bc9
2 changed files with 3 additions and 3 deletions
|
@ -166,7 +166,7 @@ static void ak4396_write(struct oxygen *chip, unsigned int codec,
|
||||||
};
|
};
|
||||||
oxygen_write_spi(chip, OXYGEN_SPI_TRIGGER |
|
oxygen_write_spi(chip, OXYGEN_SPI_TRIGGER |
|
||||||
OXYGEN_SPI_DATA_LENGTH_2 |
|
OXYGEN_SPI_DATA_LENGTH_2 |
|
||||||
OXYGEN_SPI_CLOCK_160 |
|
OXYGEN_SPI_CLOCK_320 |
|
||||||
(codec_spi_map[codec] << OXYGEN_SPI_CODEC_SHIFT) |
|
(codec_spi_map[codec] << OXYGEN_SPI_CODEC_SHIFT) |
|
||||||
OXYGEN_SPI_CEN_LATCH_CLOCK_HI,
|
OXYGEN_SPI_CEN_LATCH_CLOCK_HI,
|
||||||
AK4396_WRITE | (reg << 8) | value);
|
AK4396_WRITE | (reg << 8) | value);
|
||||||
|
@ -176,7 +176,7 @@ static void wm8785_write(struct oxygen *chip, u8 reg, unsigned int value)
|
||||||
{
|
{
|
||||||
oxygen_write_spi(chip, OXYGEN_SPI_TRIGGER |
|
oxygen_write_spi(chip, OXYGEN_SPI_TRIGGER |
|
||||||
OXYGEN_SPI_DATA_LENGTH_2 |
|
OXYGEN_SPI_DATA_LENGTH_2 |
|
||||||
OXYGEN_SPI_CLOCK_160 |
|
OXYGEN_SPI_CLOCK_320 |
|
||||||
(3 << OXYGEN_SPI_CODEC_SHIFT) |
|
(3 << OXYGEN_SPI_CODEC_SHIFT) |
|
||||||
OXYGEN_SPI_CEN_LATCH_CLOCK_LO,
|
OXYGEN_SPI_CEN_LATCH_CLOCK_LO,
|
||||||
(reg << 9) | value);
|
(reg << 9) | value);
|
||||||
|
|
|
@ -174,7 +174,7 @@ void oxygen_write_spi(struct oxygen *chip, u8 control, unsigned int data)
|
||||||
{
|
{
|
||||||
unsigned int count;
|
unsigned int count;
|
||||||
|
|
||||||
/* should not need more than 3.84 us (24 * 160 ns) */
|
/* should not need more than 7.68 us (24 * 320 ns) */
|
||||||
count = 10;
|
count = 10;
|
||||||
while ((oxygen_read8(chip, OXYGEN_SPI_CONTROL) & OXYGEN_SPI_BUSY)
|
while ((oxygen_read8(chip, OXYGEN_SPI_CONTROL) & OXYGEN_SPI_BUSY)
|
||||||
&& count > 0) {
|
&& count > 0) {
|
||||||
|
|
Loading…
Reference in a new issue