Add device tree bindings for Cirrus Logic EP93xx internal SoCs' I2S and AC'97 controllers. Signed-off-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> --- .../bindings/sound/cirrus,ep9301-ac97.yaml | 47 ++++++++++++++ .../bindings/sound/cirrus,ep9301-i2s.yaml | 63 +++++++++++++++++++ MAINTAINERS | 1 + 3 files changed, 111 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/cirrus,ep9301-ac97.yaml create mode 100644 Documentation/devicetree/bindings/sound/cirrus,ep9301-i2s.yaml diff --git a/Documentation/devicetree/bindings/sound/cirrus,ep9301-ac97.yaml b/Documentation/devicetree/bindings/sound/cirrus,ep9301-ac97.yaml new file mode 100644 index 000000000000..bfa5d392f525 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/cirrus,ep9301-ac97.yaml @@ -0,0 +1,47 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/cirrus,ep9301-ac97.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Cirrus EP93xx AC'97 Controller + +description: | + The AC’97 Controller includes a 5-pin serial interface to an external audio + codec. + +maintainers: + - Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> + +properties: + compatible: + const: cirrus,ep9301-ac97 + + '#sound-dai-cells': + const: 0 + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + +required: + - compatible + - '#sound-dai-cells' + - reg + - interrupts + +additionalProperties: false + +examples: + - | + ac97: ac97@80880000 { + compatible = "cirrus,ep9301-ac97"; + #sound-dai-cells = <0>; + reg = <0x80880000 0xac>; + interrupt-parent = <&vic0>; + interrupts = <6>; + }; + +... diff --git a/Documentation/devicetree/bindings/sound/cirrus,ep9301-i2s.yaml b/Documentation/devicetree/bindings/sound/cirrus,ep9301-i2s.yaml new file mode 100644 index 000000000000..b47d28dc8389 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/cirrus,ep9301-i2s.yaml @@ -0,0 +1,63 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/cirrus,ep9301-i2s.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Cirrus EP93xx I2S Controller + +description: | + The I2S controller is used to stream serial audio data between the external + I2S CODECs’, ADCs/DACs, and the ARM Core. The controller supports I2S, Left- + and Right-Justified DSP formats. + +maintainers: + - Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> + +properties: + compatible: + const: cirrus,ep9301-i2s + + '#sound-dai-cells': + const: 0 + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + clocks: + minItems: 3 + + clock-names: + items: + - const: mclk + - const: sclk + - const: lrclk + +required: + - compatible + - '#sound-dai-cells' + - reg + - interrupts + - clocks + - clock-names + +additionalProperties: false + +examples: + - | + i2s: i2s@80820000 { + compatible = "cirrus,ep9301-i2s"; + #sound-dai-cells = <0>; + reg = <0x80820000 0x100>; + interrupt-parent = <&vic1>; + interrupts = <28>; + clocks = <&syscon 29 + &syscon 30 + &syscon 31>; + clock-names = "mclk", "sclk", "lrclk"; + }; + +... diff --git a/MAINTAINERS b/MAINTAINERS index 254aab631fd4..765902756c37 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2092,6 +2092,7 @@ M: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> L: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx (moderated for non-subscribers) S: Maintained F: Documentation/devicetree/bindings/iio/adc/cirrus,ep9301-adc.yaml +F: Documentation/devicetree/bindings/sound/cirrus,ep9301-* F: arch/arm/mach-ep93xx/ F: arch/arm/mach-ep93xx/include/mach/ F: drivers/iio/adc/ep93xx_adc.c -- 2.39.1