mirror of
https://github.com/torvalds/linux.git
synced 2024-12-29 14:21:47 +00:00
3d21a46093
json-schema versions draft7 and earlier have a weird behavior in that any keywords combined with a '$ref' are ignored (silently). The correct form was to put a '$ref' under an 'allOf'. This behavior is now changed in the 2019-09 json-schema spec and '$ref' can be mixed with other keywords. The json-schema library doesn't yet support this, but the tooling now does a fixup for this and either way works. This has been a constant source of review comments, so let's change this treewide so everyone copies the simpler syntax. Scripted with ruamel.yaml with some manual fixups. Some minor whitespace changes from the script. Signed-off-by: Rob Herring <robh@kernel.org> Acked-by: Maxime Ripard <mripard@kernel.org> Acked-by: Lee Jones <lee.jones@linaro.org> Acked-By: Vinod Koul <vkoul@kernel.org> Acked-by: Mark Brown <broonie@kernel.org> Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Acked-by: Wolfram Sang <wsa@the-dreams.de> # for I2C Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> #for-iio Reviewed-by: Stephen Boyd <sboyd@kernel.org> # clock Signed-off-by: Rob Herring <robh@kernel.org>
267 lines
5.4 KiB
YAML
267 lines
5.4 KiB
YAML
# 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 <mripard@kernel.org>
|
|
|
|
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.
|
|
$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";
|
|
};
|
|
|
|
...
|