mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-24 09:29:41 +07:00
8d9e4c9e99
The A31 has a similar codec to the A10/A20. The PCM parts are very similar, with different register offsets. The analog paths are very different. There are more inputs and outputs. The ADC mux has been replaced with a proper mixer. This patch adds support for the basic playback path of the A31 codec, from the DAC to the headphones. Headphone detection, microphone, signaling, other inputs/outputs and capture will be added later. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Mark Brown <broonie@kernel.org>
49 lines
1.5 KiB
Plaintext
49 lines
1.5 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"
|
|
- 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"
|
|
- resets: phandle to the reset control for this device
|
|
|
|
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";
|
|
};
|