mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-28 17:48:58 +00:00
7d7aa2fd92
This change makes the names of Broadcom targets consistent by using the common notation based on SoC/CPU ID (which is used internally anyway), bcmXXXX instead of brcmXXXX. This is even used for target TITLE in make menuconfig already, only the short target name used brcm so far. Despite, since subtargets range from bcm2708 to bcm2711, it seems appropriate to use bcm27xx instead of bcm2708 (again, as already done for BOARDNAME). This also renames the packages brcm2708-userland and brcm2708-gpu-fw. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Álvaro Fernández Rojas <noltari@gmail.com>
124 lines
3.8 KiB
Diff
124 lines
3.8 KiB
Diff
From 13ddc845b271d7cc79bcbdd288f95c03ea927b89 Mon Sep 17 00:00:00 2001
|
|
From: Florian Meier <florian.meier@koalo.de>
|
|
Date: Mon, 25 Jan 2016 15:48:59 +0000
|
|
Subject: [PATCH] ASoC: Add support for Rpi-DAC
|
|
|
|
---
|
|
sound/soc/codecs/Kconfig | 5 +++
|
|
sound/soc/codecs/Makefile | 2 ++
|
|
sound/soc/codecs/pcm1794a.c | 69 +++++++++++++++++++++++++++++++++++++
|
|
3 files changed, 76 insertions(+)
|
|
create mode 100644 sound/soc/codecs/pcm1794a.c
|
|
|
|
--- a/sound/soc/codecs/Kconfig
|
|
+++ b/sound/soc/codecs/Kconfig
|
|
@@ -118,6 +118,7 @@ config SND_SOC_ALL_CODECS
|
|
select SND_SOC_PCM179X_SPI if SPI_MASTER
|
|
select SND_SOC_PCM186X_I2C if I2C
|
|
select SND_SOC_PCM186X_SPI if SPI_MASTER
|
|
+ select SND_SOC_PCM1794A if I2C
|
|
select SND_SOC_PCM3008
|
|
select SND_SOC_PCM3168A_I2C if I2C
|
|
select SND_SOC_PCM3168A_SPI if SPI_MASTER
|
|
@@ -834,6 +835,10 @@ config SND_SOC_RT5616
|
|
tristate "Realtek RT5616 CODEC"
|
|
depends on I2C
|
|
|
|
+config SND_SOC_PCM1794A
|
|
+ tristate
|
|
+ depends on I2C
|
|
+
|
|
config SND_SOC_RT5631
|
|
tristate "Realtek ALC5631/RT5631 CODEC"
|
|
depends on I2C
|
|
--- a/sound/soc/codecs/Makefile
|
|
+++ b/sound/soc/codecs/Makefile
|
|
@@ -118,6 +118,7 @@ snd-soc-pcm179x-spi-objs := pcm179x-spi.
|
|
snd-soc-pcm186x-objs := pcm186x.o
|
|
snd-soc-pcm186x-i2c-objs := pcm186x-i2c.o
|
|
snd-soc-pcm186x-spi-objs := pcm186x-spi.o
|
|
+snd-soc-pcm1794a-objs := pcm1794a.o
|
|
snd-soc-pcm3008-objs := pcm3008.o
|
|
snd-soc-pcm3168a-objs := pcm3168a.o
|
|
snd-soc-pcm3168a-i2c-objs := pcm3168a-i2c.o
|
|
@@ -386,6 +387,7 @@ obj-$(CONFIG_SND_SOC_PCM5102A) += snd-so
|
|
obj-$(CONFIG_SND_SOC_PCM512x) += snd-soc-pcm512x.o
|
|
obj-$(CONFIG_SND_SOC_PCM512x_I2C) += snd-soc-pcm512x-i2c.o
|
|
obj-$(CONFIG_SND_SOC_PCM512x_SPI) += snd-soc-pcm512x-spi.o
|
|
+obj-$(CONFIG_SND_SOC_PCM1794A) += snd-soc-pcm1794a.o
|
|
obj-$(CONFIG_SND_SOC_RL6231) += snd-soc-rl6231.o
|
|
obj-$(CONFIG_SND_SOC_RL6347A) += snd-soc-rl6347a.o
|
|
obj-$(CONFIG_SND_SOC_RT1305) += snd-soc-rt1305.o
|
|
--- /dev/null
|
|
+++ b/sound/soc/codecs/pcm1794a.c
|
|
@@ -0,0 +1,69 @@
|
|
+/*
|
|
+ * Driver for the PCM1794A codec
|
|
+ *
|
|
+ * Author: Florian Meier <florian.meier@koalo.de>
|
|
+ * Copyright 2013
|
|
+ *
|
|
+ * This program is free software; you can redistribute it and/or
|
|
+ * modify it under the terms of the GNU General Public License
|
|
+ * version 2 as published by the Free Software Foundation.
|
|
+ *
|
|
+ * This program is distributed in the hope that it will be useful, but
|
|
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
+ * General Public License for more details.
|
|
+ */
|
|
+
|
|
+
|
|
+#include <linux/init.h>
|
|
+#include <linux/module.h>
|
|
+#include <linux/platform_device.h>
|
|
+
|
|
+#include <sound/soc.h>
|
|
+
|
|
+static struct snd_soc_dai_driver pcm1794a_dai = {
|
|
+ .name = "pcm1794a-hifi",
|
|
+ .playback = {
|
|
+ .channels_min = 2,
|
|
+ .channels_max = 2,
|
|
+ .rates = SNDRV_PCM_RATE_8000_192000,
|
|
+ .formats = SNDRV_PCM_FMTBIT_S16_LE |
|
|
+ SNDRV_PCM_FMTBIT_S24_LE
|
|
+ },
|
|
+};
|
|
+
|
|
+static struct snd_soc_component_driver soc_component_dev_pcm1794a;
|
|
+
|
|
+static int pcm1794a_probe(struct platform_device *pdev)
|
|
+{
|
|
+ return snd_soc_register_component(&pdev->dev, &soc_component_dev_pcm1794a,
|
|
+ &pcm1794a_dai, 1);
|
|
+}
|
|
+
|
|
+static int pcm1794a_remove(struct platform_device *pdev)
|
|
+{
|
|
+ snd_soc_unregister_component(&pdev->dev);
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+static const struct of_device_id pcm1794a_of_match[] = {
|
|
+ { .compatible = "ti,pcm1794a", },
|
|
+ { }
|
|
+};
|
|
+MODULE_DEVICE_TABLE(of, pcm1794a_of_match);
|
|
+
|
|
+static struct platform_driver pcm1794a_component_driver = {
|
|
+ .probe = pcm1794a_probe,
|
|
+ .remove = pcm1794a_remove,
|
|
+ .driver = {
|
|
+ .name = "pcm1794a-codec",
|
|
+ .owner = THIS_MODULE,
|
|
+ .of_match_table = of_match_ptr(pcm1794a_of_match),
|
|
+ },
|
|
+};
|
|
+
|
|
+module_platform_driver(pcm1794a_component_driver);
|
|
+
|
|
+MODULE_DESCRIPTION("ASoC PCM1794A codec driver");
|
|
+MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>");
|
|
+MODULE_LICENSE("GPL v2");
|