[alsa-devel] [PATCH v2 1/2] dt-bindings: sound: Convert Samsung I2S controller to dt-schema

Rob Herring robh+dt at kernel.org
Wed Sep 18 15:49:33 CEST 2019


On Wed, Sep 18, 2019 at 5:08 AM Maciej Falkowski
<m.falkowski at samsung.com> wrote:
>
>
> On 9/17/19 3:05 PM, Rob Herring wrote:
>
> > On Tue, Sep 17, 2019 at 7:05 AM Maciej Falkowski
> > <m.falkowski at samsung.com> wrote:
> >> Convert Samsung I2S controller to newer dt-schema format.
> >>
> >> Signed-off-by: Maciej Falkowski <m.falkowski at samsung.com>
> >> Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
> >> ---
> >> v2:
> >> - Added missing Signed-off-by certificate
> >> ---
> >>   .../devicetree/bindings/sound/samsung-i2s.txt |  84 -------------
> >>   .../bindings/sound/samsung-i2s.yaml           | 119 ++++++++++++++++++
> >>   2 files changed, 119 insertions(+), 84 deletions(-)
> >>   delete mode 100644 Documentation/devicetree/bindings/sound/samsung-i2s.txt
> >>   create mode 100644 Documentation/devicetree/bindings/sound/samsung-i2s.yaml
> >> diff --git a/Documentation/devicetree/bindings/sound/samsung-i2s.yaml b/Documentation/devicetree/bindings/sound/samsung-i2s.yaml
> >> new file mode 100644
> >> index 000000000000..59dc76035cb4
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/sound/samsung-i2s.yaml
> >> @@ -0,0 +1,119 @@
> >> +# SPDX-License-Identifier: GPL-2.0
> >> +%YAML 1.2
> >> +---
> >> +$id: http://devicetree.org/schemas/sound/samsung-i2s.yaml#
> >> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> >> +
> >> +title: Samsung SoC I2S controller
> >> +
> >> +maintainers:
> >> +  - Krzysztof Kozlowski <krzk at kernel.org>
> >> +  - Sangbeom Kim <sbkim73 at samsung.com>
> >> +  - Sylwester Nawrocki <s.nawrocki at samsung.com>
> >> +
> >> +properties:
> >> +  compatible:
> >> +    description: |
> >> +      samsung,s3c6410-i2s: for 8/16/24bit stereo I2S.
> >> +
> >> +      samsung,s5pv210-i2s: for 8/16/24bit multichannel(5.1) I2S with
> >> +      secondary fifo, s/w reset control and internal mux for root clk src.
> >> +
> >> +      samsung,exynos5420-i2s: for 8/16/24bit multichannel(5.1) I2S for
> >> +      playback, stereo channel capture, secondary fifo using internal
> >> +      or external dma, s/w reset control, internal mux for root clk src
> >> +      and 7.1 channel TDM support for playback. TDM (Time division multiplexing)
> >> +      is to allow transfer of multiple channel audio data on single data line.
> >> +
> >> +      samsung,exynos7-i2s: with all the available features of exynos5 i2s.
> >> +
> >> +      exynos7 I2S has 7.1 channel TDM support for capture, secondary fifo
> >> +      with only external dma and more no.of root clk sampling frequencies.
> >> +
> >> +      samsung,exynos7-i2s1: I2S1 on previous samsung platforms supports
> >> +      stereo channels. exynos7 i2s1 upgraded to 5.1 multichannel with
> >> +      slightly modified bit offsets.
> >> +    enum:
> >> +      - "samsung,s3c6410-i2s"
> >> +      - "samsung,s5pv210-i2s"
> >> +      - "samsung,exynos5420-i2s"
> >> +      - "samsung,exynos7-i2s"
> >> +      - "samsung,exynos7-i2s1"
> > No need for quotes here.
> >
> >> +
> >> +  reg:
> >> +    maxItems: 1
> >> +
> >> +  dmas:
> >> +    description: list of DMA controller phandle and DMA request line ordered pairs.
> > How many?
>
> Hi Rob,
>
> I have one problem with determining size of dmas.
>
> It seems that there are only two options for dmas: tx, rx or tx, rx, tx-sec.
>
> It looks like minItems should be two and maxItems should be three.
>
> However, some of bindings have different definition of dmas.
>
> When there is:
>
>          dmas = <&pdma0 10
>                  &pdma0 9
>                  &pdma0 8>;
>
> the number of Items for dmas is one,
>
> when there is:
>
>          dmas = <&pdma0 10>,
>                       <&pdma0 9>,
>                       <&pdma0 8>;
>
> the number of Items is three.
>
> Both of these are equal from perspective of dtc,
>
> however from schema point of view, they have different size.
>
>
> What is a proper solution to this kind of problem?

The solution is writing things in the latter form. I have a script to
convert a bunch of these. I need to coordinate doing that at the end
of a merge window.

Rob


More information about the Alsa-devel mailing list