61aaaa8110
There's no reason to have "status" properties in examples. "okay" is the default, and "disabled" turns off some schema checks ('required' specifically). Enabling qca,ar71xx causes a warning, so let's fix the node names: Documentation/devicetree/bindings/net/qca,ar71xx.example.dt.yaml: phy@3: '#phy-cells' is a required property From schema: schemas/phy/phy-provider.yaml Cc: Maxime Ripard <mripard@kernel.org> Cc: Chen-Yu Tsai <wens@csie.org> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: "David S. Miller" <davem@davemloft.net> Cc: Jakub Kicinski <kuba@kernel.org> Cc: Robert Marko <robert.marko@sartura.hr> Cc: Alessandro Zummo <a.zummo@towertech.it> Cc: Ramesh Shanmugasundaram <rashanmu@gmail.com> Cc: "G. Jaya Kumaran" <vineetha.g.jaya.kumaran@intel.com> Cc: ChiYuan Huang <cy_huang@richtek.com> Cc: Wei Xu <xuwei5@hisilicon.com> Cc: Dilip Kota <eswara.kota@linux.intel.com> Cc: Karol Gugala <kgugala@antmicro.com> Cc: Mateusz Holenko <mholenko@antmicro.com> Cc: Olivier Moysan <olivier.moysan@st.com> Cc: Peter Ujfalusi <peter.ujfalusi@ti.com> Cc: dri-devel@lists.freedesktop.org Cc: linux-media@vger.kernel.org Cc: netdev@vger.kernel.org Cc: linux-rtc@vger.kernel.org Cc: alsa-devel@alsa-project.org Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Rui Miguel Silva <rmfrfs@gmail.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> # For media Acked-by: Mark Brown <broonie@kernel.org> Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Reviewed-by: Oleksij Rempel <o.rempel@pengutronix.de> Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de> Link: https://lore.kernel.org/r/20210720172025.363238-1-robh@kernel.org
196 lines
4.9 KiB
YAML
196 lines
4.9 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/sound/st,stm32-sai.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: STMicroelectronics STM32 Serial Audio Interface (SAI)
|
|
|
|
maintainers:
|
|
- Olivier Moysan <olivier.moysan@st.com>
|
|
|
|
description:
|
|
The SAI interface (Serial Audio Interface) offers a wide set of audio
|
|
protocols as I2S standards, LSB or MSB-justified, PCM/DSP, TDM, and AC'97.
|
|
The SAI contains two independent audio sub-blocks. Each sub-block has
|
|
its own clock generator and I/O lines controller.
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- st,stm32f4-sai
|
|
- st,stm32h7-sai
|
|
|
|
reg:
|
|
items:
|
|
- description: Base address and size of SAI common register set.
|
|
- description: Base address and size of SAI identification register set.
|
|
minItems: 1
|
|
|
|
ranges:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
resets:
|
|
maxItems: 1
|
|
|
|
"#address-cells":
|
|
const: 1
|
|
|
|
"#size-cells":
|
|
const: 1
|
|
|
|
clocks:
|
|
maxItems: 3
|
|
|
|
clock-names:
|
|
maxItems: 3
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- ranges
|
|
- "#address-cells"
|
|
- "#size-cells"
|
|
- clocks
|
|
- clock-names
|
|
|
|
patternProperties:
|
|
"^audio-controller@[0-9a-f]+$":
|
|
type: object
|
|
description:
|
|
Two subnodes corresponding to SAI sub-block instances A et B
|
|
can be defined. Subnode can be omitted for unsused sub-block.
|
|
|
|
properties:
|
|
compatible:
|
|
description: Compatible for SAI sub-block A or B.
|
|
pattern: "st,stm32-sai-sub-[ab]"
|
|
|
|
"#sound-dai-cells":
|
|
const: 0
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
items:
|
|
- description: sai_ck clock feeding the internal clock generator.
|
|
- description: MCLK clock from a SAI set as master clock provider.
|
|
minItems: 1
|
|
|
|
clock-names:
|
|
items:
|
|
- const: sai_ck
|
|
- const: MCLK
|
|
minItems: 1
|
|
|
|
dmas:
|
|
maxItems: 1
|
|
|
|
dma-names:
|
|
description: |
|
|
rx: SAI sub-block is configured as a capture DAI.
|
|
tx: SAI sub-block is configured as a playback DAI.
|
|
enum: [ rx, tx ]
|
|
|
|
st,sync:
|
|
description:
|
|
Configure the SAI sub-block as slave of another SAI sub-block.
|
|
By default SAI sub-block is in asynchronous mode.
|
|
Must contain the phandle and index of the SAI sub-block providing
|
|
the synchronization.
|
|
allOf:
|
|
- $ref: /schemas/types.yaml#/definitions/phandle-array
|
|
- maxItems: 1
|
|
|
|
st,iec60958:
|
|
description:
|
|
If set, support S/PDIF IEC6958 protocol for playback.
|
|
IEC60958 protocol is not available for capture.
|
|
By default, custom protocol is assumed, meaning that protocol is
|
|
configured according to protocol defined in related DAI link node,
|
|
such as i2s, left justified, right justified, dsp and pdm protocols.
|
|
allOf:
|
|
- $ref: /schemas/types.yaml#/definitions/flag
|
|
|
|
"#clock-cells":
|
|
description: Configure the SAI device as master clock provider.
|
|
const: 0
|
|
|
|
required:
|
|
- compatible
|
|
- "#sound-dai-cells"
|
|
- reg
|
|
- clocks
|
|
- clock-names
|
|
- dmas
|
|
- dma-names
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: st,stm32f4-sai
|
|
|
|
- then:
|
|
properties:
|
|
clocks:
|
|
items:
|
|
- description: x8k, SAI parent clock for sampling rates multiple of 8kHz.
|
|
- description: x11k, SAI parent clock for sampling rates multiple of 11.025kHz.
|
|
|
|
clock-names:
|
|
items:
|
|
- const: x8k
|
|
- const: x11k
|
|
|
|
- else:
|
|
properties:
|
|
clocks:
|
|
items:
|
|
- description: pclk feeds the peripheral bus interface.
|
|
- description: x8k, SAI parent clock for sampling rates multiple of 8kHz.
|
|
- description: x11k, SAI parent clock for sampling rates multiple of 11.025kHz.
|
|
|
|
clock-names:
|
|
items:
|
|
- const: pclk
|
|
- const: x8k
|
|
- const: x11k
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
#include <dt-bindings/clock/stm32mp1-clks.h>
|
|
#include <dt-bindings/reset/stm32mp1-resets.h>
|
|
sai2: sai@4400b000 {
|
|
compatible = "st,stm32h7-sai";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges = <0 0x4400b000 0x400>;
|
|
reg = <0x4400b000 0x4>, <0x4400b3f0 0x10>;
|
|
clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
|
|
clock-names = "pclk", "x8k", "x11k";
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&sai2a_pins_a>, <&sai2b_pins_b>;
|
|
pinctrl-1 = <&sai2a_sleep_pins_a>, <&sai2b_sleep_pins_b>;
|
|
|
|
sai2a: audio-controller@4400b004 {
|
|
#sound-dai-cells = <0>;
|
|
compatible = "st,stm32-sai-sub-a";
|
|
reg = <0x4 0x1c>;
|
|
dmas = <&dmamux1 89 0x400 0x01>;
|
|
dma-names = "tx";
|
|
clocks = <&rcc SAI2_K>;
|
|
clock-names = "sai_ck";
|
|
};
|
|
};
|
|
|
|
...
|