[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
<NTZPR01MB09563633F5C3B5FBC95D61289F3AA@NTZPR01MB0956.CHNPR01.prod.partner.outlook.cn>
Date: Fri, 29 Mar 2024 03:56:30 +0000
From: Xingyu Wu <xingyu.wu@...rfivetech.com>
To: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>, Liam Girdwood
<lgirdwood@...il.com>, Mark Brown <broonie@...nel.org>, Claudiu Beznea
<Claudiu.Beznea@...rochip.com>, Jaroslav Kysela <perex@...ex.cz>, Takashi
Iwai <tiwai@...e.com>, Rob Herring <robh+dt@...nel.org>, Krzysztof Kozlowski
<krzysztof.kozlowski+dt@...aro.org>, Conor Dooley
<conor.dooley@...rochip.com>
CC: "devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"alsa-devel@...a-project.org" <alsa-devel@...a-project.org>,
"linux-sound@...r.kernel.org" <linux-sound@...r.kernel.org>
Subject:
RE: 回复: [PATCH v2 1/2] ASoC: dt-bindings: Add bindings for Cadence I2S-MC controller
On 27/03/2024 13:12, Krzysztof Kozlowski wrote:
> On 26/03/2024 14:43, Xingyu Wu wrote:
> >>>>> +
> >>>>> +properties:
> >>>>> + compatible:
> >>>>> + enum:
> >>>>> + - cdns,i2s-mc
> >>>>
> >>>> Why did this appear? Who asked for this? Usually these blocks are
> >>>> not usable on their own.
> >>>
> >>> I wonder if I should keep the original IP compatible. Do I not need it?
> >>
> >> As I said, it is not usable on its own, so unless you have other arguments then
> no.
> >> But my point was that no one asked for this.
> >
> > I want to keep the original IP compatible which can distinguish from the JH8100
> SoC.
> > Can I write it like this:
> > compatible:
> > enum:
> > - starfive,jh8100-i2s
> > const: cdns,i2s-mc
> >
> > and I write this in the DTS:
> > compatible = "starfive,jh8100-i2s", "cdns,i2s-mc";
>
> Can you provide any rationale for this? I asked "unless you have other
> arguments", so where are the arguments?
>
> Nothing was explained in patch changelog. Nothing was provided in this email
> thread.
I don't know if I understood what mark said[1]. Is it to keep the original IP and
add other compatible?
[1] https://lore.kernel.org/all/27155281-573c-493d-96fe-1f28ebb0ce5e@sirena.org.uk/
Or should I only keep the compatible 'starfive,jh8110-i2s' and change the
bindings name to same to this compatible?
>
> >
> >>
> >>>
> >>>>
> >>>>> + - starfive,jh8100-i2s
> >>>>> +
> >>>>> + reg:
> >>>>> + maxItems: 1
> >>>>> +
> >>>>> + interrupts:
> >>>>> + description:
> >>>>> + The interrupt line number for the I2S controller. Add this
> >>>>> + parameter if the I2S controller that you are using does not
> >>>>> + using DMA.
> >>>>
> >>>> That's still wrong. You already got comment on this. Either you
> >>>> have interrupt
> >> or not.
> >>>> You do not add interrupts, based on your choice or not of having DMA.
> >>>> Drop the comment.
> >>>
> >>> Do I keep this property and drop this description?
> >>
> >> Drop description. Keep property, if your hardware has interrupts.
> >>
> >
> > Will drop.
> >
> >> ...
> >>
> >>>>
> >>>>> + - compatible
> >>>>> + - reg
> >>>>> + - clocks
> >>>>> + - clock-names
> >>>>> + - resets
> >>>>> +
> >>>>> +oneOf:
> >>>>> + - required:
> >>>>> + - dmas
> >>>>> + - dma-names
> >>>>> + - required:
> >>>>> + - interrupts
> >>>>
> >>>> This won't work. Provide both interrupts and dmas, and then test your DTS.
> >>>
> >>> I provided both properties in the DTS and test by dtbs_check. Then
> >>> it printed
> >> that:
> >>> 'More than one condition true in one of shema: ...'
> >>
> >> Exactly. Having both properties is a correct DTS. Interrupts do not
> >> disappear just because you decide to describe DMA. It is OS choice
> >> what to use if both are provided.
> >>
> >
> > But this I2S can only use either DMA or interrupts.
>
> Just like many other components. DTS should reflect hardware. Hardware has
> interrupts and DMA, right?
Yes. The hardware can use interrupts and provide the handshake interface of
DMA to DMA controller. In software, we can choose only one between them.
Do I keep them both in the bindings and provide the selection in the driver?
>
> >
> > Can I use the config (like SND_SOC_CADENCE_I2S_MC_PCM) to choose DMA
> > or interrupt if having both them in DTS?
>
> Don't know, I tend to focus here on bindings.
>
Best regards,
Xingyu Wu
Powered by blists - more mailing lists