From: Frank Li <Frank.li@nxp.com>
To: Rob Herring <robh@kernel.org>
Cc: Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>,
Shengjiu Wang <shengjiu.wang@nxp.com>,
"open list:SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEM..."
<linux-sound@vger.kernel.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@vger.kernel.org>,
open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/1] ASoC: dt-bindings: fsl-esai: Convert fsl,esai.txt to yaml
Date: Thu, 21 Mar 2024 12:19:51 -0400 [thread overview]
Message-ID: <ZfxeJ9dAXtfYW7Qq@lizhi-Precision-Tower-5810> (raw)
In-Reply-To: <20240320152435.GA1753500-robh@kernel.org>
On Wed, Mar 20, 2024 at 10:24:35AM -0500, Rob Herring wrote:
> On Mon, Mar 18, 2024 at 03:45:34PM -0400, Frank Li wrote:
> > Convert fsl,esai.txt to yaml. So DTB_CHECK tools can verify dts file about
> > esai part.
> >
> > clock-names 'spba' is optional according to description. So minItems of
> > clocks and clock-names is 3.
> >
> > Signed-off-by: Frank Li <Frank.Li@nxp.com>
> > ---
> >
> > Notes:
> > Pass dt_binding check
> > make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j8 dt_binding_check DT_SCHEMA_FILES=fsl,esai.yaml
> > DTEX Documentation/devicetree/bindings/sound/fsl,esai.example.dts
> > LINT Documentation/devicetree/bindings
> > CHKDT Documentation/devicetree/bindings/processed-schema.json
> > SCHEMA Documentation/devicetree/bindings/processed-schema.json
> > DTC_CHK Documentation/devicetree/bindings/sound/fsl,esai.example.dtb
> >
> > .../devicetree/bindings/sound/fsl,esai.txt | 68 -----------
> > .../devicetree/bindings/sound/fsl,esai.yaml | 110 ++++++++++++++++++
> > 2 files changed, 110 insertions(+), 68 deletions(-)
> > delete mode 100644 Documentation/devicetree/bindings/sound/fsl,esai.txt
> > create mode 100644 Documentation/devicetree/bindings/sound/fsl,esai.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/sound/fsl,esai.txt b/Documentation/devicetree/bindings/sound/fsl,esai.txt
> > deleted file mode 100644
> > index 90112ca1ff423..0000000000000
> > --- a/Documentation/devicetree/bindings/sound/fsl,esai.txt
> > +++ /dev/null
> > @@ -1,68 +0,0 @@
> > -Freescale Enhanced Serial Audio Interface (ESAI) Controller
> > -
> > -The Enhanced Serial Audio Interface (ESAI) provides a full-duplex serial port
> > -for serial communication with a variety of serial devices, including industry
> > -standard codecs, Sony/Phillips Digital Interface (S/PDIF) transceivers, and
> > -other DSPs. It has up to six transmitters and four receivers.
> > -
> > -Required properties:
> > -
> > - - compatible : Compatible list, should contain one of the following
> > - compatibles:
> > - "fsl,imx35-esai",
> > - "fsl,vf610-esai",
> > - "fsl,imx6ull-esai",
> > - "fsl,imx8qm-esai",
> > -
> > - - reg : Offset and length of the register set for the device.
> > -
> > - - interrupts : Contains the spdif interrupt.
> > -
> > - - dmas : Generic dma devicetree binding as described in
> > - Documentation/devicetree/bindings/dma/dma.txt.
> > -
> > - - dma-names : Two dmas have to be defined, "tx" and "rx".
> > -
> > - - clocks : Contains an entry for each entry in clock-names.
> > -
> > - - clock-names : Includes the following entries:
> > - "core" The core clock used to access registers
> > - "extal" The esai baud clock for esai controller used to
> > - derive HCK, SCK and FS.
> > - "fsys" The system clock derived from ahb clock used to
> > - derive HCK, SCK and FS.
> > - "spba" The spba clock is required when ESAI is placed as a
> > - bus slave of the Shared Peripheral Bus and when two
> > - or more bus masters (CPU, DMA or DSP) try to access
> > - it. This property is optional depending on the SoC
> > - design.
> > -
> > - - fsl,fifo-depth : The number of elements in the transmit and receive
> > - FIFOs. This number is the maximum allowed value for
> > - TFCR[TFWM] or RFCR[RFWM].
> > -
> > - - fsl,esai-synchronous: This is a boolean property. If present, indicating
> > - that ESAI would work in the synchronous mode, which
> > - means all the settings for Receiving would be
> > - duplicated from Transmission related registers.
> > -
> > -Optional properties:
> > -
> > - - big-endian : If this property is absent, the native endian mode
> > - will be in use as default, or the big endian mode
> > - will be in use for all the device registers.
> > -
> > -Example:
> > -
> > -esai: esai@2024000 {
> > - compatible = "fsl,imx35-esai";
> > - reg = <0x02024000 0x4000>;
> > - interrupts = <0 51 0x04>;
> > - clocks = <&clks 208>, <&clks 118>, <&clks 208>;
> > - clock-names = "core", "extal", "fsys";
> > - dmas = <&sdma 23 21 0>, <&sdma 24 21 0>;
> > - dma-names = "rx", "tx";
> > - fsl,fifo-depth = <128>;
> > - fsl,esai-synchronous;
> > - big-endian;
> > -};
> > diff --git a/Documentation/devicetree/bindings/sound/fsl,esai.yaml b/Documentation/devicetree/bindings/sound/fsl,esai.yaml
> > new file mode 100644
> > index 0000000000000..9e31283933d1b
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/sound/fsl,esai.yaml
> > @@ -0,0 +1,110 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/sound/fsl,esai.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Freescale Enhanced Serial Audio Interface (ESAI) Controller
> > +
> > +maintainers:
> > + - Shengjiu Wang <shengjiu.wang@nxp.com>
> > + - Frank Li <Frank.Li@nxp.com>
> > +
> > +description:
> > + The Enhanced Serial Audio Interface (ESAI) provides a full-duplex serial port
> > + for serial communication with a variety of serial devices, including industry
> > + standard codecs, Sony/Phillips Digital Interface (S/PDIF) transceivers, and
> > + other DSPs. It has up to six transmitters and four receivers.
> > +
> > +properties:
> > + compatible:
> > + enum:
> > + - fsl,imx35-esai
> > + - fsl,vf610-esai
>
> Alphabetical order
>
> > + - fsl,imx6ull-esai
> > + - fsl,imx8qm-esai
> > +
> > + reg:
> > + maxItems: 1
> > +
> > + interrupts:
> > + maxItems: 1
> > +
> > + clocks:
> > + minItems: 3
> > + maxItems: 4
> > +
> > + clock-names:
> > + minItems: 3
> > + description: |
> > + core: The core clock used to access registers.
> > + extal: The esai baud clock for esai controller used to
> > + derive HCK, SCK and FS.
> > + fsys: The system clock derived from ahb clock used to
> > + derive HCK, SCK and FS.
> > + spba: The spba clock is required when ESAI is placed as a
> > + bus slave of the Shared Peripheral Bus and when two
> > + or more bus masters (CPU, DMA or DSP) try to access
> > + it. This property is optional depending on the SoC
> > + design.
>
> This description should be split into each items entry below.
I am not sure how to do that.
items:
- descripton: abc
- const: core
....
I get below error.
properties:clock-names:items: 'oneOf' conditional failed, one must be fixed:
[{'description': 'abcd', 'const': 'core'}, {'description': 'abcd', 'const': 'extal'}, {'description': 'abcd', 'const': 'fsys'}, {'description': 'abcd', 'const': 'spba'}] is not of type 'object'
Additional properties are not allowed ('description' was unexpected)
from schema $id: http://devicetree.org/meta-schemas/string-array.yaml#
snps,dw-pcie.yaml give example
items:
oneOf
- desecirpt: abc
const: core
allOf
contain:
- const: core
but it lost clock-names order restriction.
Could you please give me example about how to add description for const
under items?
Frank
>
> > + items:
> > + - const: core
> > + - const: extal
> > + - const: fsys
> > + - const: spba
> > +
> > + dmas:
> > + minItems: 2
> > + maxItems: 2
> > +
> > + dma-names:
> > + items:
> > + - const: rx
> > + - const: tx
> > +
> > + fsl,fifo-depth:
> > + $ref: /schemas/types.yaml#/definitions/uint32
> > + description: The number of elements in the transmit and receive
> > + FIFOs. This number is the maximum allowed value for
> > + TFCR[TFWM] or RFCR[RFWM].
>
> Not the normal indentation. Should be just indent 2 more spaces than
> 'description'.
>
> > +
> > + fsl,esai-synchronous:
> > + $ref: /schemas/types.yaml#/definitions/flag
> > + description: This is a boolean property. If present, indicating
> > + that ESAI would work in the synchronous mode, which
> > + means all the settings for Receiving would be
> > + duplicated from Transmission related registers.
> > +
> > + big-endian:
> > + $ref: /schemas/types.yaml#/definitions/flag
> > + description: If this property is absent, the native endian mode
> > + will be in use as default, or the big endian mode
> > + will be in use for all the device registers.
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - interrupts
> > + - clocks
> > + - clock-names
> > + - dmas
> > + - dma-names
> > + - fsl,fifo-depth
> > + - fsl,esai-synchronous
> > +
> > +unevaluatedProperties: false
> > +
> > +examples:
> > + - |
> > + esai@2024000 {
> > + compatible = "fsl,imx35-esai";
> > + reg = <0x02024000 0x4000>;
> > + interrupts = <0 51 0x04>;
> > + clocks = <&clks 208>, <&clks 118>, <&clks 208>;
> > + clock-names = "core", "extal", "fsys";
> > + dmas = <&sdma 23 21 0>, <&sdma 24 21 0>;
> > + dma-names = "rx", "tx";
> > + fsl,fifo-depth = <128>;
> > + fsl,esai-synchronous;
> > + big-endian;
> > + };
> > --
> > 2.34.1
> >
next prev parent reply other threads:[~2024-03-21 16:20 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-18 19:45 [PATCH 1/1] ASoC: dt-bindings: fsl-esai: Convert fsl,esai.txt to yaml Frank Li
2024-03-20 15:24 ` Rob Herring
2024-03-21 16:19 ` Frank Li [this message]
2024-03-22 6:17 ` Krzysztof Kozlowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZfxeJ9dAXtfYW7Qq@lizhi-Precision-Tower-5810 \
--to=frank.li@nxp.com \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=robh@kernel.org \
--cc=shengjiu.wang@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox