xref: /linux/Documentation/devicetree/bindings/sound/qcom,pm4125-sdw.yaml (revision 4f38da1f027ea2c9f01bb71daa7a299c191b6940)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/sound/qcom,pm4125-sdw.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm SoundWire Slave devices on PM4125/PM2250 PMIC audio codec.
8
9maintainers:
10  - Alexey Klimov <alexey.klimov@linaro.org>
11
12description:
13  The audio codec IC found on Qualcomm PM4125/PM2250 PMICs.
14  It has RX and TX Soundwire slave devices.
15
16properties:
17  compatible:
18    const: sdw20217010c00
19
20  reg:
21    maxItems: 1
22
23  qcom,tx-port-mapping:
24    description: |
25      Specifies static port mapping between device and host tx ports.
26      In the order of the device port index which are adc1_port, adc23_port,
27      dmic03_mbhc_port, dmic46_port.
28      Supports maximum 2 tx soundwire ports.
29
30      PM4125 TX Port 1 (ADC1,2 & DMIC0 & MBHC)    <=> SWR0 Port 1
31      PM4125 TX Port 2 (ADC1 & DMIC0,1,2 & MBHC)  <=> SWR0 Port 2
32
33    $ref: /schemas/types.yaml#/definitions/uint32-array
34    minItems: 2
35    maxItems: 2
36    items:
37      enum: [1, 2, 3, 4]
38
39  qcom,rx-port-mapping:
40    description: |
41      Specifies static port mapping between device and host rx ports.
42      In the order of device port index which are hph_port, clsh_port,
43      comp_port, lo_port, dsd port.
44      Supports maximum 2 rx soundwire ports.
45
46      PM4125 RX Port 1 (HPH_L/R)       <==>    SWR1 Port 1 (HPH_L/R)
47      PM4125 RX Port 2 (COMP_L/R)      <==>    SWR1 Port 3 (COMP_L/R)
48
49    $ref: /schemas/types.yaml#/definitions/uint32-array
50    minItems: 2
51    maxItems: 2
52    items:
53      enum: [1, 2, 3, 4, 5]
54
55required:
56  - compatible
57  - reg
58
59oneOf:
60  - required:
61      - qcom,tx-port-mapping
62  - required:
63      - qcom,rx-port-mapping
64
65additionalProperties: false
66
67examples:
68  - |
69    soundwire@a610000 {
70        reg = <0x0a610000 0x2000>;
71        #address-cells = <2>;
72        #size-cells = <0>;
73        pm4125_rx: codec@0,1 {
74            compatible = "sdw20217010c00";
75            reg = <0 1>;
76            qcom,rx-port-mapping = <1 3>;
77        };
78    };
79...
80