| * 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" | |
| - "allwinner,sun8i-v3s-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 the following: | |
| - "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" | |
| - "allwinner,sun8i-v3s-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" (not on sun8i-v3s) | |
| "LINEOUT" (not on sun8i-a23 or sun8i-v3s) | |
| "MIC1" | |
| "MIC2" (not on sun8i-v3s) | |
| "MIC3" (sun6i-a31 only) | |
| Microphone biases from the SoC: | |
| "HBIAS" | |
| "MBIAS" (not on sun8i-v3s) | |
| 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,sun8i-v3s-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"; | |
| }; |