Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ce31a0f5 authored by Mark Brown's avatar Mark Brown
Browse files

ASoC: Add device tree binding for WM8750

parent 53a5a83d
Loading
Loading
Loading
Loading
+18 −0
Original line number Original line Diff line number Diff line
WM8750 and WM8987 audio CODECs

These devices support both I2C and SPI (configured with pin strapping
on the board).

Required properties:

  - compatible : "wlf,wm8750" or "wlf,wm8987"

  - reg : the I2C address of the device for I2C, the chip select
          number for SPI.

Example:

codec: wm8750@1a {
	compatible = "wlf,wm8750";
	reg = <0x1a>;
};
+10 −0
Original line number Original line Diff line number Diff line
@@ -21,6 +21,7 @@
#include <linux/platform_device.h>
#include <linux/platform_device.h>
#include <linux/spi/spi.h>
#include <linux/spi/spi.h>
#include <linux/slab.h>
#include <linux/slab.h>
#include <linux/of_device.h>
#include <sound/core.h>
#include <sound/core.h>
#include <sound/pcm.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
#include <sound/pcm_params.h>
@@ -751,6 +752,13 @@ static struct snd_soc_codec_driver soc_codec_dev_wm8750 = {
	.reg_cache_default = wm8750_reg,
	.reg_cache_default = wm8750_reg,
};
};


static const struct of_device_id wm8750_of_match[] = {
	{ .compatible = "wlf,wm8750", },
	{ .compatible = "wlf,wm8987", },
	{ }
};
MODULE_DEVICE_TABLE(of, wm8750_of_match);

#if defined(CONFIG_SPI_MASTER)
#if defined(CONFIG_SPI_MASTER)
static int __devinit wm8750_spi_probe(struct spi_device *spi)
static int __devinit wm8750_spi_probe(struct spi_device *spi)
{
{
@@ -789,6 +797,7 @@ static struct spi_driver wm8750_spi_driver = {
	.driver = {
	.driver = {
		.name	= "wm8750-codec",
		.name	= "wm8750-codec",
		.owner	= THIS_MODULE,
		.owner	= THIS_MODULE,
		.of_match_table = wm8750_of_match,
	},
	},
	.id_table	= wm8750_spi_ids,
	.id_table	= wm8750_spi_ids,
	.probe		= wm8750_spi_probe,
	.probe		= wm8750_spi_probe,
@@ -835,6 +844,7 @@ static struct i2c_driver wm8750_i2c_driver = {
	.driver = {
	.driver = {
		.name = "wm8750-codec",
		.name = "wm8750-codec",
		.owner = THIS_MODULE,
		.owner = THIS_MODULE,
		.of_match_table = wm8750_of_match,
	},
	},
	.probe =    wm8750_i2c_probe,
	.probe =    wm8750_i2c_probe,
	.remove =   __devexit_p(wm8750_i2c_remove),
	.remove =   __devexit_p(wm8750_i2c_remove),