aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2014-03-13 04:53:25 -0400
committerTakashi Iwai <tiwai@suse.de>2014-03-13 04:53:25 -0400
commit5fdb83f190ee2218d113a46b190b70aa1c979325 (patch)
treefbb95a73b111c2e4d0320393754c11a9ec026b39 /Documentation/devicetree/bindings
parent4c16ecc4c0715e0b6b3c7b72976c05b0e212cd0f (diff)
parentdeeed33850c8a376addabbf971df433b2a1ba74c (diff)
Merge tag 'asoc-v3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next
ASoC: Updates for v3.15 Quite a busy release for ASoC this time, more on janitorial work than exciting new features but welcome nontheless: - Lots of cleanups from Takashi for enumerations; the original API for these was error prone so he's refactored lots of code to use more modern APIs which avoid issues. - Elimination of the ASoC level wrappers for I2C and SPI moving us closer to converting to regmap completely and avoiding some randconfig hassle. - Provide both manually and transparently locked DAPM APIs rather than a mix of the two fixing some concurrency issues. - Start converting CODEC drivers to use separate bus interface drivers rather than having them all in one file helping avoid dependency issues. - DPCM support for Intel Haswell and Bay Trail platforms. - Lots of work on improvements for simple-card, DaVinci and the Renesas rcar drivers. - New drivers for Analog Devices ADAU1977, TI PCM512x and parts of the CSR SiRF SoC.
Diffstat (limited to 'Documentation/devicetree/bindings')
-rw-r--r--Documentation/devicetree/bindings/arm/omap/omap.txt2
-rw-r--r--Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt4
-rw-r--r--Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt16
-rw-r--r--Documentation/devicetree/bindings/i2c/trivial-devices.txt1
-rw-r--r--Documentation/devicetree/bindings/misc/atmel-ssc.txt8
-rw-r--r--Documentation/devicetree/bindings/net/opencores-ethoc.txt22
-rw-r--r--Documentation/devicetree/bindings/net/sti-dwmac.txt58
-rw-r--r--Documentation/devicetree/bindings/pinctrl/brcm,bcm11351-pinctrl.txt (renamed from Documentation/devicetree/bindings/pinctrl/brcm,capri-pinctrl.txt)8
-rw-r--r--Documentation/devicetree/bindings/sound/da9055.txt22
-rw-r--r--Documentation/devicetree/bindings/sound/davinci-evm-audio.txt9
-rw-r--r--Documentation/devicetree/bindings/sound/eukrea-tlv320.txt21
-rw-r--r--Documentation/devicetree/bindings/sound/fsl,esai.txt5
-rw-r--r--Documentation/devicetree/bindings/sound/fsl,spdif.txt5
-rw-r--r--Documentation/devicetree/bindings/sound/pcm512x.txt30
-rw-r--r--Documentation/devicetree/bindings/sound/simple-card.txt17
-rw-r--r--Documentation/devicetree/bindings/sound/sirf-audio-codec.txt17
-rw-r--r--Documentation/devicetree/bindings/sound/sirf-audio-port.txt20
-rw-r--r--Documentation/devicetree/bindings/sound/sirf-audio.txt41
-rw-r--r--Documentation/devicetree/bindings/sound/tdm-slot.txt20
-rw-r--r--Documentation/devicetree/bindings/sound/tlv320aic32x4.txt30
-rw-r--r--Documentation/devicetree/bindings/sound/tlv320aic3x.txt1
-rw-r--r--Documentation/devicetree/bindings/sound/widgets.txt20
22 files changed, 360 insertions, 17 deletions
diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt b/Documentation/devicetree/bindings/arm/omap/omap.txt
index 34dc40cffdfd..af9b4a0d902b 100644
--- a/Documentation/devicetree/bindings/arm/omap/omap.txt
+++ b/Documentation/devicetree/bindings/arm/omap/omap.txt
@@ -91,7 +91,7 @@ Boards:
91 compatible = "ti,omap3-beagle", "ti,omap3" 91 compatible = "ti,omap3-beagle", "ti,omap3"
92 92
93- OMAP3 Tobi with Overo : Commercial expansion board with daughter board 93- OMAP3 Tobi with Overo : Commercial expansion board with daughter board
94 compatible = "ti,omap3-tobi", "ti,omap3-overo", "ti,omap3" 94 compatible = "gumstix,omap3-overo-tobi", "gumstix,omap3-overo", "ti,omap3"
95 95
96- OMAP4 SDP : Software Development Board 96- OMAP4 SDP : Software Development Board
97 compatible = "ti,omap4-sdp", "ti,omap4430" 97 compatible = "ti,omap4-sdp", "ti,omap4430"
diff --git a/Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt b/Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt
index a6a352c2771e..5992dceec7af 100644
--- a/Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt
+++ b/Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt
@@ -21,9 +21,9 @@ Required Properties:
21 must appear in the same order as the output clocks. 21 must appear in the same order as the output clocks.
22 - #clock-cells: Must be 1 22 - #clock-cells: Must be 1
23 - clock-output-names: The name of the clocks as free-form strings 23 - clock-output-names: The name of the clocks as free-form strings
24 - renesas,indices: Indices of the gate clocks into the group (0 to 31) 24 - renesas,clock-indices: Indices of the gate clocks into the group (0 to 31)
25 25
26The clocks, clock-output-names and renesas,indices properties contain one 26The clocks, clock-output-names and renesas,clock-indices properties contain one
27entry per gate clock. The MSTP groups are sparsely populated. Unimplemented 27entry per gate clock. The MSTP groups are sparsely populated. Unimplemented
28gate clocks must not be declared. 28gate clocks must not be declared.
29 29
diff --git a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt
index 68b83ecc3850..ee9be9961524 100644
--- a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt
+++ b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt
@@ -1,12 +1,16 @@
1* Freescale Smart Direct Memory Access (SDMA) Controller for i.MX 1* Freescale Smart Direct Memory Access (SDMA) Controller for i.MX
2 2
3Required properties: 3Required properties:
4- compatible : Should be "fsl,imx31-sdma", "fsl,imx31-to1-sdma", 4- compatible : Should be one of
5 "fsl,imx31-to2-sdma", "fsl,imx35-sdma", "fsl,imx35-to1-sdma", 5 "fsl,imx25-sdma"
6 "fsl,imx35-to2-sdma", "fsl,imx51-sdma", "fsl,imx53-sdma" or 6 "fsl,imx31-sdma", "fsl,imx31-to1-sdma", "fsl,imx31-to2-sdma"
7 "fsl,imx6q-sdma". The -to variants should be preferred since they 7 "fsl,imx35-sdma", "fsl,imx35-to1-sdma", "fsl,imx35-to2-sdma"
8 allow to determnine the correct ROM script addresses needed for 8 "fsl,imx51-sdma"
9 the driver to work without additional firmware. 9 "fsl,imx53-sdma"
10 "fsl,imx6q-sdma"
11 The -to variants should be preferred since they allow to determnine the
12 correct ROM script addresses needed for the driver to work without additional
13 firmware.
10- reg : Should contain SDMA registers location and length 14- reg : Should contain SDMA registers location and length
11- interrupts : Should contain SDMA interrupt 15- interrupts : Should contain SDMA interrupt
12- #dma-cells : Must be <3>. 16- #dma-cells : Must be <3>.
diff --git a/Documentation/devicetree/bindings/i2c/trivial-devices.txt b/Documentation/devicetree/bindings/i2c/trivial-devices.txt
index 1a1ac2e560e9..f47e56bcf78d 100644
--- a/Documentation/devicetree/bindings/i2c/trivial-devices.txt
+++ b/Documentation/devicetree/bindings/i2c/trivial-devices.txt
@@ -18,6 +18,7 @@ atmel,24c02 i2c serial eeprom (24cxx)
18atmel,at97sc3204t i2c trusted platform module (TPM) 18atmel,at97sc3204t i2c trusted platform module (TPM)
19capella,cm32181 CM32181: Ambient Light Sensor 19capella,cm32181 CM32181: Ambient Light Sensor
20catalyst,24c32 i2c serial eeprom 20catalyst,24c32 i2c serial eeprom
21cirrus,cs42l51 Cirrus Logic CS42L51 audio codec
21dallas,ds1307 64 x 8, Serial, I2C Real-Time Clock 22dallas,ds1307 64 x 8, Serial, I2C Real-Time Clock
22dallas,ds1338 I2C RTC with 56-Byte NV RAM 23dallas,ds1338 I2C RTC with 56-Byte NV RAM
23dallas,ds1339 I2C Serial Real-Time Clock 24dallas,ds1339 I2C Serial Real-Time Clock
diff --git a/Documentation/devicetree/bindings/misc/atmel-ssc.txt b/Documentation/devicetree/bindings/misc/atmel-ssc.txt
index 60960b2755f4..efc98ea1f23d 100644
--- a/Documentation/devicetree/bindings/misc/atmel-ssc.txt
+++ b/Documentation/devicetree/bindings/misc/atmel-ssc.txt
@@ -17,6 +17,14 @@ Required properties for devices compatible with "atmel,at91sam9g45-ssc":
17 See Documentation/devicetree/bindings/dma/atmel-dma.txt for details. 17 See Documentation/devicetree/bindings/dma/atmel-dma.txt for details.
18- dma-names: Must be "tx", "rx". 18- dma-names: Must be "tx", "rx".
19 19
20Optional properties:
21 - atmel,clk-from-rk-pin: bool property.
22 - When SSC works in slave mode, according to the hardware design, the
23 clock can get from TK pin, and also can get from RK pin. So, add
24 this parameter to choose where the clock from.
25 - By default the clock is from TK pin, if the clock from RK pin, this
26 property is needed.
27
20Examples: 28Examples:
21- PDC transfer: 29- PDC transfer:
22ssc0: ssc@fffbc000 { 30ssc0: ssc@fffbc000 {
diff --git a/Documentation/devicetree/bindings/net/opencores-ethoc.txt b/Documentation/devicetree/bindings/net/opencores-ethoc.txt
new file mode 100644
index 000000000000..2dc127c30d9b
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/opencores-ethoc.txt
@@ -0,0 +1,22 @@
1* OpenCores MAC 10/100 Mbps
2
3Required properties:
4- compatible: Should be "opencores,ethoc".
5- reg: two memory regions (address and length),
6 first region is for the device registers and descriptor rings,
7 second is for the device packet memory.
8- interrupts: interrupt for the device.
9
10Optional properties:
11- clocks: phandle to refer to the clk used as per
12 Documentation/devicetree/bindings/clock/clock-bindings.txt
13
14Examples:
15
16 enet0: ethoc@fd030000 {
17 compatible = "opencores,ethoc";
18 reg = <0xfd030000 0x4000 0xfd800000 0x4000>;
19 interrupts = <1>;
20 local-mac-address = [00 50 c2 13 6f 00];
21 clocks = <&osc>;
22 };
diff --git a/Documentation/devicetree/bindings/net/sti-dwmac.txt b/Documentation/devicetree/bindings/net/sti-dwmac.txt
new file mode 100644
index 000000000000..3dd3d0bf112f
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/sti-dwmac.txt
@@ -0,0 +1,58 @@
1STMicroelectronics SoC DWMAC glue layer controller
2
3The device node has following properties.
4
5Required properties:
6 - compatible : Can be "st,stih415-dwmac", "st,stih416-dwmac" or
7 "st,stid127-dwmac".
8 - reg : Offset of the glue configuration register map in system
9 configuration regmap pointed by st,syscon property and size.
10
11 - reg-names : Should be "sti-ethconf".
12
13 - st,syscon : Should be phandle to system configuration node which
14 encompases this glue registers.
15
16 - st,tx-retime-src: On STi Parts for Giga bit speeds, 125Mhz clocks can be
17 wired up in from different sources. One via TXCLK pin and other via CLK_125
18 pin. This wiring is totally board dependent. However the retiming glue
19 logic should be configured accordingly. Possible values for this property
20
21 "txclk" - if 125Mhz clock is wired up via txclk line.
22 "clk_125" - if 125Mhz clock is wired up via clk_125 line.
23
24 This property is only valid for Giga bit setup( GMII, RGMII), and it is
25 un-used for non-giga bit (MII and RMII) setups. Also note that internal
26 clockgen can not generate stable 125Mhz clock.
27
28 - st,ext-phyclk: This boolean property indicates who is generating the clock
29 for tx and rx. This property is only valid for RMII case where the clock can
30 be generated from the MAC or PHY.
31
32 - clock-names: should be "sti-ethclk".
33 - clocks: Should point to ethernet clockgen which can generate phyclk.
34
35
36Example:
37
38ethernet0: dwmac@fe810000 {
39 device_type = "network";
40 compatible = "st,stih416-dwmac", "snps,dwmac", "snps,dwmac-3.710";
41 reg = <0xfe810000 0x8000>, <0x8bc 0x4>;
42 reg-names = "stmmaceth", "sti-ethconf";
43 interrupts = <0 133 0>, <0 134 0>, <0 135 0>;
44 interrupt-names = "macirq", "eth_wake_irq", "eth_lpi";
45 phy-mode = "mii";
46
47 st,syscon = <&syscfg_rear>;
48
49 snps,pbl = <32>;
50 snps,mixed-burst;
51
52 resets = <&softreset STIH416_ETH0_SOFTRESET>;
53 reset-names = "stmmaceth";
54 pinctrl-0 = <&pinctrl_mii0>;
55 pinctrl-names = "default";
56 clocks = <&CLK_S_GMAC0_PHY>;
57 clock-names = "stmmaceth";
58};
diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,capri-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/brcm,bcm11351-pinctrl.txt
index 9e9e9ef9f852..c119debe6bab 100644
--- a/Documentation/devicetree/bindings/pinctrl/brcm,capri-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/brcm,bcm11351-pinctrl.txt
@@ -1,4 +1,4 @@
1Broadcom Capri Pin Controller 1Broadcom BCM281xx Pin Controller
2 2
3This is a pin controller for the Broadcom BCM281xx SoC family, which includes 3This is a pin controller for the Broadcom BCM281xx SoC family, which includes
4BCM11130, BCM11140, BCM11351, BCM28145, and BCM28155 SoCs. 4BCM11130, BCM11140, BCM11351, BCM28145, and BCM28155 SoCs.
@@ -7,14 +7,14 @@ BCM11130, BCM11140, BCM11351, BCM28145, and BCM28155 SoCs.
7 7
8Required Properties: 8Required Properties:
9 9
10- compatible: Must be "brcm,capri-pinctrl". 10- compatible: Must be "brcm,bcm11351-pinctrl"
11- reg: Base address of the PAD Controller register block and the size 11- reg: Base address of the PAD Controller register block and the size
12 of the block. 12 of the block.
13 13
14For example, the following is the bare minimum node: 14For example, the following is the bare minimum node:
15 15
16 pinctrl@35004800 { 16 pinctrl@35004800 {
17 compatible = "brcm,capri-pinctrl"; 17 compatible = "brcm,bcm11351-pinctrl";
18 reg = <0x35004800 0x430>; 18 reg = <0x35004800 0x430>;
19 }; 19 };
20 20
@@ -119,7 +119,7 @@ Optional Properties (for HDMI pins):
119Example: 119Example:
120// pin controller node 120// pin controller node
121pinctrl@35004800 { 121pinctrl@35004800 {
122 compatible = "brcm,capri-pinctrl"; 122 compatible = "brcmbcm11351-pinctrl";
123 reg = <0x35004800 0x430>; 123 reg = <0x35004800 0x430>;
124 124
125 // pin configuration node 125 // pin configuration node
diff --git a/Documentation/devicetree/bindings/sound/da9055.txt b/Documentation/devicetree/bindings/sound/da9055.txt
new file mode 100644
index 000000000000..ed1b7cc6f249
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/da9055.txt
@@ -0,0 +1,22 @@
1* Dialog DA9055 Audio CODEC
2
3DA9055 provides Audio CODEC support (I2C only).
4
5The Audio CODEC device in DA9055 has it's own I2C address which is configurable,
6so the device is instantiated separately from the PMIC (MFD) device.
7
8For details on accompanying PMIC I2C device, see the following:
9Documentation/devicetree/bindings/mfd/da9055.txt
10
11Required properties:
12
13 - compatible: "dlg,da9055-codec"
14 - reg: Specifies the I2C slave address
15
16
17Example:
18
19 codec: da9055-codec@1a {
20 compatible = "dlg,da9055-codec";
21 reg = <0x1a>;
22 };
diff --git a/Documentation/devicetree/bindings/sound/davinci-evm-audio.txt b/Documentation/devicetree/bindings/sound/davinci-evm-audio.txt
index 865178d5cdf3..963e100514c2 100644
--- a/Documentation/devicetree/bindings/sound/davinci-evm-audio.txt
+++ b/Documentation/devicetree/bindings/sound/davinci-evm-audio.txt
@@ -5,12 +5,19 @@ Required properties:
5- ti,model : The user-visible name of this sound complex. 5- ti,model : The user-visible name of this sound complex.
6- ti,audio-codec : The phandle of the TLV320AIC3x audio codec 6- ti,audio-codec : The phandle of the TLV320AIC3x audio codec
7- ti,mcasp-controller : The phandle of the McASP controller 7- ti,mcasp-controller : The phandle of the McASP controller
8- ti,codec-clock-rate : The Codec Clock rate (in Hz) applied to the Codec
9- ti,audio-routing : A list of the connections between audio components. 8- ti,audio-routing : A list of the connections between audio components.
10 Each entry is a pair of strings, the first being the connection's sink, 9 Each entry is a pair of strings, the first being the connection's sink,
11 the second being the connection's source. Valid names for sources and 10 the second being the connection's source. Valid names for sources and
12 sinks are the codec's pins, and the jacks on the board: 11 sinks are the codec's pins, and the jacks on the board:
13 12
13Optional properties:
14- ti,codec-clock-rate : The Codec Clock rate (in Hz) applied to the Codec.
15- clocks : Reference to the master clock
16- clock-names : The clock should be named "mclk"
17- Either codec-clock-rate or the codec-clock reference has to be defined. If
18 the both are defined the driver attempts to set referenced clock to the
19 defined rate and takes the rate from the clock reference.
20
14 Board connectors: 21 Board connectors:
15 22
16 * Headphone Jack 23 * Headphone Jack
diff --git a/Documentation/devicetree/bindings/sound/eukrea-tlv320.txt b/Documentation/devicetree/bindings/sound/eukrea-tlv320.txt
new file mode 100644
index 000000000000..0d7985c864af
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/eukrea-tlv320.txt
@@ -0,0 +1,21 @@
1Audio complex for Eukrea boards with tlv320aic23 codec.
2
3Required properties:
4- compatible : "eukrea,asoc-tlv320"
5- eukrea,model : The user-visible name of this sound complex.
6- ssi-controller : The phandle of the SSI controller.
7- fsl,mux-int-port : The internal port of the i.MX audio muxer (AUDMUX).
8- fsl,mux-ext-port : The external port of the i.MX audio muxer.
9
10Note: The AUDMUX port numbering should start at 1, which is consistent with
11hardware manual.
12
13Example:
14
15 sound {
16 compatible = "eukrea,asoc-tlv320";
17 eukrea,model = "imx51-eukrea-tlv320aic23";
18 ssi-controller = <&ssi2>;
19 fsl,mux-int-port = <2>;
20 fsl,mux-ext-port = <3>;
21 };
diff --git a/Documentation/devicetree/bindings/sound/fsl,esai.txt b/Documentation/devicetree/bindings/sound/fsl,esai.txt
index d7b99fa637b5..aeb8c4a0b88d 100644
--- a/Documentation/devicetree/bindings/sound/fsl,esai.txt
+++ b/Documentation/devicetree/bindings/sound/fsl,esai.txt
@@ -34,6 +34,10 @@ Required properties:
34 that ESAI would work in the synchronous mode, which means all the settings 34 that ESAI would work in the synchronous mode, which means all the settings
35 for Receiving would be duplicated from Transmition related registers. 35 for Receiving would be duplicated from Transmition related registers.
36 36
37 - big-endian : If this property is absent, the native endian mode will
38 be in use as default, or the big endian mode will be in use for all the
39 device registers.
40
37Example: 41Example:
38 42
39esai: esai@02024000 { 43esai: esai@02024000 {
@@ -46,5 +50,6 @@ esai: esai@02024000 {
46 dma-names = "rx", "tx"; 50 dma-names = "rx", "tx";
47 fsl,fifo-depth = <128>; 51 fsl,fifo-depth = <128>;
48 fsl,esai-synchronous; 52 fsl,esai-synchronous;
53 big-endian;
49 status = "disabled"; 54 status = "disabled";
50}; 55};
diff --git a/Documentation/devicetree/bindings/sound/fsl,spdif.txt b/Documentation/devicetree/bindings/sound/fsl,spdif.txt
index f2ae335670f5..3e9e82c8eab3 100644
--- a/Documentation/devicetree/bindings/sound/fsl,spdif.txt
+++ b/Documentation/devicetree/bindings/sound/fsl,spdif.txt
@@ -29,6 +29,10 @@ Required properties:
29 can also be referred to TxClk_Source 29 can also be referred to TxClk_Source
30 bit of register SPDIF_STC. 30 bit of register SPDIF_STC.
31 31
32 - big-endian : If this property is absent, the native endian mode will
33 be in use as default, or the big endian mode will be in use for all the
34 device registers.
35
32Example: 36Example:
33 37
34spdif: spdif@02004000 { 38spdif: spdif@02004000 {
@@ -50,5 +54,6 @@ spdif: spdif@02004000 {
50 "rxtx5", "rxtx6", 54 "rxtx5", "rxtx6",
51 "rxtx7"; 55 "rxtx7";
52 56
57 big-endian;
53 status = "okay"; 58 status = "okay";
54}; 59};
diff --git a/Documentation/devicetree/bindings/sound/pcm512x.txt b/Documentation/devicetree/bindings/sound/pcm512x.txt
new file mode 100644
index 000000000000..faff75e64573
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/pcm512x.txt
@@ -0,0 +1,30 @@
1PCM512x audio CODECs
2
3These devices support both I2C and SPI (configured with pin strapping
4on the board).
5
6Required properties:
7
8 - compatible : One of "ti,pcm5121" or "ti,pcm5122"
9
10 - reg : the I2C address of the device for I2C, the chip select
11 number for SPI.
12
13 - AVDD-supply, DVDD-supply, and CPVDD-supply : power supplies for the
14 device, as covered in bindings/regulator/regulator.txt
15
16Optional properties:
17
18 - clocks : A clock specifier for the clock connected as SCLK. If this
19 is absent the device will be configured to clock from BCLK.
20
21Example:
22
23 pcm5122: pcm5122@4c {
24 compatible = "ti,pcm5122";
25 reg = <0x4c>;
26
27 AVDD-supply = <&reg_3v3_analog>;
28 DVDD-supply = <&reg_1v8>;
29 CPVDD-supply = <&reg_3v3>;
30 };
diff --git a/Documentation/devicetree/bindings/sound/simple-card.txt b/Documentation/devicetree/bindings/sound/simple-card.txt
index 19c84df5fffa..b30c222f9cd3 100644
--- a/Documentation/devicetree/bindings/sound/simple-card.txt
+++ b/Documentation/devicetree/bindings/sound/simple-card.txt
@@ -8,13 +8,18 @@ Required properties:
8 8
9Optional properties: 9Optional properties:
10 10
11- simple-audio-card,name : User specified audio sound card name, one string
12 property.
11- simple-audio-card,format : CPU/CODEC common audio format. 13- simple-audio-card,format : CPU/CODEC common audio format.
12 "i2s", "right_j", "left_j" , "dsp_a" 14 "i2s", "right_j", "left_j" , "dsp_a"
13 "dsp_b", "ac97", "pdm", "msb", "lsb" 15 "dsp_b", "ac97", "pdm", "msb", "lsb"
16- simple-audio-card,widgets : Please refer to widgets.txt.
14- simple-audio-card,routing : A list of the connections between audio components. 17- simple-audio-card,routing : A list of the connections between audio components.
15 Each entry is a pair of strings, the first being the 18 Each entry is a pair of strings, the first being the
16 connection's sink, the second being the connection's 19 connection's sink, the second being the connection's
17 source. 20 source.
21- dai-tdm-slot-num : Please refer to tdm-slot.txt.
22- dai-tdm-slot-width : Please refer to tdm-slot.txt.
18 23
19Required subnodes: 24Required subnodes:
20 25
@@ -42,11 +47,19 @@ Example:
42 47
43sound { 48sound {
44 compatible = "simple-audio-card"; 49 compatible = "simple-audio-card";
50 simple-audio-card,name = "VF610-Tower-Sound-Card";
45 simple-audio-card,format = "left_j"; 51 simple-audio-card,format = "left_j";
52 simple-audio-card,widgets =
53 "Microphone", "Microphone Jack",
54 "Headphone", "Headphone Jack",
55 "Speaker", "External Speaker";
46 simple-audio-card,routing = 56 simple-audio-card,routing =
47 "MIC_IN", "Mic Jack", 57 "MIC_IN", "Microphone Jack",
48 "Headphone Jack", "HP_OUT", 58 "Headphone Jack", "HP_OUT",
49 "Ext Spk", "LINE_OUT"; 59 "External Speaker", "LINE_OUT";
60
61 dai-tdm-slot-num = <2>;
62 dai-tdm-slot-width = <8>;
50 63
51 simple-audio-card,cpu { 64 simple-audio-card,cpu {
52 sound-dai = <&sh_fsi2 0>; 65 sound-dai = <&sh_fsi2 0>;
diff --git a/Documentation/devicetree/bindings/sound/sirf-audio-codec.txt b/Documentation/devicetree/bindings/sound/sirf-audio-codec.txt
new file mode 100644
index 000000000000..062f5ec36f9b
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/sirf-audio-codec.txt
@@ -0,0 +1,17 @@
1SiRF internal audio CODEC
2
3Required properties:
4
5 - compatible : "sirf,atlas6-audio-codec" or "sirf,prima2-audio-codec"
6
7 - reg : the register address of the device.
8
9 - clocks: the clock of SiRF internal audio codec
10
11Example:
12
13audiocodec: audiocodec@b0040000 {
14 compatible = "sirf,atlas6-audio-codec";
15 reg = <0xb0040000 0x10000>;
16 clocks = <&clks 27>;
17};
diff --git a/Documentation/devicetree/bindings/sound/sirf-audio-port.txt b/Documentation/devicetree/bindings/sound/sirf-audio-port.txt
new file mode 100644
index 000000000000..1f66de3c8f00
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/sirf-audio-port.txt
@@ -0,0 +1,20 @@
1* SiRF SoC audio port
2
3Required properties:
4- compatible: "sirf,audio-port"
5- reg: Base address and size entries:
6- dmas: List of DMA controller phandle and DMA request line ordered pairs.
7- dma-names: Identifier string for each DMA request line in the dmas property.
8 These strings correspond 1:1 with the ordered pairs in dmas.
9
10 One of the DMA channels will be responsible for transmission (should be
11 named "tx") and one for reception (should be named "rx").
12
13Example:
14
15audioport: audioport@b0040000 {
16 compatible = "sirf,audio-port";
17 reg = <0xb0040000 0x10000>;
18 dmas = <&dmac1 3>, <&dmac1 8>;
19 dma-names = "rx", "tx";
20};
diff --git a/Documentation/devicetree/bindings/sound/sirf-audio.txt b/Documentation/devicetree/bindings/sound/sirf-audio.txt
new file mode 100644
index 000000000000..c88882ca3704
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/sirf-audio.txt
@@ -0,0 +1,41 @@
1* SiRF atlas6 and prima2 internal audio codec and port based audio setups
2
3Required properties:
4- compatible: "sirf,sirf-audio-card"
5- sirf,audio-platform: phandle for the platform node
6- sirf,audio-codec: phandle for the SiRF internal codec node
7
8Optional properties:
9- hp-pa-gpios: Need to be present if the board need control external
10 headphone amplifier.
11- spk-pa-gpios: Need to be present if the board need control external
12 speaker amplifier.
13- hp-switch-gpios: Need to be present if the board capable to detect jack
14 insertion, removal.
15
16Available audio endpoints for the audio-routing table:
17
18Board connectors:
19 * Headset Stereophone
20 * Ext Spk
21 * Line In
22 * Mic
23
24SiRF internal audio codec pins:
25 * HPOUTL
26 * HPOUTR
27 * SPKOUT
28 * Ext Mic
29 * Mic Bias
30
31Example:
32
33sound {
34 compatible = "sirf,sirf-audio-card";
35 sirf,audio-codec = <&audiocodec>;
36 sirf,audio-platform = <&audioport>;
37 hp-pa-gpios = <&gpio 44 0>;
38 spk-pa-gpios = <&gpio 46 0>;
39 hp-switch-gpios = <&gpio 45 0>;
40};
41
diff --git a/Documentation/devicetree/bindings/sound/tdm-slot.txt b/Documentation/devicetree/bindings/sound/tdm-slot.txt
new file mode 100644
index 000000000000..6a2c84247f91
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/tdm-slot.txt
@@ -0,0 +1,20 @@
1TDM slot:
2
3This specifies audio DAI's TDM slot.
4
5TDM slot properties:
6dai-tdm-slot-num : Number of slots in use.
7dai-tdm-slot-width : Width in bits for each slot.
8
9For instance:
10 dai-tdm-slot-num = <2>;
11 dai-tdm-slot-width = <8>;
12
13And for each spcified driver, there could be one .of_xlate_tdm_slot_mask()
14to specify a explicit mapping of the channels and the slots. If it's absent
15the default snd_soc_of_xlate_tdm_slot_mask() will be used to generating the
16tx and rx masks.
17
18For snd_soc_of_xlate_tdm_slot_mask(), the tx and rx masks will use a 1 bit
19for an active slot as default, and the default active bits are at the LSB of
20the masks.
diff --git a/Documentation/devicetree/bindings/sound/tlv320aic32x4.txt b/Documentation/devicetree/bindings/sound/tlv320aic32x4.txt
new file mode 100644
index 000000000000..5e2741af27be
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/tlv320aic32x4.txt
@@ -0,0 +1,30 @@
1Texas Instruments - tlv320aic32x4 Codec module
2
3The tlv320aic32x4 serial control bus communicates through I2C protocols
4
5Required properties:
6 - compatible: Should be "ti,tlv320aic32x4"
7 - reg: I2C slave address
8 - supply-*: Required supply regulators are:
9 "iov" - digital IO power supply
10 "ldoin" - LDO power supply
11 "dv" - Digital core power supply
12 "av" - Analog core power supply
13 If you supply ldoin, dv and av are optional. Otherwise they are required
14 See regulator/regulator.txt for more information about the detailed binding
15 format.
16
17Optional properties:
18 - reset-gpios: Reset-GPIO phandle with args as described in gpio/gpio.txt
19 - clocks/clock-names: Clock named 'mclk' for the master clock of the codec.
20 See clock/clock-bindings.txt for information about the detailed format.
21
22
23Example:
24
25codec: tlv320aic32x4@18 {
26 compatible = "ti,tlv320aic32x4";
27 reg = <0x18>;
28 clocks = <&clks 201>;
29 clock-names = "mclk";
30};
diff --git a/Documentation/devicetree/bindings/sound/tlv320aic3x.txt b/Documentation/devicetree/bindings/sound/tlv320aic3x.txt
index 9d8ea14db490..5e6040c2c2e9 100644
--- a/Documentation/devicetree/bindings/sound/tlv320aic3x.txt
+++ b/Documentation/devicetree/bindings/sound/tlv320aic3x.txt
@@ -6,7 +6,6 @@ Required properties:
6 6
7- compatible - "string" - One of: 7- compatible - "string" - One of:
8 "ti,tlv320aic3x" - Generic TLV320AIC3x device 8 "ti,tlv320aic3x" - Generic TLV320AIC3x device
9 "ti,tlv320aic32x4" - TLV320AIC32x4
10 "ti,tlv320aic33" - TLV320AIC33 9 "ti,tlv320aic33" - TLV320AIC33
11 "ti,tlv320aic3007" - TLV320AIC3007 10 "ti,tlv320aic3007" - TLV320AIC3007
12 "ti,tlv320aic3106" - TLV320AIC3106 11 "ti,tlv320aic3106" - TLV320AIC3106
diff --git a/Documentation/devicetree/bindings/sound/widgets.txt b/Documentation/devicetree/bindings/sound/widgets.txt
new file mode 100644
index 000000000000..b6de5ba3b2de
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/widgets.txt
@@ -0,0 +1,20 @@
1Widgets:
2
3This mainly specifies audio off-codec DAPM widgets.
4
5Each entry is a pair of strings in DT:
6
7 "template-wname", "user-supplied-wname"
8
9The "template-wname" being the template widget name and currently includes:
10"Microphone", "Line", "Headphone" and "Speaker".
11
12The "user-supplied-wname" being the user specified widget name.
13
14For instance:
15 simple-audio-widgets =
16 "Microphone", "Microphone Jack",
17 "Line", "Line In Jack",
18 "Line", "Line Out Jack",
19 "Headphone", "Headphone Jack",
20 "Speaker", "Speaker External";