On Thu, Dec 12, 2024 at 09:53:31PM +0530, Mohammad Rafi Shaik wrote: > Add static channel mapping between master and slave rx/tx ports for > Qualcomm wcd937x soundwire codec. > > Currently, the channel map index value for each soundwire port is > hardcoded in the wcd937x-sdw driver, and the same channel map index > value is configured in the soundwire master. > > The Qualcomm board like the QCM6490-IDP require static channel map > settings for the soundwire master and slave ports. > > If another boards which are using enable wcd937x, the channel mapping > index values between master and slave may be different depending on the > board hw design and requirements. If the above properties are not used > in a SoC specific device tree, the channel mapping index values are set > to default. > > With the introduction of the following channel mapping properties, it is > now possible to configure the master channel mapping directly from the > device tree. > > The qcom,tx-channel-mapping property specifies the static channel mapping > between the slave and master tx ports in the order of slave port channels > which is adc1, adc2, adc3, adc4, dmic0, dmic1, mbhc, dmic2, dmic3, dmci4, > dmic5, dmic6, dmic7. > > The qcom,rx-channel-mapping property specifies the static channel mapping > between the slave and master rx ports in the order of slave port channels > which is hph_l, hph_r, clsh, comp_l, comp_r, lo, dsd_r, dsd_l. > > Signed-off-by: Mohammad Rafi Shaik <quic_mohs@xxxxxxxxxxx> > --- > .../bindings/sound/qcom,wcd937x-sdw.yaml | 36 +++++++++++++++++++ > 1 file changed, 36 insertions(+) > > diff --git a/Documentation/devicetree/bindings/sound/qcom,wcd937x-sdw.yaml b/Documentation/devicetree/bindings/sound/qcom,wcd937x-sdw.yaml > index d3cf8f59cb23..c8543f969ebb 100644 > --- a/Documentation/devicetree/bindings/sound/qcom,wcd937x-sdw.yaml > +++ b/Documentation/devicetree/bindings/sound/qcom,wcd937x-sdw.yaml > @@ -58,6 +58,40 @@ properties: > items: > enum: [1, 2, 3, 4, 5] > > + qcom,tx-channel-mapping: > + description: | > + Specifies static channel mapping between slave and master tx port > + channels. > + In the order of slave port channels which is adc1, adc2, adc3, > + dmic0, dmic1, mbhc, dmic2, dmic3, dmci4, dmic5, dmic6, dmic7. > + $ref: /schemas/types.yaml#/definitions/uint8-array > + minItems: 12 > + maxItems: 12 > + additionalItems: false > + items: > + enum: > + - 1 # WCD9370_SWRM_CH1 > + - 2 # WCD9370_SWRM_CH2 > + - 3 # WCD9370_SWRM_CH3 > + - 4 # WCD9370_SWRM_CH4 I asked to drop the comments, because now they are obvious. 1 is channel 1, obviously. Your description should say what are the values here: channels on the WCD9370 or Soundwire master device side. Anyway, if it is understable to Mark, then I am happy as well: Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> Best regards, Krzysztof