summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/rt5677-spi.c
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: RT5677-SPI: Disable 16Bit SPI TransfersCurtis Malainey2019-05-061-19/+16Star
| | | | | | | | | | | | | | | | | | The current algorithm allows 3 types of transfers, 16bit, 32bit and burst. According to Realtek, 16bit transfers have a special restriction in that it is restricted to the memory region of 0x18020000 ~ 0x18021000. This region is the memory location of the I2C registers. The current algorithm does not uphold this restriction and therefore fails to complete writes. Since this has been broken for some time it likely no one is using it. Better to simply disable the 16 bit writes. This will allow users to properly load firmware over SPI without data corruption. Signed-off-by: Curtis Malainey <cujomalainey@chromium.org> Reviewed-by: Ben Zhang <benzh@chromium.org> Signed-off-by: Mark Brown <broonie@kernel.org> Cc: stable@vger.kernel.org
* ASoC: rt5677-spi: Add ACPI IDOder Chiou2019-04-011-0/+8
| | | | | | | | Add the ACPI ID for the product "chromebook pixel 2015" to match the coreboot settings. Signed-off-by: Oder Chiou <oder_chiou@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: rt5677-spi: Drop unused GPIO includeLinus Walleij2018-09-181-1/+0Star
| | | | | | | | This SPI driver does not use the legacy GPIO header so just delete it. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: rt5677: Remove unneeded linux/miscdevice.h includeCorentin Labbe2016-12-151-1/+0Star
| | | | | | | | sound/soc/codecs/rt5677-spi.c does not use any miscdevice so this patch remove this unnecessary inclusion. Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: rt5677: Remove superfluous linux/kthread.h inclusionTakashi Iwai2016-11-161-1/+0Star
| | | | | | | It's nowhere used in this driver code. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Mark Brown <broonie@kernel.org>
* spi: Drop owner assignment from spi_driversAndrew F. Davis2015-10-281-1/+0Star
| | | | | | | | | An spi_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by: Andrew F. Davis <afd@ti.com> Acked-by: Jonathan Cameron <jic23@kernel.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: rt5677: Allow arbitrary block read/write via SPIBen Zhang2015-08-251-60/+173
| | | | | | | | | | | Added rt5677_spi_read() and refactored rt5677_spi_write() so that an arbitrary block in the DSP address space can be read/written via SPI. For example, this allows us to load an ELF DSP firmware with sparse sections, and stream audio samples from DSP ring buffer. Signed-off-by: Ben Zhang <benzh@chromium.org> Acked-by: Oder Chiou <oder_chiou@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: rt5677: fix rt5677 spi driver buildBen Zhang2014-10-231-0/+2
| | | | | | | | | | | Create a separate module for rt5677 spi driver. Without this patch, the build fails due to multiple defs of 'init_module' and 'cleanup_module'. module_spi_driver() defines its own module, so it can't be part of the rt5677 module. Signed-off-by: Ben Zhang <benzh@chromium.org> Signed-off-by: Mark Brown <broonie@kernel.org>
* ASoC: rt5677: Support DSP function for VAD applicationOder Chiou2014-10-201-0/+128
The ALC5677 has a programmable DSP, and there is a SPI that is dadicated for DSP firmware loading. Therefore, the patch includes a SPI driver for writing the DSP firmware. The VAD(Voice Activaty Detection) has be implemented and use the DSP to recognize the key phase. Signed-off-by: Oder Chiou <oder_chiou@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>