You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
ASoC: rt5660: add rt5660 codec driver
This is the initial codec driver for rt5660 Signed-off-by: Oder Chiou <oder_chiou@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
RT5660 audio CODEC
|
||||
|
||||
This device supports I2C only.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : "realtek,rt5660".
|
||||
|
||||
- reg : The I2C address of the device.
|
||||
|
||||
Optional properties:
|
||||
|
||||
- clocks: The phandle of the master clock to the CODEC
|
||||
- clock-names: Should be "mclk"
|
||||
|
||||
- realtek,in1-differential
|
||||
- realtek,in3-differential
|
||||
Boolean. Indicate MIC1/3 input are differential, rather than single-ended.
|
||||
|
||||
- realtek,poweroff-in-suspend
|
||||
Boolean. If the codec will be powered off in suspend, the resume should be
|
||||
added delay time for waiting codec power ready.
|
||||
|
||||
- realtek,dmic1-data-pin
|
||||
0: dmic1 is not used
|
||||
1: using GPIO2 pin as dmic1 data pin
|
||||
2: using IN1P pin as dmic1 data pin
|
||||
|
||||
Pins on the device (for linking into audio routes) for RT5660:
|
||||
|
||||
* DMIC L1
|
||||
* DMIC R1
|
||||
* IN1P
|
||||
* IN1N
|
||||
* IN2P
|
||||
* IN3P
|
||||
* IN3N
|
||||
* SPO
|
||||
* LOUTL
|
||||
* LOUTR
|
||||
|
||||
Example:
|
||||
|
||||
rt5660 {
|
||||
compatible = "realtek,rt5660";
|
||||
reg = <0x1c>;
|
||||
};
|
||||
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* linux/sound/rt5660.h -- Platform data for RT5660
|
||||
*
|
||||
* Copyright 2016 Realtek Semiconductor Corp.
|
||||
* Author: Oder Chiou <oder_chiou@realtek.com>
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_SND_RT5660_H
|
||||
#define __LINUX_SND_RT5660_H
|
||||
|
||||
enum rt5660_dmic1_data_pin {
|
||||
RT5660_DMIC1_NULL,
|
||||
RT5660_DMIC1_DATA_GPIO2,
|
||||
RT5660_DMIC1_DATA_IN1P,
|
||||
};
|
||||
|
||||
struct rt5660_platform_data {
|
||||
/* IN1 & IN3 can optionally be differential */
|
||||
bool in1_diff;
|
||||
bool in3_diff;
|
||||
bool use_ldo2;
|
||||
bool poweroff_codec_in_suspend;
|
||||
|
||||
enum rt5660_dmic1_data_pin dmic1_data_pin;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -112,6 +112,7 @@ config SND_SOC_ALL_CODECS
|
||||
select SND_SOC_RT5645 if I2C
|
||||
select SND_SOC_RT5651 if I2C
|
||||
select SND_SOC_RT5659 if I2C
|
||||
select SND_SOC_RT5660 if I2C
|
||||
select SND_SOC_RT5670 if I2C
|
||||
select SND_SOC_RT5677 if I2C && SPI_MASTER
|
||||
select SND_SOC_SGTL5000 if I2C
|
||||
@@ -645,6 +646,7 @@ config SND_SOC_RL6231
|
||||
default y if SND_SOC_RT5645=y
|
||||
default y if SND_SOC_RT5651=y
|
||||
default y if SND_SOC_RT5659=y
|
||||
default y if SND_SOC_RT5660=y
|
||||
default y if SND_SOC_RT5670=y
|
||||
default y if SND_SOC_RT5677=y
|
||||
default m if SND_SOC_RT5514=m
|
||||
@@ -653,6 +655,7 @@ config SND_SOC_RL6231
|
||||
default m if SND_SOC_RT5645=m
|
||||
default m if SND_SOC_RT5651=m
|
||||
default m if SND_SOC_RT5659=m
|
||||
default m if SND_SOC_RT5660=m
|
||||
default m if SND_SOC_RT5670=m
|
||||
default m if SND_SOC_RT5677=m
|
||||
|
||||
@@ -697,6 +700,9 @@ config SND_SOC_RT5651
|
||||
config SND_SOC_RT5659
|
||||
tristate
|
||||
|
||||
config SND_SOC_RT5660
|
||||
tristate
|
||||
|
||||
config SND_SOC_RT5670
|
||||
tristate
|
||||
|
||||
|
||||
@@ -112,6 +112,7 @@ snd-soc-rt5640-objs := rt5640.o
|
||||
snd-soc-rt5645-objs := rt5645.o
|
||||
snd-soc-rt5651-objs := rt5651.o
|
||||
snd-soc-rt5659-objs := rt5659.o
|
||||
snd-soc-rt5660-objs := rt5660.o
|
||||
snd-soc-rt5670-objs := rt5670.o
|
||||
snd-soc-rt5677-objs := rt5677.o
|
||||
snd-soc-rt5677-spi-objs := rt5677-spi.o
|
||||
@@ -333,6 +334,7 @@ obj-$(CONFIG_SND_SOC_RT5640) += snd-soc-rt5640.o
|
||||
obj-$(CONFIG_SND_SOC_RT5645) += snd-soc-rt5645.o
|
||||
obj-$(CONFIG_SND_SOC_RT5651) += snd-soc-rt5651.o
|
||||
obj-$(CONFIG_SND_SOC_RT5659) += snd-soc-rt5659.o
|
||||
obj-$(CONFIG_SND_SOC_RT5660) += snd-soc-rt5660.o
|
||||
obj-$(CONFIG_SND_SOC_RT5670) += snd-soc-rt5670.o
|
||||
obj-$(CONFIG_SND_SOC_RT5677) += snd-soc-rt5677.o
|
||||
obj-$(CONFIG_SND_SOC_RT5677_SPI) += snd-soc-rt5677-spi.o
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user