119 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2%YAML 1.23---4$id: http://devicetree.org/schemas/sound/cirrus,madera.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Cirrus Logic Madera class audio CODECs8 9maintainers:10 - patches@opensource.cirrus.com11 12description: |13 This describes audio configuration bindings for these codecs.14 15 See also the core bindings for the parent MFD driver:16 17 Documentation/devicetree/bindings/mfd/cirrus,madera.yaml18 19 and defines for values used in these bindings:20 21 include/dt-bindings/sound/madera.h22 23 The properties are all contained in the parent MFD node.24 25allOf:26 - $ref: dai-common.yaml#27 28properties:29 '#sound-dai-cells':30 description:31 The first cell indicating the audio interface.32 const: 133 34 cirrus,inmode:35 description:36 A list of input mode settings for each input. A maximum37 of 24 cells, with four cells per input in the order INnAL,38 INnAR INnBL INnBR. For non-muxed inputs the first two cells39 for that input set the mode for the left and right channel40 and the second two cells must be 0. For muxed inputs the41 first two cells for that input set the mode of the left and42 right A inputs and the second two cells set the mode of the43 left and right B inputs. Valid mode values are one of the44 MADERA_INMODE_xxx. If the array is shorter than the number45 of inputs the unspecified inputs default to MADERA_INMODE_DIFF.46 $ref: /schemas/types.yaml#/definitions/uint32-array47 minItems: 148 maxItems: 2449 items:50 minimum: 051 maximum: 152 default: 053 54 cirrus,out-mono:55 description:56 Mono bit for each output, maximum of six cells if the array57 is shorter outputs will be set to stereo.58 $ref: /schemas/types.yaml#/definitions/uint32-array59 minItems: 160 maxItems: 661 items:62 minimum: 063 maximum: 164 default: 065 66 cirrus,dmic-ref:67 description: |68 Indicates how the MICBIAS pins have been externally connected69 to DMICs on each input, one cell per input.70 71 <IN1 IN2 IN3 ...>72 73 A value of 0 indicates MICVDD and is the default,74 other values depend on the codec: For CS47L35 one of the75 CS47L35_DMIC_REF_xxx values For all other codecs one of76 the MADERA_DMIC_REF_xxx values Also see the datasheet for a77 description of the INn_DMIC_SUP field.78 $ref: /schemas/types.yaml#/definitions/uint32-array79 minItems: 180 maxItems: 681 items:82 minimum: 083 maximum: 384 default: 085 86 cirrus,max-channels-clocked:87 description:88 Maximum number of channels that I2S clocks will be generated89 for. Useful when clock master for systems where the I2S bus90 has multiple data lines. One cell for each AIF, use a value91 of zero for AIFs that should be handled normally.92 $ref: /schemas/types.yaml#/definitions/uint32-array93 minItems: 194 maxItems: 495 items:96 default: 097 98 cirrus,pdm-fmt:99 description:100 PDM speaker data format, must contain 2 cells (OUT5 and101 OUT6). See the PDM_SPKn_FMT field in the datasheet for a102 description of this value. The second cell is ignored for103 codecs that do not have OUT6.104 $ref: /schemas/types.yaml#/definitions/uint32-array105 minItems: 2106 maxItems: 2107 108 cirrus,pdm-mute:109 description: |110 PDM mute format, must contain 2 cells (OUT5 and OUT6). See the111 PDM_SPKn_CTRL_1 register in the datasheet for a description112 of this value. The second cell is ignored for codecs that113 do not have OUT6.114 $ref: /schemas/types.yaml#/definitions/uint32-array115 minItems: 2116 maxItems: 2117 118additionalProperties: true119