xref: /linux/Documentation/devicetree/bindings/sound/tdm-slot.yaml (revision 0fc8f6200d2313278fbf4539bbab74677c685531)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/sound/tdm-slot.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Time Division Multiplexing (TDM) Slot Parameters
8
9maintainers:
10  - Liam Girdwood <lgirdwood@gmail.com>
11
12select: false
13
14properties:
15  dai-tdm-slot-num:
16    $ref: /schemas/types.yaml#/definitions/uint32
17    description: Number of slots in use
18
19  dai-tdm-slot-width:
20    $ref: /schemas/types.yaml#/definitions/uint32
21    description: Width, in bits, of each slot
22
23  dai-tdm-idle-mode:
24    $ref: /schemas/types.yaml#/definitions/string
25    enum:
26      - none
27      - off
28      - zero
29      - pulldown
30      - hiz
31      - pullup
32      - drivehigh
33    description: Drive mode for inactive/idle TDM slots. For hardware that
34      implements .set_tdm_idle(). Optional. "None" represents undefined
35      behaviour and is the same as not setting this property.
36
37patternProperties:
38  '^dai-tdm-slot-[rt]x-mask$':
39    $ref: /schemas/types.yaml#/definitions/uint32-array
40    description: Slot mask for active TDM slots. Optional. Drivers may
41      specify .xlate_tdm_slot_mask() to generate a slot mask dynamically. If
42      neither this property nor a driver-specific function are specified, the
43      default snd_soc_xlate_tdm_slot_mask() function will be used to generate
44      a mask. The first element of the array is slot 0 (LSB). Any nonzero
45      value will be treated as 1.
46
47  '^dai-tdm-slot-[rt]x-idle-mask$':
48    $ref: /schemas/types.yaml#/definitions/uint32
49    description: Idle slot mask. Optional. A bit being set to 1 indicates
50      that the corresponding TDM slot is inactive/idle.
51
52additionalProperties: true
53