Message ID | 20241209045551.1404782-2-quic_mohs@quicinc.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add static channel mapping between soundwire master and slave | expand |
On Mon, Dec 09, 2024 at 10:25:48AM +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@quicinc.com> > --- > .../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..9209667044ba 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: > + - 0 # WCD9370_SWRM_CH1 Drop the comments. This does not implement my feedback and you sent it four days after I replied to you. Best regards, Krzysztof
On 12/9/2024 1:19 PM, Krzysztof Kozlowski wrote: > On Mon, Dec 09, 2024 at 10:25:48AM +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@quicinc.com> >> --- >> .../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..9209667044ba 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: >> + - 0 # WCD9370_SWRM_CH1 > > Drop the comments. This does not implement my feedback and you sent it > four days after I replied to you. > ACK Somehow, I missed the comments in the last email. I will address them and will update in next version. Thanks & Regards, Rafi. > Best regards, > Krzysztof >
diff --git a/Documentation/devicetree/bindings/sound/qcom,wcd937x-sdw.yaml b/Documentation/devicetree/bindings/sound/qcom,wcd937x-sdw.yaml index d3cf8f59cb23..9209667044ba 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: + - 0 # WCD9370_SWRM_CH1 + - 1 # WCD9370_SWRM_CH2 + - 2 # WCD9370_SWRM_CH3 + - 3 # WCD9370_SWRM_CH4 + + qcom,rx-channel-mapping: + description: | + Specifies static channels mapping between slave and master rx port + channels. + In the order of slave port channels, which is + hph_l, hph_r, clsh, comp_l, comp_r, lo, dsd_r, dsd_l. + $ref: /schemas/types.yaml#/definitions/uint8-array + minItems: 8 + maxItems: 8 + additionalItems: false + items: + enum: + - 0 # WCD9370_SWRM_CH1 + - 1 # WCD9370_SWRM_CH2 + - 2 # WCD9370_SWRM_CH3 + - 3 # WCD9370_SWRM_CH4 + required: - compatible - reg @@ -74,6 +108,7 @@ examples: compatible = "sdw20217010a00"; reg = <0 4>; qcom,rx-port-mapping = <1 2 3 4 5>; + qcom,rx-channel-mapping = /bits/ 8 <0 1 0 0 1 0 0 1>; }; }; @@ -85,6 +120,7 @@ examples: compatible = "sdw20217010a00"; reg = <0 3>; qcom,tx-port-mapping = <2 2 3 4>; + qcom,tx-channel-mapping = /bits/ 8 <0 1 0 0 1 2 2 3 0 1 2 3>; }; };
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@quicinc.com> --- .../bindings/sound/qcom,wcd937x-sdw.yaml | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+)