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