-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'asoc-v3.18' into asoc-linus
ASoC: Updates for v3.18 - More componentisation work from Lars-Peter, this time mainly cleaning up the suspend and bias level transition callbacks. - Real system support for the Intel drivers and a bunch of fixes and enhancements for the associated CODEC drivers, this is going to need a lot quirks over time due to the lack of any firmware description of the boards. - Jack detect support for simple card from Dylan Reid. - A bunch of small fixes and enhancements for the Freescale drivers. - New drivers for Analog Devices SSM4567, Cirrus Logic CS35L32, Everest Semiconductor ES8328 and Freescale cards using the ASRC in newer i.MX processors. # gpg: Signature made Mon 06 Oct 2014 12:49:37 BST using RSA key ID 5D5487D0 # gpg: Good signature from "Mark Brown <broonie@sirena.org.uk>" # gpg: aka "Mark Brown <broonie@debian.org>" # gpg: aka "Mark Brown <broonie@kernel.org>" # gpg: aka "Mark Brown <broonie@tardis.ed.ac.uk>" # gpg: aka "Mark Brown <broonie@linaro.org>" # gpg: aka "Mark Brown <Mark.Brown@linaro.org>"
- Loading branch information
Showing
119 changed files
with
6,211 additions
and
1,357 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
Device-Tree binding for regmap | ||
|
||
The endianness mode of CPU & Device scenarios: | ||
Index Device Endianness properties | ||
--------------------------------------------------- | ||
1 BE 'big-endian' | ||
2 LE 'little-endian' | ||
|
||
For one device driver, which will run in different scenarios above | ||
on different SoCs using the devicetree, we need one way to simplify | ||
this. | ||
|
||
Required properties: | ||
- {big,little}-endian: these are boolean properties, if absent | ||
meaning that the CPU and the Device are in the same endianness mode, | ||
these properties are for register values and all the buffers only. | ||
|
||
Examples: | ||
Scenario 1 : CPU in LE mode & device in LE mode. | ||
dev: dev@40031000 { | ||
compatible = "name"; | ||
reg = <0x40031000 0x1000>; | ||
... | ||
}; | ||
|
||
Scenario 2 : CPU in LE mode & device in BE mode. | ||
dev: dev@40031000 { | ||
compatible = "name"; | ||
reg = <0x40031000 0x1000>; | ||
... | ||
big-endian; | ||
}; | ||
|
||
Scenario 3 : CPU in BE mode & device in BE mode. | ||
dev: dev@40031000 { | ||
compatible = "name"; | ||
reg = <0x40031000 0x1000>; | ||
... | ||
}; | ||
|
||
Scenario 4 : CPU in BE mode & device in LE mode. | ||
dev: dev@40031000 { | ||
compatible = "name"; | ||
reg = <0x40031000 0x1000>; | ||
... | ||
little-endian; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
Analog Devices SSM2602, SSM2603 and SSM2604 I2S audio CODEC devices | ||
|
||
SSM2602 support both I2C and SPI as the configuration interface, | ||
the selection is made by the MODE strap-in pin. | ||
SSM2603 and SSM2604 only support I2C as the configuration interface. | ||
|
||
Required properties: | ||
|
||
- compatible : One of "adi,ssm2602", "adi,ssm2603" or "adi,ssm2604" | ||
|
||
- reg : the I2C address of the device for I2C, the chip select | ||
number for SPI. | ||
|
||
Example: | ||
|
||
ssm2602: ssm2602@1a { | ||
compatible = "adi,ssm2602"; | ||
reg = <0x1a>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
CS35L32 audio CODEC | ||
|
||
Required properties: | ||
|
||
- compatible : "cirrus,cs35l32" | ||
|
||
- reg : the I2C address of the device for I2C. Address is determined by the level | ||
of the AD0 pin. Level 0 is 0x40 while Level 1 is 0x41. | ||
|
||
- VA-supply, VP-supply : power supplies for the device, | ||
as covered in Documentation/devicetree/bindings/regulator/regulator.txt. | ||
|
||
Optional properties: | ||
|
||
- reset-gpios : a GPIO spec for the reset pin. If specified, it will be | ||
deasserted before communication to the codec starts. | ||
|
||
- cirrus,boost-manager : Boost voltage control. | ||
0 = Automatically managed. Boost-converter output voltage is the higher | ||
of the two: Class G or adaptive LED voltage. | ||
1 = Automatically managed irrespective of audio, adapting for low-power | ||
dissipation when LEDs are ON, and operating in Fixed-Boost Bypass Mode | ||
if LEDs are OFF (VBST = VP). | ||
2 = (Default) Boost voltage fixed in Bypass Mode (VBST = VP). | ||
3 = Boost voltage fixed at 5 V. | ||
|
||
- cirrus,sdout-datacfg : Data configuration for dual CS35L32 applications only. | ||
Determines the data packed in a two-CS35L32 configuration. | ||
0 = Left/right channels VMON[11:0], IMON[11:0], VPMON[7:0]. | ||
1 = Left/right channels VMON[11:0], IMON[11:0], STATUS. | ||
2 = (Default) left/right channels VMON[15:0], IMON [15:0]. | ||
3 = Left/right channels VPMON[7:0], STATUS. | ||
|
||
- cirrus,sdout-share : SDOUT sharing. Determines whether one or two CS35L32 | ||
devices are on board sharing SDOUT. | ||
0 = (Default) One IC. | ||
1 = Two IC's. | ||
|
||
- cirrus,battery-recovery : Low battery nominal recovery threshold, rising VP. | ||
0 = 3.1V | ||
1 = 3.2V | ||
2 = 3.3V (Default) | ||
3 = 3.4V | ||
|
||
- cirrus,battery-threshold : Low battery nominal threshold, falling VP. | ||
0 = 3.1V | ||
1 = 3.2V | ||
2 = 3.3V | ||
3 = 3.4V (Default) | ||
4 = 3.5V | ||
5 = 3.6V | ||
|
||
Example: | ||
|
||
codec: codec@40 { | ||
compatible = "cirrus,cs35l32"; | ||
reg = <0x40>; | ||
reset-gpios = <&gpio 10 0>; | ||
cirrus,boost-manager = <0x03>; | ||
cirrus,sdout-datacfg = <0x02>; | ||
VA-supply = <®_audio>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
Everest ES8328 audio CODEC | ||
|
||
This device supports both I2C and SPI. | ||
|
||
Required properties: | ||
|
||
- compatible : "everest,es8328" | ||
- DVDD-supply : Regulator providing digital core supply voltage 1.8 - 3.6V | ||
- AVDD-supply : Regulator providing analog supply voltage 3.3V | ||
- PVDD-supply : Regulator providing digital IO supply voltage 1.8 - 3.6V | ||
- IPVDD-supply : Regulator providing analog output voltage 3.3V | ||
- clocks : A 22.5792 or 11.2896 MHz clock | ||
- reg : the I2C address of the device for I2C, the chip select number for SPI | ||
|
||
Pins on the device (for linking into audio routes): | ||
|
||
* LOUT1 | ||
* LOUT2 | ||
* ROUT1 | ||
* ROUT2 | ||
* LINPUT1 | ||
* RINPUT1 | ||
* LINPUT2 | ||
* RINPUT2 | ||
* Mic Bias | ||
|
||
|
||
Example: | ||
|
||
codec: es8328@11 { | ||
compatible = "everest,es8328"; | ||
DVDD-supply = <®_3p3v>; | ||
AVDD-supply = <®_3p3v>; | ||
PVDD-supply = <®_3p3v>; | ||
HPVDD-supply = <®_3p3v>; | ||
clocks = <&clks 169>; | ||
reg = <0x11>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
Freescale Generic ASoC Sound Card with ASRC support | ||
|
||
The Freescale Generic ASoC Sound Card can be used, ideally, for all Freescale | ||
SoCs connecting with external CODECs. | ||
|
||
The idea of this generic sound card is a bit like ASoC Simple Card. However, | ||
for Freescale SoCs (especially those released in recent years), most of them | ||
have ASRC (Documentation/devicetree/bindings/sound/fsl,asrc.txt) inside. And | ||
this is a specific feature that might be painstakingly controlled and merged | ||
into the Simple Card. | ||
|
||
So having this generic sound card allows all Freescale SoC users to benefit | ||
from the simplification of a new card support and the capability of the wide | ||
sample rates support through ASRC. | ||
|
||
Note: The card is initially designed for those sound cards who use I2S and | ||
PCM DAI formats. However, it'll be also possible to support those non | ||
I2S/PCM type sound cards, such as S/PDIF audio and HDMI audio, as long | ||
as the driver has been properly upgraded. | ||
|
||
|
||
The compatible list for this generic sound card currently: | ||
"fsl,imx-audio-cs42888" | ||
|
||
"fsl,imx-audio-wm8962" | ||
(compatible with Documentation/devicetree/bindings/sound/imx-audio-wm8962.txt) | ||
|
||
"fsl,imx-audio-sgtl5000" | ||
(compatible with Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt) | ||
|
||
Required properties: | ||
|
||
- compatible : Contains one of entries in the compatible list. | ||
|
||
- model : The user-visible name of this sound complex | ||
|
||
- audio-cpu : The phandle of an CPU DAI controller | ||
|
||
- audio-codec : The phandle of an audio codec | ||
|
||
- audio-routing : A list of the connections between audio components. | ||
Each entry is a pair of strings, the first being the | ||
connection's sink, the second being the connection's | ||
source. There're a few pre-designed board connectors: | ||
* Line Out Jack | ||
* Line In Jack | ||
* Headphone Jack | ||
* Mic Jack | ||
* Ext Spk | ||
* AMIC (stands for Analog Microphone Jack) | ||
* DMIC (stands for Digital Microphone Jack) | ||
|
||
Note: The "Mic Jack" and "AMIC" are redundant while | ||
coexsiting in order to support the old bindings | ||
of wm8962 and sgtl5000. | ||
|
||
Optional properties: | ||
|
||
- audio-asrc : The phandle of ASRC. It can be absent if there's no | ||
need to add ASRC support via DPCM. | ||
|
||
Example: | ||
sound-cs42888 { | ||
compatible = "fsl,imx-audio-cs42888"; | ||
model = "cs42888-audio"; | ||
audio-cpu = <&esai>; | ||
audio-asrc = <&asrc>; | ||
audio-codec = <&cs42888>; | ||
audio-routing = | ||
"Line Out Jack", "AOUT1L", | ||
"Line Out Jack", "AOUT1R", | ||
"Line Out Jack", "AOUT2L", | ||
"Line Out Jack", "AOUT2R", | ||
"Line Out Jack", "AOUT3L", | ||
"Line Out Jack", "AOUT3R", | ||
"Line Out Jack", "AOUT4L", | ||
"Line Out Jack", "AOUT4R", | ||
"AIN1L", "Line In Jack", | ||
"AIN1R", "Line In Jack", | ||
"AIN2L", "Line In Jack", | ||
"AIN2R", "Line In Jack"; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
60 changes: 60 additions & 0 deletions
60
Documentation/devicetree/bindings/sound/imx-audio-es8328.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
Freescale i.MX audio complex with ES8328 codec | ||
|
||
Required properties: | ||
- compatible : "fsl,imx-audio-es8328" | ||
- model : The user-visible name of this sound complex | ||
- ssi-controller : The phandle of the i.MX SSI controller | ||
- jack-gpio : Optional GPIO for headphone jack | ||
- audio-amp-supply : Power regulator for speaker amps | ||
- audio-codec : The phandle of the ES8328 audio codec | ||
- audio-routing : A list of the connections between audio components. | ||
Each entry is a pair of strings, the first being the | ||
connection's sink, the second being the connection's | ||
source. Valid names could be power supplies, ES8328 | ||
pins, and the jacks on the board: | ||
|
||
Power supplies: | ||
* audio-amp | ||
|
||
ES8328 pins: | ||
* LOUT1 | ||
* LOUT2 | ||
* ROUT1 | ||
* ROUT2 | ||
* LINPUT1 | ||
* LINPUT2 | ||
* RINPUT1 | ||
* RINPUT2 | ||
* Mic PGA | ||
|
||
Board connectors: | ||
* Headphone | ||
* Speaker | ||
* Mic Jack | ||
- mux-int-port : The internal port of the i.MX audio muxer (AUDMUX) | ||
- mux-ext-port : The external port of the i.MX audio muxer (AUDMIX) | ||
|
||
Note: The AUDMUX port numbering should start at 1, which is consistent with | ||
hardware manual. | ||
|
||
Example: | ||
|
||
sound { | ||
compatible = "fsl,imx-audio-es8328"; | ||
model = "imx-audio-es8328"; | ||
ssi-controller = <&ssi1>; | ||
audio-codec = <&codec>; | ||
jack-gpio = <&gpio5 15 0>; | ||
audio-amp-supply = <®_audio_amp>; | ||
audio-routing = | ||
"Speaker", "LOUT2", | ||
"Speaker", "ROUT2", | ||
"Speaker", "audio-amp", | ||
"Headphone", "ROUT1", | ||
"Headphone", "LOUT1", | ||
"LINPUT1", "Mic Jack", | ||
"RINPUT1", "Mic Jack", | ||
"Mic Jack", "Mic Bias"; | ||
mux-int-port = <1>; | ||
mux-ext-port = <3>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.