2019-10-16 12:43:55 +02:00
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id : http://devicetree.org/schemas/sound/allwinner,sun4i-a10-codec.yaml#
$schema : http://devicetree.org/meta-schemas/core.yaml#
title : Allwinner A10 Codec Device Tree Bindings
maintainers :
- Chen-Yu Tsai <wens@csie.org>
2019-12-09 10:32:48 +01:00
- Maxime Ripard <mripard@kernel.org>
2019-10-16 12:43:55 +02:00
properties :
"#sound-dai-cells" :
const : 0
compatible :
enum :
- 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 :
maxItems : 1
interrupts :
maxItems : 1
clocks :
items :
- description : Bus Clock
- description : Module Clock
clock-names :
items :
- const : apb
- const : codec
dmas :
items :
- description : RX DMA Channel
- description : TX DMA Channel
dma-names :
items :
- const : rx
- const : tx
resets :
maxItems : 1
allwinner,audio-routing :
description : |-
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.
allOf :
- $ref : /schemas/types.yaml#definitions/non-unique-string-array
- minItems : 2
maxItems : 18
items :
enum :
# Audio Pins on the SoC
- HP
- HPCOM
- LINEIN
- LINEOUT
- MIC1
- MIC2
- MIC3
# Microphone Biases from the SoC
- HBIAS
- MBIAS
# Board Connectors
- Headphone
- Headset Mic
- Line In
- Line Out
- Mic
- Speaker
allwinner,codec-analog-controls :
$ref : /schemas/types.yaml#/definitions/phandle
description : Phandle to the codec analog controls in the PRCM
allwinner,pa-gpios :
description : GPIO to enable the external amplifier
required :
- "#sound-dai-cells"
- compatible
- reg
- interrupts
- clocks
- clock-names
- dmas
- dma-names
allOf :
- if :
properties :
compatible :
enum :
- allwinner,sun6i-a31-codec
- allwinner,sun8i-a23-codec
- allwinner,sun8i-h3-codec
- allwinner,sun8i-v3s-codec
then :
if :
properties :
compatible :
const : allwinner,sun6i-a31-codec
then :
required :
- resets
- allwinner,audio-routing
else :
required :
- resets
- allwinner,audio-routing
- allwinner,codec-analog-controls
- if :
properties :
compatible :
enum :
- allwinner,sun6i-a31-codec
then :
properties :
allwinner,audio-routing :
items :
enum :
- HP
- HPCOM
- LINEIN
- LINEOUT
- MIC1
- MIC2
- MIC3
- HBIAS
- MBIAS
- Headphone
- Headset Mic
- Line In
- Line Out
- Mic
- Speaker
- if :
properties :
compatible :
enum :
- allwinner,sun8i-a23-codec
then :
properties :
allwinner,audio-routing :
items :
enum :
- HP
- HPCOM
- LINEIN
- MIC1
- MIC2
- HBIAS
- MBIAS
- Headphone
- Headset Mic
- Line In
- Line Out
- Mic
- Speaker
- if :
properties :
compatible :
enum :
- allwinner,sun8i-h3-codec
then :
properties :
allwinner,audio-routing :
items :
enum :
- HP
- HPCOM
- LINEIN
- LINEOUT
- MIC1
- MIC2
- HBIAS
- MBIAS
- Headphone
- Headset Mic
- Line In
- Line Out
- Mic
- Speaker
- if :
properties :
compatible :
enum :
- allwinner,sun8i-v3s-codec
then :
properties :
allwinner,audio-routing :
items :
enum :
- HP
- HPCOM
- MIC1
- HBIAS
- Headphone
- Headset Mic
- Line In
- Line Out
- Mic
- Speaker
additionalProperties : false
examples :
- |
codec@1c22c00 {
#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@1c22c00 {
#sound-dai-cells = <0>;
compatible = "allwinner,sun6i-a31-codec";
reg = <0x01c22c00 0x98>;
interrupts = <0 29 4>;
clocks = <&ccu 61>, <&ccu 135>;
clock-names = "apb", "codec";
resets = <&ccu 42>;
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" ;
};
...