xref: /linux/Documentation/devicetree/bindings/sound/tdm-slot.yaml (revision 0fc8f6200d2313278fbf4539bbab74677c685531)
15273cb81SJames Calligeros# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
25273cb81SJames Calligeros%YAML 1.2
35273cb81SJames Calligeros---
45273cb81SJames Calligeros$id: http://devicetree.org/schemas/sound/tdm-slot.yaml#
55273cb81SJames Calligeros$schema: http://devicetree.org/meta-schemas/core.yaml#
65273cb81SJames Calligeros
75273cb81SJames Calligerostitle: Time Division Multiplexing (TDM) Slot Parameters
85273cb81SJames Calligeros
95273cb81SJames Calligerosmaintainers:
105273cb81SJames Calligeros  - Liam Girdwood <lgirdwood@gmail.com>
115273cb81SJames Calligeros
125273cb81SJames Calligerosselect: false
135273cb81SJames Calligeros
145273cb81SJames Calligerosproperties:
155273cb81SJames Calligeros  dai-tdm-slot-num:
165273cb81SJames Calligeros    $ref: /schemas/types.yaml#/definitions/uint32
175273cb81SJames Calligeros    description: Number of slots in use
185273cb81SJames Calligeros
195273cb81SJames Calligeros  dai-tdm-slot-width:
205273cb81SJames Calligeros    $ref: /schemas/types.yaml#/definitions/uint32
215273cb81SJames Calligeros    description: Width, in bits, of each slot
225273cb81SJames Calligeros
23*938c1ed5SJames Calligeros  dai-tdm-idle-mode:
24*938c1ed5SJames Calligeros    $ref: /schemas/types.yaml#/definitions/string
25*938c1ed5SJames Calligeros    enum:
26*938c1ed5SJames Calligeros      - none
27*938c1ed5SJames Calligeros      - off
28*938c1ed5SJames Calligeros      - zero
29*938c1ed5SJames Calligeros      - pulldown
30*938c1ed5SJames Calligeros      - hiz
31*938c1ed5SJames Calligeros      - pullup
32*938c1ed5SJames Calligeros      - drivehigh
33*938c1ed5SJames Calligeros    description: Drive mode for inactive/idle TDM slots. For hardware that
34*938c1ed5SJames Calligeros      implements .set_tdm_idle(). Optional. "None" represents undefined
35*938c1ed5SJames Calligeros      behaviour and is the same as not setting this property.
36*938c1ed5SJames Calligeros
375273cb81SJames CalligerospatternProperties:
385273cb81SJames Calligeros  '^dai-tdm-slot-[rt]x-mask$':
395273cb81SJames Calligeros    $ref: /schemas/types.yaml#/definitions/uint32-array
405273cb81SJames Calligeros    description: Slot mask for active TDM slots. Optional. Drivers may
415273cb81SJames Calligeros      specify .xlate_tdm_slot_mask() to generate a slot mask dynamically. If
425273cb81SJames Calligeros      neither this property nor a driver-specific function are specified, the
435273cb81SJames Calligeros      default snd_soc_xlate_tdm_slot_mask() function will be used to generate
445273cb81SJames Calligeros      a mask. The first element of the array is slot 0 (LSB). Any nonzero
455273cb81SJames Calligeros      value will be treated as 1.
465273cb81SJames Calligeros
47*938c1ed5SJames Calligeros  '^dai-tdm-slot-[rt]x-idle-mask$':
48*938c1ed5SJames Calligeros    $ref: /schemas/types.yaml#/definitions/uint32
49*938c1ed5SJames Calligeros    description: Idle slot mask. Optional. A bit being set to 1 indicates
50*938c1ed5SJames Calligeros      that the corresponding TDM slot is inactive/idle.
51*938c1ed5SJames Calligeros
525273cb81SJames CalligerosadditionalProperties: true
53