92 lines
2.6 KiB
Plaintext
92 lines
2.6 KiB
Plaintext
* Allwinner A10 Codec
|
|
|
|
Required properties:
|
|
- compatible: must be one of the following compatibles:
|
|
- "allwinner,sun4i-a10-codec"
|
|
- "allwinner,sun6i-a31-codec"
|
|
- "allwinner,sun7i-a20-codec"
|
|
- "allwinner,sun8i-a23-codec"
|
|
- "allwinner,sun8i-h3-codec"
|
|
- reg: must contain the registers location and length
|
|
- interrupts: must contain the codec interrupt
|
|
- dmas: DMA channels for tx and rx dma. See the DMA client binding,
|
|
Documentation/devicetree/bindings/dma/dma.txt
|
|
- dma-names: should include "tx" and "rx".
|
|
- clocks: a list of phandle + clock-specifer pairs, one for each entry
|
|
in clock-names.
|
|
- clock-names: should contain followings:
|
|
- "apb": the parent APB clock for this controller
|
|
- "codec": the parent module clock
|
|
|
|
Optional properties:
|
|
- allwinner,pa-gpios: gpio to enable external amplifier
|
|
|
|
Required properties for the following compatibles:
|
|
- "allwinner,sun6i-a31-codec"
|
|
- "allwinner,sun8i-a23-codec"
|
|
- "allwinner,sun8i-h3-codec"
|
|
- resets: phandle to the reset control for this device
|
|
- allwinner,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 include:
|
|
|
|
Audio pins on the SoC:
|
|
"HP"
|
|
"HPCOM"
|
|
"LINEIN"
|
|
"LINEOUT" (not on sun8i-a23)
|
|
"MIC1"
|
|
"MIC2"
|
|
"MIC3" (sun6i-a31 only)
|
|
|
|
Microphone biases from the SoC:
|
|
"HBIAS"
|
|
"MBIAS"
|
|
|
|
Board connectors:
|
|
"Headphone"
|
|
"Headset Mic"
|
|
"Line In"
|
|
"Line Out"
|
|
"Mic"
|
|
"Speaker"
|
|
|
|
Required properties for the following compatibles:
|
|
- "allwinner,sun8i-a23-codec"
|
|
- "allwinner,sun8i-h3-codec"
|
|
- allwinner,codec-analog-controls: A phandle to the codec analog controls
|
|
block in the PRCM.
|
|
|
|
Example:
|
|
codec: codec@01c22c00 {
|
|
#sound-dai-cells = <0>;
|
|
compatible = "allwinner,sun7i-a20-codec";
|
|
reg = <0x01c22c00 0x40>;
|
|
interrupts = <0 30 4>;
|
|
clocks = <&apb0_gates 0>, <&codec_clk>;
|
|
clock-names = "apb", "codec";
|
|
dmas = <&dma 0 19>, <&dma 0 19>;
|
|
dma-names = "rx", "tx";
|
|
};
|
|
|
|
codec: codec@01c22c00 {
|
|
#sound-dai-cells = <0>;
|
|
compatible = "allwinner,sun6i-a31-codec";
|
|
reg = <0x01c22c00 0x98>;
|
|
interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&ccu CLK_APB1_CODEC>, <&ccu CLK_CODEC>;
|
|
clock-names = "apb", "codec";
|
|
resets = <&ccu RST_APB1_CODEC>;
|
|
dmas = <&dma 15>, <&dma 15>;
|
|
dma-names = "rx", "tx";
|
|
allwinner,audio-routing =
|
|
"Headphone", "HP",
|
|
"Speaker", "LINEOUT",
|
|
"LINEIN", "Line In",
|
|
"MIC1", "MBIAS",
|
|
"MIC1", "Mic",
|
|
"MIC2", "HBIAS",
|
|
"MIC2", "Headset Mic";
|
|
};
|