RE: 回复: [PATCH v2 1/2] ASoC: dt-bindings: Add bindings for Cadence I2S-MC controller

From: Xingyu Wu
Date: Tue Mar 26 2024 - 09:47:42 EST


On 26/03/2024 14:46, Krzysztof Kozlowski wrote:
>
> On 26/03/2024 07:29, Xingyu Wu wrote:
> >>
> >> On 20/03/2024 10:02, Xingyu Wu wrote:
> >>> Add bindings for the Multi-Channel I2S controller of Cadence.
>
> Your email app responds very weird. You bypassed all possible filters and it is
> simply not visible that you answer to me. You Reply to everyone, not to me with
> Cc to others. There is no standard header whom do you quote, e.g. "On
> 26/03/2024 07:29, Xingyu Wu wrote:"
>
> Please use some decent email system, otherwise I will miss all replies from you.

Thank you for reminding me. I will correct it.

>
> >>> +
> >>> +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";

>
> >
> >>
> >>> + - 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.

Can I use the config (like SND_SOC_CADENCE_I2S_MC_PCM) to choose DMA or
interrupt if having both them in DTS?

Best regards,
Xingyu Wu