Skip to content

Commit

Permalink
Merge branch 'asoc-5.5' into asoc-next
Browse files Browse the repository at this point in the history
  • Loading branch information
Mark Brown committed Nov 22, 2019
2 parents 3701d2c + 39870b0 commit 8c4d2a0
Show file tree
Hide file tree
Showing 228 changed files with 12,218 additions and 3,530 deletions.
85 changes: 85 additions & 0 deletions Documentation/devicetree/bindings/sound/adi,adau7118.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/adi,adau7118.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#


title: Analog Devices ADAU7118 8 Channel PDM to I2S/TDM Converter

maintainers:
- Nuno Sá <nuno.sa@analog.com>

description: |
Analog Devices ADAU7118 8 Channel PDM to I2S/TDM Converter over I2C or HW
standalone mode.
https://www.analog.com/media/en/technical-documentation/data-sheets/ADAU7118.pdf
properties:
compatible:
enum:
- adi,adau7118

reg:
maxItems: 1

"#sound-dai-cells":
const: 0

iovdd-supply:
description: Digital Input/Output Power Supply.

dvdd-supply:
description: Internal Core Digital Power Supply.

adi,decimation-ratio:
description: |
This property set's the decimation ratio of PDM to PCM audio data.
allOf:
- $ref: /schemas/types.yaml#/definitions/uint32
- enum: [64, 32, 16]
default: 64

adi,pdm-clk-map:
description: |
The ADAU7118 has two PDM clocks for the four Inputs. Each input must be
assigned to one of these two clocks. This property set's the mapping
between the clocks and the inputs.
allOf:
- $ref: /schemas/types.yaml#/definitions/uint32-array
- minItems: 4
maxItems: 4
items:
maximum: 1
default: [0, 0, 1, 1]

required:
- "#sound-dai-cells"
- compatible
- iovdd-supply
- dvdd-supply

examples:
- |
i2c {
/* example with i2c support */
#address-cells = <1>;
#size-cells = <0>;
adau7118_codec: audio-codec@14 {
compatible = "adi,adau7118";
reg = <0x14>;
#sound-dai-cells = <0>;
iovdd-supply = <&supply>;
dvdd-supply = <&supply>;
adi,pdm-clk-map = <1 1 0 0>;
adi,decimation-ratio = <16>;
};
};
/* example with hw standalone mode */
adau7118_codec_hw: adau7118-codec-hw {
compatible = "adi,adau7118";
#sound-dai-cells = <0>;
iovdd-supply = <&supply>;
dvdd-supply = <&supply>;
};
267 changes: 267 additions & 0 deletions Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-codec.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,267 @@
# 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>
- Maxime Ripard <maxime.ripard@bootlin.com>

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";
};
...
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/allwinner,sun8i-a23-codec-analog.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Allwinner A23 Analog Codec Device Tree Bindings

maintainers:
- Chen-Yu Tsai <wens@csie.org>
- Maxime Ripard <maxime.ripard@bootlin.com>

properties:
compatible:
enum:
# FIXME: This is documented in the PRCM binding, but needs to be
# migrated here at some point
# - allwinner,sun8i-a23-codec-analog
- allwinner,sun8i-h3-codec-analog
- allwinner,sun8i-v3s-codec-analog

reg:
maxItems: 1

required:
- compatible
- reg

additionalProperties: false

examples:
- |
codec_analog: codec-analog@1f015c0 {
compatible = "allwinner,sun8i-h3-codec-analog";
reg = <0x01f015c0 0x4>;
};
...
Loading

0 comments on commit 8c4d2a0

Please sign in to comment.