On Wed, Sep 18, 2019 at 5:08 AM Maciej Falkowski <m.falkowski@xxxxxxxxxxx> wrote: > > > On 9/17/19 3:05 PM, Rob Herring wrote: > > > On Tue, Sep 17, 2019 at 7:05 AM Maciej Falkowski > > <m.falkowski@xxxxxxxxxxx> wrote: > >> Convert Samsung I2S controller to newer dt-schema format. > >> > >> Signed-off-by: Maciej Falkowski <m.falkowski@xxxxxxxxxxx> > >> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> > >> --- > >> 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@xxxxxxxxxx> > >> + - Sangbeom Kim <sbkim73@xxxxxxxxxxx> > >> + - Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> > >> + > >> +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