On 08/03/2024 10:19, Xingyu Wu wrote: >> 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. > Hm, then maybe this should be somehow linked with choice of I2C channel? Do you have anywhere a link to complete DTS with sound card? Best regards, Krzysztof