+++ /dev/null
-* Qualcomm Technologies APQ8016 SBC ASoC machine driver
-
-This node models the Qualcomm Technologies APQ8016 SBC ASoC machine driver
-
-Required properties:
-
-- compatible           : "qcom,apq8016-sbc-sndcard"
-
-- pinctrl-N            : One property must exist for each entry in
-                         pinctrl-names.  See ../pinctrl/pinctrl-bindings.txt
-                         for details of the property values.
-- pinctrl-names                : Must contain a "default" entry.
-- reg                  : Must contain an address for each entry in reg-names.
-- reg-names            : A list which must include the following entries:
-                               * "mic-iomux"
-                               * "spkr-iomux"
-- qcom,model           : Name of the sound card.
-
-- qcom,audio-routing   : A list of the connections between audio components.
-                         Each entry is a pair of strings, the first being the
-                         connection's sink, the second being the connection's
-                         source. Valid names could be power supplies, MicBias
-                         of msm8x16_wcd codec and the jacks on the board:
-
-                         Power supplies:
-                         * MIC BIAS External1
-                         * MIC BIAS External2
-                         * MIC BIAS Internal1
-                         * MIC BIAS Internal2
-
-                         Board connectors:
-                         * Headset Mic
-                         * Secondary Mic
-                         * DMIC
-                         * Ext Spk
-
-Optional properties:
-
-- aux-devs             : A list of phandles for auxiliary devices (e.g. analog
-                         amplifiers) that do not appear directly within the DAI
-                         links. Should be connected to another audio component
-                         using "qcom,audio-routing".
-
-Dai-link subnode properties and subnodes:
-
-Required dai-link subnodes:
-
-- cpu                                  : CPU   sub-node
-- codec                                        : CODEC sub-node
-
-Required CPU/CODEC subnodes properties:
-
--link-name             : Name of the dai link.
--sound-dai             : phandle/s and port of CPU/CODEC
-
-Example:
-
-sound: sound {
-       compatible = "qcom,apq8016-sbc-sndcard";
-       reg = <0x07702000 0x4>, <0x07702004 0x4>;
-       reg-names = "mic-iomux", "spkr-iomux";
-       qcom,model = "DB410c";
-
-       qcom,audio-routing =
-               "MIC BIAS External1", "Handset Mic",
-               "MIC BIAS Internal2", "Headset Mic",
-               "MIC BIAS External1", "Secondary Mic",
-               "AMIC1", "MIC BIAS External1",
-               "AMIC2", "MIC BIAS Internal2",
-               "AMIC3", "MIC BIAS External1",
-               "DMIC1", "MIC BIAS Internal1",
-               "MIC BIAS Internal1", "Digital Mic1",
-               "DMIC2", "MIC BIAS Internal1",
-               "MIC BIAS Internal1", "Digital Mic2";
-
-       /* I2S - Internal codec */
-       internal-dai-link@0 {
-               cpu { /* PRIMARY */
-                       sound-dai = <&lpass MI2S_PRIMARY>;
-               };
-               codec {
-                       sound-dai = <&lpass_codec 0>, <&wcd_codec 0>;
-               };
-       };
-
-       /* External Primary or External Secondary -ADV7533 HDMI */
-       external-dai-link@0 {
-               link-name = "ADV7533";
-               cpu { /* QUAT */
-                       sound-dai = <&lpass MI2S_QUATERNARY>;
-               };
-               codec {
-                       sound-dai = <&adv_bridge 0>;
-               };
-       };
-};
 
 $id: http://devicetree.org/schemas/sound/qcom,sm8250.yaml#
 $schema: http://devicetree.org/meta-schemas/core.yaml#
 
-title: Qualcomm Technologies Inc. SM8250 ASoC sound card driver
+title: Qualcomm Technologies Inc. ASoC sound card drivers
 
 maintainers:
   - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
 
 description:
-  This bindings describes SC8250 SoC based sound cards
+  This bindings describes Qualcomm SoC based sound cards
   which uses LPASS internal codec for audio.
 
 properties:
   compatible:
     enum:
+      - qcom,apq8016-sbc-sndcard
       - qcom,sm8250-sndcard
       - qcom,qrb5165-rb5-sndcard
 
     $ref: /schemas/types.yaml#/definitions/string
     description: User visible long sound card name
 
+  # Only valid for some compatibles (see allOf if below)
+  reg: true
+  reg-names: true
+
 patternProperties:
   ".*-dai-link$":
     description:
   - compatible
   - model
 
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,apq8016-sbc-sndcard
+    then:
+      properties:
+        reg:
+          items:
+            - description: Microphone I/O mux register address
+            - description: Speaker I/O mux register address
+        reg-names:
+          items:
+            - const: mic-iomux
+            - const: spkr-iomux
+      required:
+        - compatible
+        - model
+        - reg
+        - reg-names
+    else:
+      properties:
+        reg: false
+        reg-names: false
+
 additionalProperties: false
 
 examples:
             };
         };
     };
+
+  - |
+    #include <dt-bindings/sound/qcom,lpass.h>
+    sound@7702000 {
+        compatible = "qcom,apq8016-sbc-sndcard";
+        reg = <0x07702000 0x4>, <0x07702004 0x4>;
+        reg-names = "mic-iomux", "spkr-iomux";
+
+        model = "DB410c";
+        audio-routing =
+            "AMIC2", "MIC BIAS Internal2",
+            "AMIC3", "MIC BIAS External1";
+
+        pinctrl-0 = <&cdc_pdm_lines_act &ext_sec_tlmm_lines_act &ext_mclk_tlmm_lines_act>;
+        pinctrl-1 = <&cdc_pdm_lines_sus &ext_sec_tlmm_lines_sus &ext_mclk_tlmm_lines_sus>;
+        pinctrl-names = "default", "sleep";
+
+        quaternary-dai-link {
+            link-name = "ADV7533";
+            cpu {
+                sound-dai = <&lpass MI2S_QUATERNARY>;
+            };
+            codec {
+                sound-dai = <&adv_bridge 0>;
+            };
+        };
+
+        primary-dai-link {
+            link-name = "WCD";
+            cpu {
+                sound-dai = <&lpass MI2S_PRIMARY>;
+            };
+            codec {
+                sound-dai = <&lpass_codec 0>, <&wcd_codec 0>;
+            };
+        };
+
+        tertiary-dai-link {
+            link-name = "WCD-Capture";
+            cpu {
+                sound-dai = <&lpass MI2S_TERTIARY>;
+            };
+            codec {
+                sound-dai = <&lpass_codec 1>, <&wcd_codec 1>;
+            };
+        };
+    };