Re: [PATCH v2 1/7] dt-bindings: sound: sophgo: add CV1800B I2S/TDM controller binding
Krzysztof Kozlowski <[email protected]>
| Newsgroups | dev.linux.lists.sophgo,org.infradead.lists.linux-riscv,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-sound |
|---|---|
| Message-ID | <20260118-famous-magnificent-peccary-474ba8@quoll> |
On Sun, Jan 18, 2026 at 12:18:53AM +0400, Anton D. Stavinskii wrote: > Purpose: introduce DT schema for the CPU driver Bindings are for hardware, not drivers. Drop the purpose. > The driver uses dma to transfer data. The dma it self has 8 channels. Describe the hardware. > Each channel can be connected only to a specific i2s node. But each > of dma channel can have multiple purposes so in order to save dma > channels the configurations allows to use tx and rx, only rx, only tx > or none channels. I2S controller without channels can be useful in > configuration where I2S is used as clock source only and doesn't > produce any data. Please use subject prefixes matching the subsystem. You can get them for example with 'git log --oneline -- DIRECTORY_OR_FILE' on the directory your patch is touching. For bindings, the preferred subjects are explained here: https://www.kernel.org/doc/html/latest/devicetree/bindings/submitting-patches.html#i-for-patch-submitters A nit, subject: drop second/last, redundant "binding". The "dt-bindings" prefix is already stating that these are bindings. See also: https://elixir.bootlin.com/linux/v6.17-rc3/source/Documentation/devicetree/bindings/submitting-patches.rst#L18 > > Signed-off-by: Anton D. Stavinskii <[email protected]> > --- > .../bindings/sound/sophgo,cv1800b-i2s.yaml | 75 ++++++++++++++++++++++ > 1 file changed, 75 insertions(+) > > diff --git a/Documentation/devicetree/bindings/sound/sophgo,cv1800b-i2s.yaml b/Documentation/devicetree/bindings/sound/sophgo,cv1800b-i2s.yaml > new file mode 100644 > index 000000000000..cf30880a62da > --- /dev/null > +++ b/Documentation/devicetree/bindings/sound/sophgo,cv1800b-i2s.yaml > @@ -0,0 +1,75 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/sound/sophgo,cv1800b-i2s.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Sophgo CV1800B I2S/TDM controller > + > +maintainers: > + - Anton D. Stavinskii <[email protected]> > + > +description: | Do not need '|' unless you need to preserve formatting. > + I2S/TDM controller found in CV1800B / Sophgo SG2002/SG2000 SoCs. > + Miss allOf with ref to dai-common. > +properties: > + compatible: > + const: sophgo,cv1800b-i2s > + > + reg: > + maxItems: 1 > + > + "#sound-dai-cells": > + const: 0 > + > + clocks: > + minItems: 1 > + maxItems: 2 1. Why is it flexible? 2. And then why names are not flexible. These should be synced in constraints. > + > + clock-names: > + items: > + - const: i2s > + - const: mclk > + > + dmas: > + maxItems: 2 > + > + dma-names: > + description: | > + Names of DMA channels. May be omitted. If present, one entry > + selects a single direction, while two entries select RX and TX. Drop desription. Don't repeat constraints in free form text. > + minItems: 1 > + maxItems: 2 Again, messed constraints. > + items: > + enum: [rx, tx] No, it has to be a specific/fixed list. > + > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 Why? Drop these. > + > +required: > + - compatible > + - reg > + - clocks > + - clock-names > + - "#sound-dai-cells" > + > +additionalProperties: false unevaluatedProperties instead > + > +examples: > + - | > + #include <dt-bindings/clock/sophgo,cv1800.h> > + > + i2s1: i2s@4110000 { Drop unused label. > + compatible = "sophgo,cv1800b-i2s"; > + reg = <0x04110000 0x10000>; > + #address-cells = <1>; > + #size-cells = <0>; Drop useless properties. Best regards, Krzysztof