回复: 回复: [PATCH v1 1/2] dt-bindings: ASoC: Add PDM controller for the StarFive JH8100 SoC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On 08/03/2024 08:49, Xingyu Wu wrote:
> >>> +
> >>> +  starfive,pdm-modulex:
> >>> +    $ref: /schemas/types.yaml#/definitions/uint32
> >>> +    enum: [0, 1]
> >>> +    description:
> >>> +      The module x will be using in PDM controller. Default use module 0.
> >>
> >> This is an index of the block instance? If so, then it's not allowed.
> >> Otherwise I don't understand the description.
> >>
> >
> > No, this is just one instance. The PDM have two internal and independent
> modules or called channels.
> > They can be configured and used separately, and the user can choose which
> channel to use.
> >
> 
> Do the modulex differ? Why different boards would choose one over another?
> 

They are same. The choice between them is base on the match with I2S.
The DMA data channel of hardware between them is fixed linked:
PDM module 0 --> I2S channel 0,
PDM module 1 --> I2S channel 1
I2S uses higher-number channels first for capture (like channel 1), so PDM should skips module 0 and uses module 1.
Oh, I just thought of a way to fix them that change the priority of I2S channel to use lower-number channels first and PDM need not skip module0.

Best regards,
Xingyu Wu




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux