Message ID | 2543047.yYrDdYb9v5@wasted.cogentembedded.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Simon Horman |
Headers | show |
Hi Sergei Sorry for my un-ordered response > Define the generic R8A7794 part of the sound device node. > This sound device is a complex one and comprises the Audio Clock Generator > (ADG), Sampling Rate Converter Unit (SCU), Serial Sound Interface [Unit] > (SSI[U]), and Audio DMAC-Peripheral-Peripheral. > It is up to the board file to enable the device. > > This patch is based on the R8A7791 sound work by Kuninori Morimoto. > > Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> (snip) > + rcar_sound,src { > + src1: src@1 { > + interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>; > + dmas = <&audma0 0x87>, <&audma0 0x9c>; > + dma-names = "rx", "tx"; > + }; > + src2: src@2 { > + interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>; > + dmas = <&audma0 0x89>, <&audma0 0x9e>; > + dma-names = "rx", "tx"; > + }; > + src3: src@3 { > + interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>; > + dmas = <&audma0 0x8b>, <&audma0 0xa0>; > + dma-names = "rx", "tx"; > + }; > + src4: src@4 { > + interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>; > + dmas = <&audma0 0x8d>, <&audma0 0xb0>; > + dma-names = "rx", "tx"; > + }; > + src5: src@5 { > + interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>; > + dmas = <&audma0 0x8f>, <&audma0 0xb2>; > + dma-names = "rx", "tx"; > + }; > + src6: src@6 { > + interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>; > + dmas = <&audma0 0x91>, <&audma0 0xb4>; > + dma-names = "rx", "tx"; > + }; > + }; I think this can't work correctly, because driver is assuming DT has all channles (from 0). (see linux/sound/soc/sh/rcar/src.c :: rsnd_src_probe) Can you adds dummy src0 with some comments ? or fix src.c driver ?
Hi Sergei, again > Define the generic R8A7794 part of the sound device node. > This sound device is a complex one and comprises the Audio Clock Generator > (ADG), Sampling Rate Converter Unit (SCU), Serial Sound Interface [Unit] > (SSI[U]), and Audio DMAC-Peripheral-Peripheral. > It is up to the board file to enable the device. > > This patch is based on the R8A7791 sound work by Kuninori Morimoto. > > Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> (snip) > + clocks = <&mstp10_clks R8A7794_CLK_SSI_ALL>, > + <&mstp10_clks R8A7794_CLK_SSI9>, > + <&mstp10_clks R8A7794_CLK_SSI8>, > + <&mstp10_clks R8A7794_CLK_SSI7>, > + <&mstp10_clks R8A7794_CLK_SSI6>, > + <&mstp10_clks R8A7794_CLK_SSI5>, > + <&mstp10_clks R8A7794_CLK_SSI4>, > + <&mstp10_clks R8A7794_CLK_SSI3>, > + <&mstp10_clks R8A7794_CLK_SSI2>, > + <&mstp10_clks R8A7794_CLK_SSI1>, > + <&mstp10_clks R8A7794_CLK_SSI0>, > + <&mstp10_clks R8A7794_CLK_SCU_SRC9>, > + <&mstp10_clks R8A7794_CLK_SCU_SRC8>, > + <&mstp10_clks R8A7794_CLK_SCU_SRC7>, > + <&mstp10_clks R8A7794_CLK_SCU_SRC6>, > + <&mstp10_clks R8A7794_CLK_SCU_SRC5>, > + <&mstp10_clks R8A7794_CLK_SCU_SRC4>, > + <&mstp10_clks R8A7794_CLK_SCU_SRC3>, > + <&mstp10_clks R8A7794_CLK_SCU_SRC2>, > + <&mstp10_clks R8A7794_CLK_SCU_SRC1>, > + <&mstp10_clks R8A7794_CLK_SCU_SRC0>, > + <&mstp10_clks R8A7794_CLK_SCU_CTU0_MIX0>, > + <&mstp10_clks R8A7794_CLK_SCU_CTU1_MIX1>, > + <&mstp10_clks R8A7794_CLK_SCU_CTU0_MIX0>, > + <&mstp10_clks R8A7794_CLK_SCU_CTU1_MIX1>, > + <&mstp10_clks R8A7794_CLK_SCU_DVC0>, > + <&mstp10_clks R8A7794_CLK_SCU_DVC1>, > + <&audio_clka>, <&audio_clkb>, <&audio_clkc>, > + <&m2_clk>; > + clock-names = "ssi-all", > + "ssi.9", "ssi.8", "ssi.7", "ssi.6", "ssi.5", > + "ssi.4", "ssi.3", "ssi.2", "ssi.1", "ssi.0", > + "src.9", "src.8", "src.7", "src.6", "src.5", > + "src.4", "src.3", "src.2", "src.1", "src.0", > + "ctu.0", "ctu.1", > + "mix.0", "mix.1", > + "dvc.0", "dvc.1", > + "clk_a", "clk_b", "clk_c", "clk_i"; I'm sorry about my previous email. I think I made you confuse. I meant you can remove CTU/MIX field if your patch doesn't care these.
On Wed, Feb 10, 2016 at 12:41:30AM +0000, Kuninori Morimoto wrote: > > Hi Sergei > > Sorry for my un-ordered response > > > Define the generic R8A7794 part of the sound device node. > > This sound device is a complex one and comprises the Audio Clock Generator > > (ADG), Sampling Rate Converter Unit (SCU), Serial Sound Interface [Unit] > > (SSI[U]), and Audio DMAC-Peripheral-Peripheral. > > It is up to the board file to enable the device. > > > > This patch is based on the R8A7791 sound work by Kuninori Morimoto. > > > > Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> > (snip) > > + rcar_sound,src { > > + src1: src@1 { > > + interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>; > > + dmas = <&audma0 0x87>, <&audma0 0x9c>; > > + dma-names = "rx", "tx"; > > + }; > > + src2: src@2 { > > + interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>; > > + dmas = <&audma0 0x89>, <&audma0 0x9e>; > > + dma-names = "rx", "tx"; > > + }; > > + src3: src@3 { > > + interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>; > > + dmas = <&audma0 0x8b>, <&audma0 0xa0>; > > + dma-names = "rx", "tx"; > > + }; > > + src4: src@4 { > > + interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>; > > + dmas = <&audma0 0x8d>, <&audma0 0xb0>; > > + dma-names = "rx", "tx"; > > + }; > > + src5: src@5 { > > + interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>; > > + dmas = <&audma0 0x8f>, <&audma0 0xb2>; > > + dma-names = "rx", "tx"; > > + }; > > + src6: src@6 { > > + interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>; > > + dmas = <&audma0 0x91>, <&audma0 0xb4>; > > + dma-names = "rx", "tx"; > > + }; > > + }; > > I think this can't work correctly, because driver is assuming > DT has all channles (from 0). (see linux/sound/soc/sh/rcar/src.c :: rsnd_src_probe) > Can you adds dummy src0 with some comments ? or fix src.c driver ? I would prefer the driver to be fixed (I had a similar patchset locally and I found it doesn't work). The reason is that DT should describe the hardware rather than the current state of the software.
Hello. On 02/10/2016 03:41 AM, Kuninori Morimoto wrote: > Sorry for my un-ordered response Not sure what you mean by that. :-) >> Define the generic R8A7794 part of the sound device node. >> This sound device is a complex one and comprises the Audio Clock Generator >> (ADG), Sampling Rate Converter Unit (SCU), Serial Sound Interface [Unit] >> (SSI[U]), and Audio DMAC-Peripheral-Peripheral. >> It is up to the board file to enable the device. >> >> This patch is based on the R8A7791 sound work by Kuninori Morimoto. >> >> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> > (snip) >> + rcar_sound,src { >> + src1: src@1 { >> + interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>; >> + dmas = <&audma0 0x87>, <&audma0 0x9c>; >> + dma-names = "rx", "tx"; >> + }; >> + src2: src@2 { >> + interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>; >> + dmas = <&audma0 0x89>, <&audma0 0x9e>; >> + dma-names = "rx", "tx"; >> + }; >> + src3: src@3 { >> + interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>; >> + dmas = <&audma0 0x8b>, <&audma0 0xa0>; >> + dma-names = "rx", "tx"; >> + }; >> + src4: src@4 { >> + interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>; >> + dmas = <&audma0 0x8d>, <&audma0 0xb0>; >> + dma-names = "rx", "tx"; >> + }; >> + src5: src@5 { >> + interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>; >> + dmas = <&audma0 0x8f>, <&audma0 0xb2>; >> + dma-names = "rx", "tx"; >> + }; >> + src6: src@6 { >> + interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>; >> + dmas = <&audma0 0x91>, <&audma0 0xb4>; >> + dma-names = "rx", "tx"; >> + }; >> + }; > > I think this can't work correctly, because driver is assuming > DT has all channles (from 0). (see linux/sound/soc/sh/rcar/src.c :: rsnd_src_probe) At least it doesn't crash and burn. :-) Playback and recording still work too. > Can you adds dummy src0 with some comments ? Don't think that's an option. We are supposed to describe the hardware, not the driver's behavior. > or fix src.c driver ? Will try to look into it... MBR, Sergei
On 02/10/2016 06:12 AM, Kuninori Morimoto wrote: >> Define the generic R8A7794 part of the sound device node. >> This sound device is a complex one and comprises the Audio Clock Generator >> (ADG), Sampling Rate Converter Unit (SCU), Serial Sound Interface [Unit] >> (SSI[U]), and Audio DMAC-Peripheral-Peripheral. >> It is up to the board file to enable the device. >> >> This patch is based on the R8A7791 sound work by Kuninori Morimoto. >> >> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> > (snip) >> + clocks = <&mstp10_clks R8A7794_CLK_SSI_ALL>, >> + <&mstp10_clks R8A7794_CLK_SSI9>, >> + <&mstp10_clks R8A7794_CLK_SSI8>, >> + <&mstp10_clks R8A7794_CLK_SSI7>, >> + <&mstp10_clks R8A7794_CLK_SSI6>, >> + <&mstp10_clks R8A7794_CLK_SSI5>, >> + <&mstp10_clks R8A7794_CLK_SSI4>, >> + <&mstp10_clks R8A7794_CLK_SSI3>, >> + <&mstp10_clks R8A7794_CLK_SSI2>, >> + <&mstp10_clks R8A7794_CLK_SSI1>, >> + <&mstp10_clks R8A7794_CLK_SSI0>, >> + <&mstp10_clks R8A7794_CLK_SCU_SRC9>, >> + <&mstp10_clks R8A7794_CLK_SCU_SRC8>, >> + <&mstp10_clks R8A7794_CLK_SCU_SRC7>, >> + <&mstp10_clks R8A7794_CLK_SCU_SRC6>, >> + <&mstp10_clks R8A7794_CLK_SCU_SRC5>, >> + <&mstp10_clks R8A7794_CLK_SCU_SRC4>, >> + <&mstp10_clks R8A7794_CLK_SCU_SRC3>, >> + <&mstp10_clks R8A7794_CLK_SCU_SRC2>, >> + <&mstp10_clks R8A7794_CLK_SCU_SRC1>, >> + <&mstp10_clks R8A7794_CLK_SCU_SRC0>, >> + <&mstp10_clks R8A7794_CLK_SCU_CTU0_MIX0>, >> + <&mstp10_clks R8A7794_CLK_SCU_CTU1_MIX1>, >> + <&mstp10_clks R8A7794_CLK_SCU_CTU0_MIX0>, >> + <&mstp10_clks R8A7794_CLK_SCU_CTU1_MIX1>, >> + <&mstp10_clks R8A7794_CLK_SCU_DVC0>, >> + <&mstp10_clks R8A7794_CLK_SCU_DVC1>, >> + <&audio_clka>, <&audio_clkb>, <&audio_clkc>, >> + <&m2_clk>; >> + clock-names = "ssi-all", >> + "ssi.9", "ssi.8", "ssi.7", "ssi.6", "ssi.5", >> + "ssi.4", "ssi.3", "ssi.2", "ssi.1", "ssi.0", >> + "src.9", "src.8", "src.7", "src.6", "src.5", >> + "src.4", "src.3", "src.2", "src.1", "src.0", >> + "ctu.0", "ctu.1", >> + "mix.0", "mix.1", >> + "dvc.0", "dvc.1", >> + "clk_a", "clk_b", "clk_c", "clk_i"; > > I'm sorry about my previous email. I think I made you confuse. > I meant you can remove CTU/MIX field if your patch doesn't care these. No, I got your idea right. But I decided to go for a more complete hardware representation, on par with the other R-Car SoCs. MBR, Sergei
On 02/10/2016 08:14 PM, Simon Horman wrote: >> Sorry for my un-ordered response >> >>> Define the generic R8A7794 part of the sound device node. >>> This sound device is a complex one and comprises the Audio Clock Generator >>> (ADG), Sampling Rate Converter Unit (SCU), Serial Sound Interface [Unit] >>> (SSI[U]), and Audio DMAC-Peripheral-Peripheral. >>> It is up to the board file to enable the device. >>> >>> This patch is based on the R8A7791 sound work by Kuninori Morimoto. >>> >>> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> >> (snip) >>> + rcar_sound,src { >>> + src1: src@1 { >>> + interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>; >>> + dmas = <&audma0 0x87>, <&audma0 0x9c>; >>> + dma-names = "rx", "tx"; >>> + }; >>> + src2: src@2 { >>> + interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>; >>> + dmas = <&audma0 0x89>, <&audma0 0x9e>; >>> + dma-names = "rx", "tx"; >>> + }; >>> + src3: src@3 { >>> + interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>; >>> + dmas = <&audma0 0x8b>, <&audma0 0xa0>; >>> + dma-names = "rx", "tx"; >>> + }; >>> + src4: src@4 { >>> + interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>; >>> + dmas = <&audma0 0x8d>, <&audma0 0xb0>; >>> + dma-names = "rx", "tx"; >>> + }; >>> + src5: src@5 { >>> + interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>; >>> + dmas = <&audma0 0x8f>, <&audma0 0xb2>; >>> + dma-names = "rx", "tx"; >>> + }; >>> + src6: src@6 { >>> + interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>; >>> + dmas = <&audma0 0x91>, <&audma0 0xb4>; >>> + dma-names = "rx", "tx"; >>> + }; >>> + }; >> >> I think this can't work correctly, because driver is assuming >> DT has all channles (from 0). (see linux/sound/soc/sh/rcar/src.c :: rsnd_src_probe) >> Can you adds dummy src0 with some comments ? or fix src.c driver ? > > I would prefer the driver to be fixed (I had a similar patchset locally > and I found it doesn't work). You mean you had R8A7794 sound patch set too? > The reason is that DT should describe > the hardware rather than the current state of the software. Yes, of course. Just tell me do I have to fix the driver *before* this patch set is accepted? MBR, Sergei
Index: renesas/arch/arm/boot/dts/r8a7794.dtsi =================================================================== --- renesas.orig/arch/arm/boot/dts/r8a7794.dtsi +++ renesas/arch/arm/boot/dts/r8a7794.dtsi @@ -1309,4 +1309,186 @@ #iommu-cells = <1>; status = "disabled"; }; + + rcar_sound: sound@ec500000 { + /* + * #sound-dai-cells is required + * + * Single DAI : #sound-dai-cells = <0>; <&rcar_sound>; + * Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>; + */ + compatible = "renesas,rcar_sound-r8a7794", + "renesas,rcar_sound-gen2"; + reg = <0 0xec500000 0 0x1000>, /* SCU */ + <0 0xec5a0000 0 0x100>, /* ADG */ + <0 0xec540000 0 0x1000>, /* SSIU */ + <0 0xec541000 0 0x280>, /* SSI */ + <0 0xec740000 0 0x200>; /* Audio DMAC peri peri */ + reg-names = "scu", "adg", "ssiu", "ssi", "audmapp"; + + clocks = <&mstp10_clks R8A7794_CLK_SSI_ALL>, + <&mstp10_clks R8A7794_CLK_SSI9>, + <&mstp10_clks R8A7794_CLK_SSI8>, + <&mstp10_clks R8A7794_CLK_SSI7>, + <&mstp10_clks R8A7794_CLK_SSI6>, + <&mstp10_clks R8A7794_CLK_SSI5>, + <&mstp10_clks R8A7794_CLK_SSI4>, + <&mstp10_clks R8A7794_CLK_SSI3>, + <&mstp10_clks R8A7794_CLK_SSI2>, + <&mstp10_clks R8A7794_CLK_SSI1>, + <&mstp10_clks R8A7794_CLK_SSI0>, + <&mstp10_clks R8A7794_CLK_SCU_SRC9>, + <&mstp10_clks R8A7794_CLK_SCU_SRC8>, + <&mstp10_clks R8A7794_CLK_SCU_SRC7>, + <&mstp10_clks R8A7794_CLK_SCU_SRC6>, + <&mstp10_clks R8A7794_CLK_SCU_SRC5>, + <&mstp10_clks R8A7794_CLK_SCU_SRC4>, + <&mstp10_clks R8A7794_CLK_SCU_SRC3>, + <&mstp10_clks R8A7794_CLK_SCU_SRC2>, + <&mstp10_clks R8A7794_CLK_SCU_SRC1>, + <&mstp10_clks R8A7794_CLK_SCU_SRC0>, + <&mstp10_clks R8A7794_CLK_SCU_CTU0_MIX0>, + <&mstp10_clks R8A7794_CLK_SCU_CTU1_MIX1>, + <&mstp10_clks R8A7794_CLK_SCU_CTU0_MIX0>, + <&mstp10_clks R8A7794_CLK_SCU_CTU1_MIX1>, + <&mstp10_clks R8A7794_CLK_SCU_DVC0>, + <&mstp10_clks R8A7794_CLK_SCU_DVC1>, + <&audio_clka>, <&audio_clkb>, <&audio_clkc>, + <&m2_clk>; + clock-names = "ssi-all", + "ssi.9", "ssi.8", "ssi.7", "ssi.6", "ssi.5", + "ssi.4", "ssi.3", "ssi.2", "ssi.1", "ssi.0", + "src.9", "src.8", "src.7", "src.6", "src.5", + "src.4", "src.3", "src.2", "src.1", "src.0", + "ctu.0", "ctu.1", + "mix.0", "mix.1", + "dvc.0", "dvc.1", + "clk_a", "clk_b", "clk_c", "clk_i"; + power-domains = <&cpg_clocks>; + + status = "disabled"; + + rcar_sound,dvc { + dvc0: dvc@0 { + dmas = <&audma0 0xbc>; + dma-names = "tx"; + }; + dvc1: dvc@1 { + dmas = <&audma0 0xbe>; + dma-names = "tx"; + }; + }; + + rcar_sound,mix { + mix0: mix@0 { }; + mix1: mix@1 { }; + }; + + rcar_sound,ctu { + ctu00: ctu@0 { }; + ctu01: ctu@1 { }; + ctu02: ctu@2 { }; + ctu03: ctu@3 { }; + ctu10: ctu@4 { }; + ctu11: ctu@5 { }; + ctu12: ctu@6 { }; + ctu13: ctu@7 { }; + }; + + rcar_sound,src { + src1: src@1 { + interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>; + dmas = <&audma0 0x87>, <&audma0 0x9c>; + dma-names = "rx", "tx"; + }; + src2: src@2 { + interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>; + dmas = <&audma0 0x89>, <&audma0 0x9e>; + dma-names = "rx", "tx"; + }; + src3: src@3 { + interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>; + dmas = <&audma0 0x8b>, <&audma0 0xa0>; + dma-names = "rx", "tx"; + }; + src4: src@4 { + interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>; + dmas = <&audma0 0x8d>, <&audma0 0xb0>; + dma-names = "rx", "tx"; + }; + src5: src@5 { + interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>; + dmas = <&audma0 0x8f>, <&audma0 0xb2>; + dma-names = "rx", "tx"; + }; + src6: src@6 { + interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>; + dmas = <&audma0 0x91>, <&audma0 0xb4>; + dma-names = "rx", "tx"; + }; + }; + + rcar_sound,ssi { + ssi0: ssi@0 { + interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>; + dmas = <&audma0 0x01>, <&audma0 0x02>, + <&audma0 0x15>, <&audma0 0x16>; + dma-names = "rx", "tx", "rxu", "txu"; + }; + ssi1: ssi@1 { + interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>; + dmas = <&audma0 0x03>, <&audma0 0x04>, + <&audma0 0x49>, <&audma0 0x4a>; + dma-names = "rx", "tx", "rxu", "txu"; + }; + ssi2: ssi@2 { + interrupts = <GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>; + dmas = <&audma0 0x05>, <&audma0 0x06>, + <&audma0 0x63>, <&audma0 0x64>; + dma-names = "rx", "tx", "rxu", "txu"; + }; + ssi3: ssi@3 { + interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>; + dmas = <&audma0 0x07>, <&audma0 0x08>, + <&audma0 0x6f>, <&audma0 0x70>; + dma-names = "rx", "tx", "rxu", "txu"; + }; + ssi4: ssi@4 { + interrupts = <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>; + dmas = <&audma0 0x09>, <&audma0 0x0a>, + <&audma0 0x71>, <&audma0 0x72>; + dma-names = "rx", "tx", "rxu", "txu"; + }; + ssi5: ssi@5 { + interrupts = <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>; + dmas = <&audma0 0x0b>, <&audma0 0x0c>, + <&audma0 0x73>, <&audma0 0x74>; + dma-names = "rx", "tx", "rxu", "txu"; + }; + ssi6: ssi@6 { + interrupts = <GIC_SPI 376 IRQ_TYPE_LEVEL_HIGH>; + dmas = <&audma0 0x0d>, <&audma0 0x0e>, + <&audma0 0x75>, <&audma0 0x76>; + dma-names = "rx", "tx", "rxu", "txu"; + }; + ssi7: ssi@7 { + interrupts = <GIC_SPI 377 IRQ_TYPE_LEVEL_HIGH>; + dmas = <&audma0 0x0f>, <&audma0 0x10>, + <&audma0 0x79>, <&audma0 0x7a>; + dma-names = "rx", "tx", "rxu", "txu"; + }; + ssi8: ssi@8 { + interrupts = <GIC_SPI 378 IRQ_TYPE_LEVEL_HIGH>; + dmas = <&audma0 0x11>, <&audma0 0x12>, + <&audma0 0x7b>, <&audma0 0x7c>; + dma-names = "rx", "tx", "rxu", "txu"; + }; + ssi9: ssi@9 { + interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>; + dmas = <&audma0 0x13>, <&audma0 0x14>, + <&audma0 0x7d>, <&audma0 0x7e>; + dma-names = "rx", "tx", "rxu", "txu"; + }; + }; + }; };
Define the generic R8A7794 part of the sound device node. This sound device is a complex one and comprises the Audio Clock Generator (ADG), Sampling Rate Converter Unit (SCU), Serial Sound Interface [Unit] (SSI[U]), and Audio DMAC-Peripheral-Peripheral. It is up to the board file to enable the device. This patch is based on the R8A7791 sound work by Kuninori Morimoto. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> --- Changes in version 2: - added "ctu.[01]", "mix.[01]", "dvc.[01]" to the "clock-names" prop; - added CTU/DVC/MIX subnodes; - removed SRC0/7/8/9 subnodes; - added missing colon to the subject. arch/arm/boot/dts/r8a7794.dtsi | 182 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 182 insertions(+)