On 27/07/2024 22:23, Stephan Gerhold wrote:
On Tue, Jul 23, 2024 at 10:33:00AM +0200, Krzysztof Kozlowski wrote:
The APQ8016 SBC and MSM8916 QDSP6 sound cards are a bit different from others: they have additional IO muxing address space and pin control. Move them to separate schema, so the original qcom,sm8250.yaml will be easier to manage. New schema is going to grow for other platforms having more of IO muxing address spaces.
Cc: Adam Skladowski a39.skl@gmail.com Signed-off-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org
.../sound/qcom,apq8016-sbc-sndcard.yaml | 205 ++++++++++++++++++ .../bindings/sound/qcom,sm8250.yaml | 137 ------------ 2 files changed, 205 insertions(+), 137 deletions(-) create mode 100644 Documentation/devicetree/bindings/sound/qcom,apq8016-sbc-sndcard.yaml
diff --git a/Documentation/devicetree/bindings/sound/qcom,apq8016-sbc-sndcard.yaml b/Documentation/devicetree/bindings/sound/qcom,apq8016-sbc-sndcard.yaml new file mode 100644 index 000000000000..6ad451549036 [...] diff --git a/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml b/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml index c9076dcd44c1..1d3acdc0c733 100644 --- a/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml +++ b/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml @@ -27,9 +27,7 @@ properties: - qcom,sm8650-sndcard - const: qcom,sm8450-sndcard - enum:
- qcom,apq8016-sbc-sndcard - qcom,apq8096-sndcard
- qcom,msm8916-qdsp6-sndcard - qcom,qcm6490-idp-sndcard - qcom,qcs6490-rb3gen2-sndcard - qcom,qrb5165-rb5-sndcard
@@ -58,18 +56,6 @@ properties: $ref: /schemas/types.yaml#/definitions/string description: User visible long sound card name
- pin-switches:
- description: List of widget names for which pin switches should be created.
- $ref: /schemas/types.yaml#/definitions/string-array
- widgets:
- description: User specified audio sound widgets.
- $ref: /schemas/types.yaml#/definitions/non-unique-string-array
These two properties are also valid and supported on all newer platforms, please keep them here! There are certain use cases where these are needed independent of the platform, e.g. to control an analog switch or mux connected to speaker or headphone outputs.
I agree that it is cleaner to move the IO muxing to a new schema though. Perhaps we could define something like a shared qcom,sndcard-common.yaml schema to avoid duplication for these generic properties? In the Linux driver, these are handled for all platforms in sound/soc/qcom/common.c.
This was added to the common driver code but it does not mean it is reasonable binding. I don't understand why for example we even accept here aux-devs, instead of putting them into one of DAI links.
The pin-switches and widgets could be used, but are they? The only valid argument to keep them is that you added them to common driver code.
Best regards, Krzysztof