* Re: [PATCH v3 2/4] dt-bindings: sound: bindings for tac5x1x family of codecs
@ 2025-06-27 4:57 Holalu Yogendra, Niranjan
2025-06-27 5:50 ` Krzysztof Kozlowski
0 siblings, 1 reply; 6+ messages in thread
From: Holalu Yogendra, Niranjan @ 2025-06-27 4:57 UTC (permalink / raw)
To: Rob Herring (Arm)
Cc: tiwai@suse.de, alsa-devel@alsa-project.org, lgirdwood@gmail.com,
devicetree@vger.kernel.org, krzk+dt@kernel.org,
broonie@kernel.org, liam.r.girdwood@intel.com,
andriy.shevchenko@linux.intel.com, Xu, Baojun, Ding, Shenghao,
linux-sound@vger.kernel.org, Hampiholi, Vallabha,
conor+dt@kernel.org, Navada Kanyana, Mukund
Thanks for quick review.
> From: Rob Herring (Arm) <robh@kernel.org>
> Sent: Friday, June 27, 2025 1:09 AM
> To: Holalu Yogendra, Niranjan <niranjan.hy@ti.com>
> Subject: Re: [PATCH v3 2/4] dt-bindings: sound: bindings for
> tac5x1x family of codecs
> On Thu, 26 Jun 2025 23:43:31 +0530, Niranjan H Y wrote:
> > Documentation/devicetree/bindings/sound/ti,tac5x1x.yaml
...
> yamllint warnings/errors:
>
> dtschema/dtc warnings/errors:
> Warning: Duplicate compatible "ti,taa5412" found in schemas matching
> Warning: Duplicate compatible "ti,taa5212" found in schemas matching
> Warning: Duplicate compatible "ti,tad5212" found in schemas matching
The duplicate compatible are already removed as part of the patch series
in patch [v3,4/4] dt-bindings: sound: device support list for pcm6240 .
https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250626181334.1200-5-niranjan.hy@ti.com/
Please let me know if still additional action is required.
Regards
Niranjan H Y
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3 2/4] dt-bindings: sound: bindings for tac5x1x family of codecs
2025-06-27 4:57 [PATCH v3 2/4] dt-bindings: sound: bindings for tac5x1x family of codecs Holalu Yogendra, Niranjan
@ 2025-06-27 5:50 ` Krzysztof Kozlowski
0 siblings, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2025-06-27 5:50 UTC (permalink / raw)
To: Holalu Yogendra, Niranjan, Rob Herring (Arm)
Cc: tiwai@suse.de, alsa-devel@alsa-project.org, lgirdwood@gmail.com,
devicetree@vger.kernel.org, krzk+dt@kernel.org,
broonie@kernel.org, liam.r.girdwood@intel.com,
andriy.shevchenko@linux.intel.com, Xu, Baojun, Ding, Shenghao,
linux-sound@vger.kernel.org, Hampiholi, Vallabha,
conor+dt@kernel.org, Navada Kanyana, Mukund
On 27/06/2025 06:57, Holalu Yogendra, Niranjan wrote:
> Thanks for quick review.
>> From: Rob Herring (Arm) <robh@kernel.org>
>> Sent: Friday, June 27, 2025 1:09 AM
>> To: Holalu Yogendra, Niranjan <niranjan.hy@ti.com>
>> Subject: Re: [PATCH v3 2/4] dt-bindings: sound: bindings for
>> tac5x1x family of codecs
>> On Thu, 26 Jun 2025 23:43:31 +0530, Niranjan H Y wrote:
>>> Documentation/devicetree/bindings/sound/ti,tac5x1x.yaml
> ...
>> yamllint warnings/errors:
>>
>> dtschema/dtc warnings/errors:
>> Warning: Duplicate compatible "ti,taa5412" found in schemas matching
>> Warning: Duplicate compatible "ti,taa5212" found in schemas matching
>> Warning: Duplicate compatible "ti,tad5212" found in schemas matching
> The duplicate compatible are already removed as part of the patch series
> in patch [v3,4/4] dt-bindings: sound: device support list for pcm6240 .
> https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250626181334.1200-5-niranjan.hy@ti.com/
> Please let me know if still additional action is required.
It's impossible to understand what this email references... but I still
think you need to fix your patchset. You have warnings here, don't you?
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3 2/4] dt-bindings: sound: bindings for tac5x1x family of codecs
@ 2025-07-28 10:22 Holalu Yogendra, Niranjan
0 siblings, 0 replies; 6+ messages in thread
From: Holalu Yogendra, Niranjan @ 2025-07-28 10:22 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: broonie@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
andriy.shevchenko@linux.intel.com, tiwai@suse.de,
alsa-devel@alsa-project.org, Xu, Baojun, Ding, Shenghao,
liam.r.girdwood@intel.com, lgirdwood@gmail.com, robh@kernel.org,
linux-sound@vger.kernel.org, devicetree@vger.kernel.org,
Navada Kanyana, Mukund, Hampiholi, Vallabha
Hi Krzysztof,
Thanks for the detailed review comments.
Request you to take a look at comments below.
On Fri, Jun 27, 2025 at 1:18 PM +0530, Krzysztof Kozlowski wrote:
> On Thu, Jun 26, 2025 at 11:43:31PM +0530, Niranjan H Y wrote:
> > + ti,vref:
> > + description: VREF required voltage. If node is omitted then VREF is
> Voltage is in microvolt. Use proper suffix/values.
Is this convention ? Is there any document on these I can refer ?
>
> > + oneOf:
> > + - const: 0
> > + description: VREF output is powered to 2.75V.
> > + - const: 1
> > + description: VREF output is powered to 2.5V.
> > + - const: 2
> > + description: VREF output is powered to 1.375V.
> > + ti,gpios-func:
> > + description: |
> > + Array indicating the GPIO1, GPIO2, GPO1 Functionality in the same order.
> > + Each integer elemnent in the array represent the following
> > + - 0 TAC5X1X_GPIO_DISABLE - GPIO is Disabled
> > + - 1 TAC5X1X_GPIO_GPI - General Purpose Input
> > + - 2 ADC3XXX_GPIO_GPO - General Purpose Output
> > + - 3 TAC5X1X_GPIO_IRQ - Chip Interrupt
> > + - 4 TAC5X1X_GPIO_PDMCLK - PDM CLK Output
> > + - 5 TAC5X1X_GPIO_P_DOUT - Primary ASI DOUT
> > + - 6 TAC5X1X_GPIO_P_DOUT2 - Primary ASI DOUT2
> > + - 7 TAC5X1X_GPIO_S_DOUT - Secondary ASI DOUT
> > + - 8 TAC5X1X_GPIO_S_DOUT2 - Secondary ASI DOUT2
> > + - 9 TAC5X1X_GPIO_S_BCLK - Secondary BCLK Output
> > + - 10 TAC5X1X_GPIO_S_FSYNC - Secondary FSYNC Output
> > + - 11 TAC5X1X_GPIO_CLKOUT - General Purpose Output
> > + - 12 TAC5X1X_GPIO_DOUT_MUX
> > + - 13 TAC5X1X_GPIO_DAISY_OUT
> > + $ref: /schemas/types.yaml#/definitions/uint32-array
> > + minItems: 3
> > + maxItems: 3
>
> Don't encode gpios and pins as some custom properties.
Could you please suggest what is the alternative.
Please suggest some example which I can refer ?
Regards
Niranjan
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v3 0/4] ASoc: tac5x1x: mixer-test report
@ 2025-06-26 18:13 Niranjan H Y
2025-06-26 18:13 ` [PATCH v3 2/4] dt-bindings: sound: bindings for tac5x1x family of codecs Niranjan H Y
0 siblings, 1 reply; 6+ messages in thread
From: Niranjan H Y @ 2025-06-26 18:13 UTC (permalink / raw)
To: broonie, krzk+dt, conor+dt
Cc: andriy.shevchenko, tiwai, alsa-devel, baojun.xu, shenghao-ding,
liam.r.girdwood, lgirdwood, robh, linux-sound, devicetree, navada,
v-hampiholi, niranjan.hy
mixer-test report:
TAP version 13
# Card 0/titac5x1xsoundc - ti,tac5x1x-soundcard (ti,tac5x1x-soundcard)
1..525
ok 1 get_value.titac5x1xsoundc.74
# titac5x1xsoundc.74 ASI_TX_CH4_EN Capture Switch
ok 2 name.titac5x1xsoundc.74
ok 3 write_default.titac5x1xsoundc.74
ok 4 write_valid.titac5x1xsoundc.74
ok 5 write_invalid.titac5x1xsoundc.74
ok 6 event_missing.titac5x1xsoundc.74
ok 7 event_spurious.titac5x1xsoundc.74
ok 8 get_value.titac5x1xsoundc.73
# titac5x1xsoundc.73 ASI_TX_CH3_EN Capture Switch
ok 9 name.titac5x1xsoundc.73
ok 10 write_default.titac5x1xsoundc.73
ok 11 write_valid.titac5x1xsoundc.73
ok 12 write_invalid.titac5x1xsoundc.73
ok 13 event_missing.titac5x1xsoundc.73
ok 14 event_spurious.titac5x1xsoundc.73
ok 15 get_value.titac5x1xsoundc.72
# titac5x1xsoundc.72 IN2 Source Mux
ok 16 name.titac5x1xsoundc.72
ok 17 write_default.titac5x1xsoundc.72
ok 18 write_valid.titac5x1xsoundc.72
ok 19 write_invalid.titac5x1xsoundc.72
ok 20 event_missing.titac5x1xsoundc.72
ok 21 event_spurious.titac5x1xsoundc.72
ok 22 get_value.titac5x1xsoundc.71
# titac5x1xsoundc.71 IN1 Source Mux
ok 23 name.titac5x1xsoundc.71
ok 24 write_default.titac5x1xsoundc.71
ok 25 write_valid.titac5x1xsoundc.71
ok 26 write_invalid.titac5x1xsoundc.71
ok 27 event_missing.titac5x1xsoundc.71
ok 28 event_spurious.titac5x1xsoundc.71
ok 29 get_value.titac5x1xsoundc.70
# titac5x1xsoundc.70 ADC2 Config
ok 30 name.titac5x1xsoundc.70
ok 31 write_default.titac5x1xsoundc.70
ok 32 write_valid.titac5x1xsoundc.70
ok 33 write_invalid.titac5x1xsoundc.70
ok 34 event_missing.titac5x1xsoundc.70
ok 35 event_spurious.titac5x1xsoundc.70
ok 36 get_value.titac5x1xsoundc.69
# titac5x1xsoundc.69 ADC2 Full-Scale
ok 37 name.titac5x1xsoundc.69
ok 38 write_default.titac5x1xsoundc.69
ok 39 write_valid.titac5x1xsoundc.69
ok 40 write_invalid.titac5x1xsoundc.69
ok 41 event_missing.titac5x1xsoundc.69
ok 42 event_spurious.titac5x1xsoundc.69
ok 43 get_value.titac5x1xsoundc.68
# titac5x1xsoundc.68 ASI_RX_CH2_EN Switch
ok 44 name.titac5x1xsoundc.68
ok 45 write_default.titac5x1xsoundc.68
ok 46 write_valid.titac5x1xsoundc.68
ok 47 write_invalid.titac5x1xsoundc.68
ok 48 event_missing.titac5x1xsoundc.68
ok 49 event_spurious.titac5x1xsoundc.68
ok 50 get_value.titac5x1xsoundc.67
# titac5x1xsoundc.67 OUT2x Driver
ok 51 name.titac5x1xsoundc.67
ok 52 write_default.titac5x1xsoundc.67
ok 53 write_valid.titac5x1xsoundc.67
ok 54 write_invalid.titac5x1xsoundc.67
ok 55 event_missing.titac5x1xsoundc.67
ok 56 event_spurious.titac5x1xsoundc.67
ok 57 get_value.titac5x1xsoundc.66
# titac5x1xsoundc.66 OUT2x Config
ok 58 name.titac5x1xsoundc.66
ok 59 write_default.titac5x1xsoundc.66
ok 60 write_valid.titac5x1xsoundc.66
ok 61 write_invalid.titac5x1xsoundc.66
ok 62 event_missing.titac5x1xsoundc.66
ok 63 event_spurious.titac5x1xsoundc.66
ok 64 get_value.titac5x1xsoundc.65
# titac5x1xsoundc.65 OUT2x Source
ok 65 name.titac5x1xsoundc.65
ok 66 write_default.titac5x1xsoundc.65
ok 67 write_valid.titac5x1xsoundc.65
ok 68 write_invalid.titac5x1xsoundc.65
ok 69 event_missing.titac5x1xsoundc.65
ok 70 event_spurious.titac5x1xsoundc.65
ok 71 get_value.titac5x1xsoundc.64
# titac5x1xsoundc.64 ASI_RX_CH1_EN Switch
ok 72 name.titac5x1xsoundc.64
ok 73 write_default.titac5x1xsoundc.64
ok 74 write_valid.titac5x1xsoundc.64
ok 75 write_invalid.titac5x1xsoundc.64
ok 76 event_missing.titac5x1xsoundc.64
ok 77 event_spurious.titac5x1xsoundc.64
ok 78 get_value.titac5x1xsoundc.63
# titac5x1xsoundc.63 OUT1x Driver
ok 79 name.titac5x1xsoundc.63
ok 80 write_default.titac5x1xsoundc.63
ok 81 write_valid.titac5x1xsoundc.63
ok 82 write_invalid.titac5x1xsoundc.63
ok 83 event_missing.titac5x1xsoundc.63
ok 84 event_spurious.titac5x1xsoundc.63
ok 85 get_value.titac5x1xsoundc.62
# titac5x1xsoundc.62 OUT1x Config
ok 86 name.titac5x1xsoundc.62
ok 87 write_default.titac5x1xsoundc.62
ok 88 write_valid.titac5x1xsoundc.62
ok 89 write_invalid.titac5x1xsoundc.62
ok 90 event_missing.titac5x1xsoundc.62
ok 91 event_spurious.titac5x1xsoundc.62
ok 92 get_value.titac5x1xsoundc.61
# titac5x1xsoundc.61 OUT1x Source
ok 93 name.titac5x1xsoundc.61
ok 94 write_default.titac5x1xsoundc.61
ok 95 write_valid.titac5x1xsoundc.61
ok 96 write_invalid.titac5x1xsoundc.61
ok 97 event_missing.titac5x1xsoundc.61
ok 98 event_spurious.titac5x1xsoundc.61
ok 99 get_value.titac5x1xsoundc.60
# titac5x1xsoundc.60 ASI_TX_CH2_EN Capture Switch
ok 100 name.titac5x1xsoundc.60
ok 101 write_default.titac5x1xsoundc.60
ok 102 write_valid.titac5x1xsoundc.60
ok 103 write_invalid.titac5x1xsoundc.60
ok 104 event_missing.titac5x1xsoundc.60
ok 105 event_spurious.titac5x1xsoundc.60
ok 106 get_value.titac5x1xsoundc.59
# titac5x1xsoundc.59 ASI_TX_CH1_EN Capture Switch
ok 107 name.titac5x1xsoundc.59
ok 108 write_default.titac5x1xsoundc.59
ok 109 write_valid.titac5x1xsoundc.59
ok 110 write_invalid.titac5x1xsoundc.59
ok 111 event_missing.titac5x1xsoundc.59
ok 112 event_spurious.titac5x1xsoundc.59
ok 113 get_value.titac5x1xsoundc.58
# titac5x1xsoundc.58 ADC1 Config
ok 114 name.titac5x1xsoundc.58
ok 115 write_default.titac5x1xsoundc.58
ok 116 write_valid.titac5x1xsoundc.58
ok 117 write_invalid.titac5x1xsoundc.58
ok 118 event_missing.titac5x1xsoundc.58
ok 119 event_spurious.titac5x1xsoundc.58
ok 120 get_value.titac5x1xsoundc.57
# titac5x1xsoundc.57 ADC1 Full-Scale
ok 121 name.titac5x1xsoundc.57
ok 122 write_default.titac5x1xsoundc.57
ok 123 write_valid.titac5x1xsoundc.57
ok 124 write_invalid.titac5x1xsoundc.57
ok 125 event_missing.titac5x1xsoundc.57
ok 126 event_spurious.titac5x1xsoundc.57
ok 127 get_value.titac5x1xsoundc.56
# titac5x1xsoundc.56 IN_CH4_EN Capture Switch
ok 128 name.titac5x1xsoundc.56
ok 129 write_default.titac5x1xsoundc.56
ok 130 write_valid.titac5x1xsoundc.56
ok 131 write_invalid.titac5x1xsoundc.56
ok 132 event_missing.titac5x1xsoundc.56
ok 133 event_spurious.titac5x1xsoundc.56
ok 134 get_value.titac5x1xsoundc.55
# titac5x1xsoundc.55 IN_CH3_EN Capture Switch
ok 135 name.titac5x1xsoundc.55
ok 136 write_default.titac5x1xsoundc.55
ok 137 write_valid.titac5x1xsoundc.55
ok 138 write_invalid.titac5x1xsoundc.55
ok 139 event_missing.titac5x1xsoundc.55
ok 140 event_spurious.titac5x1xsoundc.55
ok 141 get_value.titac5x1xsoundc.54
# titac5x1xsoundc.54 IN_CH2_EN Capture Switch
ok 142 name.titac5x1xsoundc.54
ok 143 write_default.titac5x1xsoundc.54
ok 144 write_valid.titac5x1xsoundc.54
ok 145 write_invalid.titac5x1xsoundc.54
ok 146 event_missing.titac5x1xsoundc.54
ok 147 event_spurious.titac5x1xsoundc.54
ok 148 get_value.titac5x1xsoundc.53
# titac5x1xsoundc.53 IN_CH1_EN Capture Switch
ok 149 name.titac5x1xsoundc.53
ok 150 write_default.titac5x1xsoundc.53
ok 151 write_valid.titac5x1xsoundc.53
ok 152 write_invalid.titac5x1xsoundc.53
ok 153 event_missing.titac5x1xsoundc.53
ok 154 event_spurious.titac5x1xsoundc.53
ok 155 get_value.titac5x1xsoundc.52
# titac5x1xsoundc.52 ASI_TX_CH8_CFG
ok 156 name.titac5x1xsoundc.52
ok 157 write_default.titac5x1xsoundc.52
ok 158 write_valid.titac5x1xsoundc.52
ok 159 write_invalid.titac5x1xsoundc.52
ok 160 event_missing.titac5x1xsoundc.52
ok 161 event_spurious.titac5x1xsoundc.52
ok 162 get_value.titac5x1xsoundc.51
# titac5x1xsoundc.51 ASI_TX_CH7_CFG
ok 163 name.titac5x1xsoundc.51
ok 164 write_default.titac5x1xsoundc.51
ok 165 write_valid.titac5x1xsoundc.51
ok 166 write_invalid.titac5x1xsoundc.51
ok 167 event_missing.titac5x1xsoundc.51
ok 168 event_spurious.titac5x1xsoundc.51
ok 169 get_value.titac5x1xsoundc.50
# titac5x1xsoundc.50 ASI_TX_CH6_CFG
ok 170 name.titac5x1xsoundc.50
ok 171 write_default.titac5x1xsoundc.50
ok 172 write_valid.titac5x1xsoundc.50
ok 173 write_invalid.titac5x1xsoundc.50
ok 174 event_missing.titac5x1xsoundc.50
ok 175 event_spurious.titac5x1xsoundc.50
ok 176 get_value.titac5x1xsoundc.49
# titac5x1xsoundc.49 ASI_TX_CH5_CFG
ok 177 name.titac5x1xsoundc.49
ok 178 write_default.titac5x1xsoundc.49
ok 179 write_valid.titac5x1xsoundc.49
ok 180 write_invalid.titac5x1xsoundc.49
ok 181 event_missing.titac5x1xsoundc.49
ok 182 event_spurious.titac5x1xsoundc.49
ok 183 get_value.titac5x1xsoundc.48
# titac5x1xsoundc.48 ADC1 Phase Capture Volume
ok 184 name.titac5x1xsoundc.48
ok 185 write_default.titac5x1xsoundc.48
ok 186 write_valid.titac5x1xsoundc.48
ok 187 write_invalid.titac5x1xsoundc.48
ok 188 event_missing.titac5x1xsoundc.48
ok 189 event_spurious.titac5x1xsoundc.48
ok 190 get_value.titac5x1xsoundc.47
# titac5x1xsoundc.47 ADC1 Fine Capture Volume
ok 191 name.titac5x1xsoundc.47
ok 192 write_default.titac5x1xsoundc.47
ok 193 write_valid.titac5x1xsoundc.47
ok 194 write_invalid.titac5x1xsoundc.47
ok 195 event_missing.titac5x1xsoundc.47
ok 196 event_spurious.titac5x1xsoundc.47
ok 197 get_value.titac5x1xsoundc.46
# titac5x1xsoundc.46 ADC1 Digital Capture Volume
ok 198 name.titac5x1xsoundc.46
ok 199 write_default.titac5x1xsoundc.46
ok 200 write_valid.titac5x1xsoundc.46
ok 201 write_invalid.titac5x1xsoundc.46
ok 202 event_missing.titac5x1xsoundc.46
ok 203 event_spurious.titac5x1xsoundc.46
ok 204 get_value.titac5x1xsoundc.45
# titac5x1xsoundc.45 ADC1 Audio BW
ok 205 name.titac5x1xsoundc.45
ok 206 write_default.titac5x1xsoundc.45
ok 207 write_valid.titac5x1xsoundc.45
ok 208 write_invalid.titac5x1xsoundc.45
ok 209 event_missing.titac5x1xsoundc.45
ok 210 event_spurious.titac5x1xsoundc.45
ok 211 get_value.titac5x1xsoundc.44
# titac5x1xsoundc.44 Record Decimation Filter
ok 212 name.titac5x1xsoundc.44
ok 213 write_default.titac5x1xsoundc.44
ok 214 write_valid.titac5x1xsoundc.44
ok 215 write_invalid.titac5x1xsoundc.44
ok 216 event_missing.titac5x1xsoundc.44
ok 217 event_spurious.titac5x1xsoundc.44
ok 218 get_value.titac5x1xsoundc.43
# titac5x1xsoundc.43 PDM4 Phase Capture Volume
ok 219 name.titac5x1xsoundc.43
ok 220 write_default.titac5x1xsoundc.43
ok 221 write_valid.titac5x1xsoundc.43
ok 222 write_invalid.titac5x1xsoundc.43
ok 223 event_missing.titac5x1xsoundc.43
ok 224 event_spurious.titac5x1xsoundc.43
ok 225 get_value.titac5x1xsoundc.42
# titac5x1xsoundc.42 PDM3 Phase Capture Volume
ok 226 name.titac5x1xsoundc.42
ok 227 write_default.titac5x1xsoundc.42
ok 228 write_valid.titac5x1xsoundc.42
ok 229 write_invalid.titac5x1xsoundc.42
ok 230 event_missing.titac5x1xsoundc.42
ok 231 event_spurious.titac5x1xsoundc.42
ok 232 get_value.titac5x1xsoundc.41
# titac5x1xsoundc.41 PDM4 Fine Capture Volume
ok 233 name.titac5x1xsoundc.41
ok 234 write_default.titac5x1xsoundc.41
ok 235 write_valid.titac5x1xsoundc.41
ok 236 write_invalid.titac5x1xsoundc.41
ok 237 event_missing.titac5x1xsoundc.41
ok 238 event_spurious.titac5x1xsoundc.41
ok 239 get_value.titac5x1xsoundc.40
# titac5x1xsoundc.40 PDM3 Fine Capture Volume
ok 240 name.titac5x1xsoundc.40
ok 241 write_default.titac5x1xsoundc.40
ok 242 write_valid.titac5x1xsoundc.40
ok 243 write_invalid.titac5x1xsoundc.40
ok 244 event_missing.titac5x1xsoundc.40
ok 245 event_spurious.titac5x1xsoundc.40
ok 246 get_value.titac5x1xsoundc.39
# titac5x1xsoundc.39 PDM4 Digital Capture Volume
ok 247 name.titac5x1xsoundc.39
ok 248 write_default.titac5x1xsoundc.39
ok 249 write_valid.titac5x1xsoundc.39
ok 250 write_invalid.titac5x1xsoundc.39
ok 251 event_missing.titac5x1xsoundc.39
ok 252 event_spurious.titac5x1xsoundc.39
ok 253 get_value.titac5x1xsoundc.38
# titac5x1xsoundc.38 PDM3 Digital Capture Volume
ok 254 name.titac5x1xsoundc.38
ok 255 write_default.titac5x1xsoundc.38
ok 256 write_valid.titac5x1xsoundc.38
ok 257 write_invalid.titac5x1xsoundc.38
ok 258 event_missing.titac5x1xsoundc.38
ok 259 event_spurious.titac5x1xsoundc.38
ok 260 get_value.titac5x1xsoundc.37
# titac5x1xsoundc.37 PDM2 Phase Capture Volume
ok 261 name.titac5x1xsoundc.37
ok 262 write_default.titac5x1xsoundc.37
ok 263 write_valid.titac5x1xsoundc.37
ok 264 write_invalid.titac5x1xsoundc.37
ok 265 event_missing.titac5x1xsoundc.37
ok 266 event_spurious.titac5x1xsoundc.37
ok 267 get_value.titac5x1xsoundc.36
# titac5x1xsoundc.36 PDM1 Phase Capture Volume
ok 268 name.titac5x1xsoundc.36
ok 269 write_default.titac5x1xsoundc.36
ok 270 write_valid.titac5x1xsoundc.36
ok 271 write_invalid.titac5x1xsoundc.36
ok 272 event_missing.titac5x1xsoundc.36
ok 273 event_spurious.titac5x1xsoundc.36
ok 274 get_value.titac5x1xsoundc.35
# titac5x1xsoundc.35 PDM2 Fine Capture Volume
ok 275 name.titac5x1xsoundc.35
ok 276 write_default.titac5x1xsoundc.35
ok 277 write_valid.titac5x1xsoundc.35
ok 278 write_invalid.titac5x1xsoundc.35
ok 279 event_missing.titac5x1xsoundc.35
ok 280 event_spurious.titac5x1xsoundc.35
ok 281 get_value.titac5x1xsoundc.34
# titac5x1xsoundc.34 PDM1 Fine Capture Volume
ok 282 name.titac5x1xsoundc.34
ok 283 write_default.titac5x1xsoundc.34
ok 284 write_valid.titac5x1xsoundc.34
ok 285 write_invalid.titac5x1xsoundc.34
ok 286 event_missing.titac5x1xsoundc.34
ok 287 event_spurious.titac5x1xsoundc.34
ok 288 get_value.titac5x1xsoundc.33
# titac5x1xsoundc.33 PDM2 Digital Capture Volume
ok 289 name.titac5x1xsoundc.33
ok 290 write_default.titac5x1xsoundc.33
ok 291 write_valid.titac5x1xsoundc.33
ok 292 write_invalid.titac5x1xsoundc.33
ok 293 event_missing.titac5x1xsoundc.33
ok 294 event_spurious.titac5x1xsoundc.33
ok 295 get_value.titac5x1xsoundc.32
# titac5x1xsoundc.32 PDM1 Digital Capture Volume
ok 296 name.titac5x1xsoundc.32
ok 297 write_default.titac5x1xsoundc.32
ok 298 write_valid.titac5x1xsoundc.32
ok 299 write_invalid.titac5x1xsoundc.32
ok 300 event_missing.titac5x1xsoundc.32
ok 301 event_spurious.titac5x1xsoundc.32
ok 302 get_value.titac5x1xsoundc.31
# titac5x1xsoundc.31 PDM Clk Divider
ok 303 name.titac5x1xsoundc.31
ok 304 write_default.titac5x1xsoundc.31
ok 305 write_valid.titac5x1xsoundc.31
ok 306 write_invalid.titac5x1xsoundc.31
ok 307 event_missing.titac5x1xsoundc.31
ok 308 event_spurious.titac5x1xsoundc.31
ok 309 get_value.titac5x1xsoundc.30
# titac5x1xsoundc.30 DAC2 Audio BW
ok 310 name.titac5x1xsoundc.30
ok 311 write_default.titac5x1xsoundc.30
ok 312 write_valid.titac5x1xsoundc.30
ok 313 write_invalid.titac5x1xsoundc.30
ok 314 event_missing.titac5x1xsoundc.30
ok 315 event_spurious.titac5x1xsoundc.30
ok 316 get_value.titac5x1xsoundc.29
# titac5x1xsoundc.29 DAC2 CHB Gain Calibration Playback Volume
ok 317 name.titac5x1xsoundc.29
ok 318 write_default.titac5x1xsoundc.29
ok 319 write_valid.titac5x1xsoundc.29
ok 320 write_invalid.titac5x1xsoundc.29
ok 321 event_missing.titac5x1xsoundc.29
ok 322 event_spurious.titac5x1xsoundc.29
ok 323 get_value.titac5x1xsoundc.28
# titac5x1xsoundc.28 DAC2 CHA Gain Calibration Playback Volume
ok 324 name.titac5x1xsoundc.28
ok 325 write_default.titac5x1xsoundc.28
ok 326 write_valid.titac5x1xsoundc.28
ok 327 write_invalid.titac5x1xsoundc.28
ok 328 event_missing.titac5x1xsoundc.28
ok 329 event_spurious.titac5x1xsoundc.28
ok 330 get_value.titac5x1xsoundc.27
# titac5x1xsoundc.27 DAC2 CHB Digital Playback Volume
ok 331 name.titac5x1xsoundc.27
ok 332 write_default.titac5x1xsoundc.27
ok 333 write_valid.titac5x1xsoundc.27
ok 334 write_invalid.titac5x1xsoundc.27
ok 335 event_missing.titac5x1xsoundc.27
ok 336 event_spurious.titac5x1xsoundc.27
ok 337 get_value.titac5x1xsoundc.26
# titac5x1xsoundc.26 DAC2 CHA Digital Playback Volume
ok 338 name.titac5x1xsoundc.26
ok 339 write_default.titac5x1xsoundc.26
ok 340 write_valid.titac5x1xsoundc.26
ok 341 write_invalid.titac5x1xsoundc.26
ok 342 event_missing.titac5x1xsoundc.26
ok 343 event_spurious.titac5x1xsoundc.26
ok 344 get_value.titac5x1xsoundc.25
# titac5x1xsoundc.25 OUT2M Analog Level Playback Volume
ok 345 name.titac5x1xsoundc.25
ok 346 write_default.titac5x1xsoundc.25
ok 347 write_valid.titac5x1xsoundc.25
ok 348 write_invalid.titac5x1xsoundc.25
ok 349 event_missing.titac5x1xsoundc.25
ok 350 event_spurious.titac5x1xsoundc.25
ok 351 get_value.titac5x1xsoundc.24
# titac5x1xsoundc.24 OUT2P Analog Level Playback Volume
ok 352 name.titac5x1xsoundc.24
ok 353 write_default.titac5x1xsoundc.24
ok 354 write_valid.titac5x1xsoundc.24
ok 355 write_invalid.titac5x1xsoundc.24
ok 356 event_missing.titac5x1xsoundc.24
ok 357 event_spurious.titac5x1xsoundc.24
ok 358 get_value.titac5x1xsoundc.23
# titac5x1xsoundc.23 ADC2 Phase Capture Volume
ok 359 name.titac5x1xsoundc.23
ok 360 write_default.titac5x1xsoundc.23
ok 361 write_valid.titac5x1xsoundc.23
ok 362 write_invalid.titac5x1xsoundc.23
ok 363 event_missing.titac5x1xsoundc.23
ok 364 event_spurious.titac5x1xsoundc.23
ok 365 get_value.titac5x1xsoundc.22
# titac5x1xsoundc.22 ADC2 Fine Capture Volume
ok 366 name.titac5x1xsoundc.22
ok 367 write_default.titac5x1xsoundc.22
ok 368 write_valid.titac5x1xsoundc.22
ok 369 write_invalid.titac5x1xsoundc.22
ok 370 event_missing.titac5x1xsoundc.22
ok 371 event_spurious.titac5x1xsoundc.22
ok 372 get_value.titac5x1xsoundc.21
# titac5x1xsoundc.21 ADC2 Digital Capture Volume
ok 373 name.titac5x1xsoundc.21
ok 374 write_default.titac5x1xsoundc.21
ok 375 write_valid.titac5x1xsoundc.21
ok 376 write_invalid.titac5x1xsoundc.21
ok 377 event_missing.titac5x1xsoundc.21
ok 378 event_spurious.titac5x1xsoundc.21
ok 379 get_value.titac5x1xsoundc.20
# titac5x1xsoundc.20 ADC2 Audio BW
ok 380 name.titac5x1xsoundc.20
ok 381 write_default.titac5x1xsoundc.20
ok 382 write_valid.titac5x1xsoundc.20
ok 383 write_invalid.titac5x1xsoundc.20
ok 384 event_missing.titac5x1xsoundc.20
ok 385 event_spurious.titac5x1xsoundc.20
ok 386 get_value.titac5x1xsoundc.19
# titac5x1xsoundc.19 OUT_CH4_EN Playback Switch
ok 387 name.titac5x1xsoundc.19
ok 388 write_default.titac5x1xsoundc.19
ok 389 write_valid.titac5x1xsoundc.19
ok 390 write_invalid.titac5x1xsoundc.19
ok 391 event_missing.titac5x1xsoundc.19
ok 392 event_spurious.titac5x1xsoundc.19
ok 393 get_value.titac5x1xsoundc.18
# titac5x1xsoundc.18 OUT_CH3_EN Playback Switch
ok 394 name.titac5x1xsoundc.18
ok 395 write_default.titac5x1xsoundc.18
ok 396 write_valid.titac5x1xsoundc.18
ok 397 write_invalid.titac5x1xsoundc.18
ok 398 event_missing.titac5x1xsoundc.18
ok 399 event_spurious.titac5x1xsoundc.18
ok 400 get_value.titac5x1xsoundc.17
# titac5x1xsoundc.17 OUT_CH2_EN Playback Switch
ok 401 name.titac5x1xsoundc.17
ok 402 write_default.titac5x1xsoundc.17
ok 403 write_valid.titac5x1xsoundc.17
ok 404 write_invalid.titac5x1xsoundc.17
ok 405 event_missing.titac5x1xsoundc.17
ok 406 event_spurious.titac5x1xsoundc.17
ok 407 get_value.titac5x1xsoundc.16
# titac5x1xsoundc.16 OUT_CH1_EN Playback Switch
ok 408 name.titac5x1xsoundc.16
ok 409 write_default.titac5x1xsoundc.16
ok 410 write_valid.titac5x1xsoundc.16
ok 411 write_invalid.titac5x1xsoundc.16
ok 412 event_missing.titac5x1xsoundc.16
ok 413 event_spurious.titac5x1xsoundc.16
ok 414 get_value.titac5x1xsoundc.15
# titac5x1xsoundc.15 ASI_RX_CH8_EN Playback
ok 415 name.titac5x1xsoundc.15
ok 416 write_default.titac5x1xsoundc.15
ok 417 write_valid.titac5x1xsoundc.15
ok 418 write_invalid.titac5x1xsoundc.15
ok 419 event_missing.titac5x1xsoundc.15
ok 420 event_spurious.titac5x1xsoundc.15
ok 421 get_value.titac5x1xsoundc.14
# titac5x1xsoundc.14 ASI_RX_CH7_EN Playback
ok 422 name.titac5x1xsoundc.14
ok 423 write_default.titac5x1xsoundc.14
ok 424 write_valid.titac5x1xsoundc.14
ok 425 write_invalid.titac5x1xsoundc.14
ok 426 event_missing.titac5x1xsoundc.14
ok 427 event_spurious.titac5x1xsoundc.14
ok 428 get_value.titac5x1xsoundc.13
# titac5x1xsoundc.13 ASI_RX_CH6_EN Playback
ok 429 name.titac5x1xsoundc.13
ok 430 write_default.titac5x1xsoundc.13
ok 431 write_valid.titac5x1xsoundc.13
ok 432 write_invalid.titac5x1xsoundc.13
ok 433 event_missing.titac5x1xsoundc.13
ok 434 event_spurious.titac5x1xsoundc.13
ok 435 get_value.titac5x1xsoundc.12
# titac5x1xsoundc.12 ASI_RX_CH5_EN Playback
ok 436 name.titac5x1xsoundc.12
ok 437 write_default.titac5x1xsoundc.12
ok 438 write_valid.titac5x1xsoundc.12
ok 439 write_invalid.titac5x1xsoundc.12
ok 440 event_missing.titac5x1xsoundc.12
ok 441 event_spurious.titac5x1xsoundc.12
ok 442 get_value.titac5x1xsoundc.11
# titac5x1xsoundc.11 ASI_RX_CH4_EN Playback Switch
ok 443 name.titac5x1xsoundc.11
ok 444 write_default.titac5x1xsoundc.11
ok 445 write_valid.titac5x1xsoundc.11
ok 446 write_invalid.titac5x1xsoundc.11
ok 447 event_missing.titac5x1xsoundc.11
ok 448 event_spurious.titac5x1xsoundc.11
ok 449 get_value.titac5x1xsoundc.10
# titac5x1xsoundc.10 ASI_RX_CH3_EN Playback Switch
ok 450 name.titac5x1xsoundc.10
ok 451 write_default.titac5x1xsoundc.10
ok 452 write_valid.titac5x1xsoundc.10
ok 453 write_invalid.titac5x1xsoundc.10
ok 454 event_missing.titac5x1xsoundc.10
ok 455 event_spurious.titac5x1xsoundc.10
ok 456 get_value.titac5x1xsoundc.9
# titac5x1xsoundc.9 DAC1 CHB Gain Calibration Playback Volume
ok 457 name.titac5x1xsoundc.9
ok 458 write_default.titac5x1xsoundc.9
ok 459 write_valid.titac5x1xsoundc.9
ok 460 write_invalid.titac5x1xsoundc.9
ok 461 event_missing.titac5x1xsoundc.9
ok 462 event_spurious.titac5x1xsoundc.9
ok 463 get_value.titac5x1xsoundc.8
# titac5x1xsoundc.8 DAC1 CHA Gain Calibration Playback Volume
ok 464 name.titac5x1xsoundc.8
ok 465 write_default.titac5x1xsoundc.8
ok 466 write_valid.titac5x1xsoundc.8
ok 467 write_invalid.titac5x1xsoundc.8
ok 468 event_missing.titac5x1xsoundc.8
ok 469 event_spurious.titac5x1xsoundc.8
ok 470 get_value.titac5x1xsoundc.7
# titac5x1xsoundc.7 DAC1 CHB Digital Playback Volume
ok 471 name.titac5x1xsoundc.7
ok 472 write_default.titac5x1xsoundc.7
ok 473 write_valid.titac5x1xsoundc.7
ok 474 write_invalid.titac5x1xsoundc.7
ok 475 event_missing.titac5x1xsoundc.7
ok 476 event_spurious.titac5x1xsoundc.7
ok 477 get_value.titac5x1xsoundc.6
# titac5x1xsoundc.6 DAC1 CHA Digital Playback Volume
ok 478 name.titac5x1xsoundc.6
ok 479 write_default.titac5x1xsoundc.6
ok 480 write_valid.titac5x1xsoundc.6
ok 481 write_invalid.titac5x1xsoundc.6
ok 482 event_missing.titac5x1xsoundc.6
ok 483 event_spurious.titac5x1xsoundc.6
ok 484 get_value.titac5x1xsoundc.5
# titac5x1xsoundc.5 OUT1M Analog Level Playback Volume
ok 485 name.titac5x1xsoundc.5
ok 486 write_default.titac5x1xsoundc.5
ok 487 write_valid.titac5x1xsoundc.5
ok 488 write_invalid.titac5x1xsoundc.5
ok 489 event_missing.titac5x1xsoundc.5
ok 490 event_spurious.titac5x1xsoundc.5
ok 491 get_value.titac5x1xsoundc.4
# titac5x1xsoundc.4 OUT1P Analog Level Playback Volume
ok 492 name.titac5x1xsoundc.4
ok 493 write_default.titac5x1xsoundc.4
ok 494 write_valid.titac5x1xsoundc.4
ok 495 write_invalid.titac5x1xsoundc.4
ok 496 event_missing.titac5x1xsoundc.4
ok 497 event_spurious.titac5x1xsoundc.4
ok 498 get_value.titac5x1xsoundc.3
# titac5x1xsoundc.3 DAC1 Audio BW
ok 499 name.titac5x1xsoundc.3
ok 500 write_default.titac5x1xsoundc.3
ok 501 write_valid.titac5x1xsoundc.3
ok 502 write_invalid.titac5x1xsoundc.3
ok 503 event_missing.titac5x1xsoundc.3
ok 504 event_spurious.titac5x1xsoundc.3
ok 505 get_value.titac5x1xsoundc.2
# titac5x1xsoundc.2 Playback Decimation Filter
ok 506 name.titac5x1xsoundc.2
ok 507 write_default.titac5x1xsoundc.2
ok 508 write_valid.titac5x1xsoundc.2
ok 509 write_invalid.titac5x1xsoundc.2
ok 510 event_missing.titac5x1xsoundc.2
ok 511 event_spurious.titac5x1xsoundc.2
ok 512 get_value.titac5x1xsoundc.1
# titac5x1xsoundc.1 ADC2 Common-mode Tolerance
ok 513 name.titac5x1xsoundc.1
ok 514 write_default.titac5x1xsoundc.1
ok 515 write_valid.titac5x1xsoundc.1
ok 516 write_invalid.titac5x1xsoundc.1
ok 517 event_missing.titac5x1xsoundc.1
ok 518 event_spurious.titac5x1xsoundc.1
ok 519 get_value.titac5x1xsoundc.0
# titac5x1xsoundc.0 ADC1 Common-mode Tolerance
ok 520 name.titac5x1xsoundc.0
ok 521 write_default.titac5x1xsoundc.0
ok 522 write_valid.titac5x1xsoundc.0
ok 523 write_invalid.titac5x1xsoundc.0
ok 524 event_missing.titac5x1xsoundc.0
ok 525 event_spurious.titac5x1xsoundc.0
# Totals: pass:525 fail:0 xfail:0 xpass:0 skip:0 error:0
Signed-off-by: Niranjan H Y <niranjan.hy@ti.com>
Niranjan H Y (4):
ASoc: tac5x1x: add codec driver tac5x1x family
dt-bindings: sound: bindings for tac5x1x family of codecs
Asoc: pcm6240: remove support for taac5x1x family
dt-bindings: sound: device support list for pcm6240
.../devicetree/bindings/sound/ti,pcm6240.yaml | 10 -
.../devicetree/bindings/sound/ti,tac5x1x.yaml | 262 ++
sound/soc/codecs/Kconfig | 12 +
sound/soc/codecs/Makefile | 2 +
sound/soc/codecs/pcm6240.c | 126 +-
sound/soc/codecs/pcm6240.h | 4 -
sound/soc/codecs/tac5x1x-i2c.c | 2137 +++++++++++++++++
sound/soc/codecs/tac5x1x.h | 300 +++
8 files changed, 2716 insertions(+), 137 deletions(-)
create mode 100644 Documentation/devicetree/bindings/sound/ti,tac5x1x.yaml
create mode 100644 sound/soc/codecs/tac5x1x-i2c.c
create mode 100644 sound/soc/codecs/tac5x1x.h
--
2.45.2
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v3 2/4] dt-bindings: sound: bindings for tac5x1x family of codecs
2025-06-26 18:13 [PATCH v3 0/4] ASoc: tac5x1x: mixer-test report Niranjan H Y
@ 2025-06-26 18:13 ` Niranjan H Y
2025-06-26 19:39 ` Rob Herring (Arm)
2025-06-27 7:48 ` Krzysztof Kozlowski
0 siblings, 2 replies; 6+ messages in thread
From: Niranjan H Y @ 2025-06-26 18:13 UTC (permalink / raw)
To: broonie, krzk+dt, conor+dt
Cc: andriy.shevchenko, tiwai, alsa-devel, baojun.xu, shenghao-ding,
liam.r.girdwood, lgirdwood, robh, linux-sound, devicetree, navada,
v-hampiholi, niranjan.hy
tac5x1x family are series of low-power and high performance
mono/stereo audio codecs consists of ADC and DAC combinations.
The family consist of Codecs(DAC & ADC), ADC only and DAC only
configurations. The documentation explains the list of devices
in the family, their power supply configurations and gpio
configuration options available for various functionality.
Signed-off-by: Niranjan H Y <niranjan.hy@ti.com>
---
v2:
- Document newly added dts entries ti,adc1-impedance,
ti,adc2-impedance, ti,out2x-vcom-cfg
v3:
- add documentation for ti,pdm-input-pins
- Update required section
---
.../devicetree/bindings/sound/ti,tac5x1x.yaml | 262 ++++++++++++++++++
1 file changed, 262 insertions(+)
create mode 100644 Documentation/devicetree/bindings/sound/ti,tac5x1x.yaml
diff --git a/Documentation/devicetree/bindings/sound/ti,tac5x1x.yaml b/Documentation/devicetree/bindings/sound/ti,tac5x1x.yaml
new file mode 100644
index 000000000000..5fea6513f97f
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/ti,tac5x1x.yaml
@@ -0,0 +1,262 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+# Copyright (C) 2025 Texas Instruments Incorporated
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/ti,tac5x1x.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments TAC5X1X Codec
+
+description: |
+ TAC5X1X are series of low-power and high performance mono or stereo
+ audio codecs, as well as multiple inputs and outputs programmable in
+ single-ended or fully differential configurations. Device supports both
+ Microphone and Line In input on ADC Channel. DAC Output can be configured
+ for either Line Out or Head Phone Load.
+
+ The serial control bus supports SPI or I2C protocols, while the serial audio
+ data bus is programmable for I2S, left/right-justified, DSP, or TDM modes.
+
+ Specification about the codecs can be found at:
+ https://www.ti.com/lit/gpn/taa5212
+ https://www.ti.com/lit/gpn/taa5412-q1
+ https://www.ti.com/lit/gpn/tac5111
+ https://www.ti.com/lit/gpn/tac5112
+ https://www.ti.com/lit/gpn/tac5211
+ https://www.ti.com/lit/gpn/tac5212
+ https://www.ti.com/lit/gpn/tac5311-q1
+ https://www.ti.com/lit/gpn/tac5312-q1
+ https://www.ti.com/lit/gpn/tac5411-q1
+ https://www.ti.com/lit/gpn/tac5412-q1
+ https://www.ti.com/lit/gpn/tad5112
+ https://www.ti.com/lit/gpn/tad5212
+
+maintainers:
+ - Niranjan H Y <niranjan.hy@ti.com>
+ - Kevin Lu <kevin-lu@ti.com>
+
+properties:
+ compatible:
+ enum:
+ - ti,taa5212
+ - ti,taa5412
+ - ti,tac5111
+ - ti,tac5112
+ - ti,tac5211
+ - ti,tac5212
+ - ti,tac5311
+ - ti,tac5312
+ - ti,tac5411
+ - ti,tac5412
+ - ti,tad5112
+ - ti,tad5212
+
+ reg:
+ maxItems: 1
+
+ ti,vref:
+ description: VREF required voltage. If node is omitted then VREF is powered down.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ oneOf:
+ - const: 0
+ description: VREF output is powered to 2.75V.
+ - const: 1
+ description: VREF output is powered to 2.5V.
+ - const: 2
+ description: VREF output is powered to 1.375V.
+
+ ti,micbias-vg:
+ description: MicBias required voltage. If node is omitted then MicBias is powered down.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ oneOf:
+ - const: 0
+ description: MICBIAS output is same as the VREF output
+ - const: 1
+ description: MICBIAS output is 0.5 times the VREF output
+ - const: 3
+ description: MICBIAS output is same as the AVDD
+
+ avdd-supply:
+ description: Analog DAC voltage.
+
+ iovdd-supply:
+ description: I/O voltage.
+
+ ti,gpios-func:
+ description: |
+ Array indicating the GPIO1, GPIO2, GPO1 Functionality in the same order.
+ Each integer elemnent in the array represent the following
+ - 0 TAC5X1X_GPIO_DISABLE - GPIO is Disabled
+ - 1 TAC5X1X_GPIO_GPI - General Purpose Input
+ - 2 ADC3XXX_GPIO_GPO - General Purpose Output
+ - 3 TAC5X1X_GPIO_IRQ - Chip Interrupt
+ - 4 TAC5X1X_GPIO_PDMCLK - PDM CLK Output
+ - 5 TAC5X1X_GPIO_P_DOUT - Primary ASI DOUT
+ - 6 TAC5X1X_GPIO_P_DOUT2 - Primary ASI DOUT2
+ - 7 TAC5X1X_GPIO_S_DOUT - Secondary ASI DOUT
+ - 8 TAC5X1X_GPIO_S_DOUT2 - Secondary ASI DOUT2
+ - 9 TAC5X1X_GPIO_S_BCLK - Secondary BCLK Output
+ - 10 TAC5X1X_GPIO_S_FSYNC - Secondary FSYNC Output
+ - 11 TAC5X1X_GPIO_CLKOUT - General Purpose Output
+ - 12 TAC5X1X_GPIO_DOUT_MUX
+ - 13 TAC5X1X_GPIO_DAISY_OUT
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ minItems: 3
+ maxItems: 3
+
+ ti,gpios-drive:
+ description: |
+ Array indicating the GPIO1, GPIO2, GPO1 Driver values
+ Each number in the array indicate the following driver values.
+ - 0 # Hi-Z Output
+ - 1 # Drive active low and active High
+ - 2 # Drive active low and weak High
+ - 3 # Drive acive low and Hi-Z
+ - 4 # Drive weak low and active High
+ - 5 # Drive Hi-Z and active High
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ minItems: 3
+ maxItems: 3
+
+ ti,pdm-input-pins:
+ description: |
+ Array indicating the PDM Data Input for "Ch1 & Ch2" and "Ch3 & Ch4"
+ respectively. Each number in the array indicate the following
+ - 0 # PDM input disabled
+ - 1 # PDM input GPIO1
+ - 2 # PDM input GPIO2
+ - 3 # PDM input GPI1
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ minItems: 2
+ maxItems: 2
+
+ ti,gpi1-func:
+ description: GPI1 Functionality
+ $ref: /schemas/types.yaml#/definitions/uint32
+ enum:
+ - 0 # TAC5X1X_GPIO_DISABLE - I/O buffers powered down and not used
+ - 1 # TAC5X1X_GPIO_GPI - General purpose input
+ default: 0
+
+ '#sound-dai-cells':
+ const: 0
+
+ clocks:
+ maxItems: 1
+
+ ti,gpa-gpio:
+ description: GPA using GPIO1 configuration
+ $ref: /schemas/types.yaml#/definitions/uint32
+ enum:
+ - 0 # GPA using GPIO1 is disabled
+ - 1 # GPA using GPIO1
+ default: 0
+
+ ti,in-ch-en:
+ description: Enable Input channel diagnostics for TAC54XX and TAC53XX device.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ enum:
+ - 0 # Disable input channel diagnostics
+ - 1 # Enable input channel diagnostics
+
+ ti,out-ch-en:
+ description: Enable Output channel diagnostics for TAC54XX and TAC53XX device
+ $ref: /schemas/types.yaml#/definitions/uint32
+ enum:
+ - 0 # Disable Output channel diagnostics
+ - 1 # Enable Output channel Diagnostics
+
+ ti,incl-se-inm:
+ description: INxM pin Diagnostics Scan Selection for Single Ended Configuration
+ $ref: /schemas/types.yaml#/definitions/uint32
+ enum:
+ - 0 # INxM pin Diagnostics Scan Selection for Single Ended excluded for diagnosis
+ - 1 # INxM pin Diagnostics Scan Selection for Single Ended included for diagnosis
+
+ ti,incl-ac-coup:
+ description: AC coupled channels pins Scan Selection for Diagnostics
+ $ref: /schemas/types.yaml#/definitions/uint32
+ enum:
+ - 0 # AC coupled channels pins Scan Selection for Diagnostics exluded for diagnosis
+ - 1 # AC coupled channels pins Scan Selection for Diagnostics included for diagnosis
+
+ ti,micbias-threshold:
+ description: Micbias Low and High threshold values for TAC54XX and TAC53XX series
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ maxItems: 2
+ minItems: 2
+ items:
+ minimum: 72
+ maximum: 162
+
+ ti,gpa-threshold:
+ description: GPA Low and High threshold Values
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ maxItems: 2
+ minItems: 2
+ items:
+ minimum: 75
+ maximum: 186
+
+ ti,adc1-impedance:
+ description: Channel 1 Input Impedance Value
+ $ref: /schemas/types.yaml#/definitions/uint32
+ enum:
+ - 0 # 5 kOhm
+ - 1 # 10 kOhm
+ - 2 # 40 kOhm
+ default: 0
+
+ ti,adc2-impedance:
+ description: Channel 2 Input Impedance Value
+ $ref: /schemas/types.yaml#/definitions/uint32
+ enum:
+ - 0 # 5 kOhm
+ - 1 # 10 kOhm
+ - 2 # 40 kOhm
+ default: 0
+
+ ti,out2x-vcom-cfg:
+ description: Channel OUT2x VCOM configuration
+ $ref: /schemas/types.yaml#/definitions/uint32
+ enum:
+ - 0 # 0.6 * Vref
+ - 1 # AVDD by 2
+ default: 0
+
+required:
+ - compatible
+ - reg
+ - ti,vref
+ - ti,micbias-vg
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ tac5x1x: tac5x1x@52 {
+ compatible = "ti,tac5212";
+ reg = <0x52>;
+ #sound-dai-cells = <0>;
+ avdd-supply = <&vdd_3v3_reg>;
+ iovdd-supply = <&vdd_3v3_reg>;
+ ti,vref = <0>;
+ ti,micbias-vg = <3>;
+ ti,gpi1-func = <0>;
+ ti,gpios-func = <4>, <1>, <0>;
+ ti,gpios-drive = <0>, <0>, <0>;
+ ti,gpa-gpio = <0>;
+ ti,in-ch-en = <1>;
+ ti,out-ch-en = <1>;
+ ti,incl-ac-coup = <0>;
+ ti,incl-se-inm = <0>;
+ ti,gpa-threshold = <75>, <186>;
+ };
+ };
+...
--
2.45.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v3 2/4] dt-bindings: sound: bindings for tac5x1x family of codecs
2025-06-26 18:13 ` [PATCH v3 2/4] dt-bindings: sound: bindings for tac5x1x family of codecs Niranjan H Y
@ 2025-06-26 19:39 ` Rob Herring (Arm)
2025-06-27 7:48 ` Krzysztof Kozlowski
1 sibling, 0 replies; 6+ messages in thread
From: Rob Herring (Arm) @ 2025-06-26 19:39 UTC (permalink / raw)
To: Niranjan H Y
Cc: tiwai, alsa-devel, lgirdwood, devicetree, krzk+dt, broonie,
liam.r.girdwood, andriy.shevchenko, baojun.xu, shenghao-ding,
linux-sound, v-hampiholi, conor+dt, navada
On Thu, 26 Jun 2025 23:43:31 +0530, Niranjan H Y wrote:
> tac5x1x family are series of low-power and high performance
> mono/stereo audio codecs consists of ADC and DAC combinations.
> The family consist of Codecs(DAC & ADC), ADC only and DAC only
> configurations. The documentation explains the list of devices
> in the family, their power supply configurations and gpio
> configuration options available for various functionality.
>
> Signed-off-by: Niranjan H Y <niranjan.hy@ti.com>
>
> ---
> v2:
> - Document newly added dts entries ti,adc1-impedance,
> ti,adc2-impedance, ti,out2x-vcom-cfg
> v3:
> - add documentation for ti,pdm-input-pins
> - Update required section
> ---
> .../devicetree/bindings/sound/ti,tac5x1x.yaml | 262 ++++++++++++++++++
> 1 file changed, 262 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/sound/ti,tac5x1x.yaml
>
My bot found errors running 'make dt_binding_check' on your patch:
yamllint warnings/errors:
dtschema/dtc warnings/errors:
Warning: Duplicate compatible "ti,taa5412" found in schemas matching "$id":
http://devicetree.org/schemas/sound/ti,pcm6240.yaml#
http://devicetree.org/schemas/sound/ti,tac5x1x.yaml#
Warning: Duplicate compatible "ti,taa5212" found in schemas matching "$id":
http://devicetree.org/schemas/sound/ti,pcm6240.yaml#
http://devicetree.org/schemas/sound/ti,tac5x1x.yaml#
Warning: Duplicate compatible "ti,tad5212" found in schemas matching "$id":
http://devicetree.org/schemas/sound/ti,pcm6240.yaml#
http://devicetree.org/schemas/sound/ti,tac5x1x.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/sound/ti,tac5x1x.example.dtb: tac5x1x@52 (ti,tac5212): ti,gpa-gpio: 0 is not of type 'array'
from schema $id: http://devicetree.org/schemas/gpio/gpio-consumer.yaml#
doc reference errors (make refcheckdocs):
See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250626181334.1200-3-niranjan.hy@ti.com
The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:
pip3 install dtschema --upgrade
Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3 2/4] dt-bindings: sound: bindings for tac5x1x family of codecs
2025-06-26 18:13 ` [PATCH v3 2/4] dt-bindings: sound: bindings for tac5x1x family of codecs Niranjan H Y
2025-06-26 19:39 ` Rob Herring (Arm)
@ 2025-06-27 7:48 ` Krzysztof Kozlowski
1 sibling, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2025-06-27 7:48 UTC (permalink / raw)
To: Niranjan H Y
Cc: broonie, krzk+dt, conor+dt, andriy.shevchenko, tiwai, alsa-devel,
baojun.xu, shenghao-ding, liam.r.girdwood, lgirdwood, robh,
linux-sound, devicetree, navada, v-hampiholi
On Thu, Jun 26, 2025 at 11:43:31PM +0530, Niranjan H Y wrote:
> tac5x1x family are series of low-power and high performance
> mono/stereo audio codecs consists of ADC and DAC combinations.
> The family consist of Codecs(DAC & ADC), ADC only and DAC only
> configurations. The documentation explains the list of devices
> in the family, their power supply configurations and gpio
> configuration options available for various functionality.
>
> Signed-off-by: Niranjan H Y <niranjan.hy@ti.com>
>
> ---
> v2:
> - Document newly added dts entries ti,adc1-impedance,
> ti,adc2-impedance, ti,out2x-vcom-cfg
> v3:
> - add documentation for ti,pdm-input-pins
> - Update required section
> ---
> .../devicetree/bindings/sound/ti,tac5x1x.yaml | 262 ++++++++++++++++++
> 1 file changed, 262 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/sound/ti,tac5x1x.yaml
>
> diff --git a/Documentation/devicetree/bindings/sound/ti,tac5x1x.yaml b/Documentation/devicetree/bindings/sound/ti,tac5x1x.yaml
> new file mode 100644
> index 000000000000..5fea6513f97f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/ti,tac5x1x.yaml
> @@ -0,0 +1,262 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +# Copyright (C) 2025 Texas Instruments Incorporated
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/ti,tac5x1x.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Texas Instruments TAC5X1X Codec
> +
> +description: |
> + TAC5X1X are series of low-power and high performance mono or stereo
> + audio codecs, as well as multiple inputs and outputs programmable in
> + single-ended or fully differential configurations. Device supports both
> + Microphone and Line In input on ADC Channel. DAC Output can be configured
> + for either Line Out or Head Phone Load.
> +
> + The serial control bus supports SPI or I2C protocols, while the serial audio
> + data bus is programmable for I2S, left/right-justified, DSP, or TDM modes.
> +
> + Specification about the codecs can be found at:
> + https://www.ti.com/lit/gpn/taa5212
> + https://www.ti.com/lit/gpn/taa5412-q1
> + https://www.ti.com/lit/gpn/tac5111
> + https://www.ti.com/lit/gpn/tac5112
> + https://www.ti.com/lit/gpn/tac5211
> + https://www.ti.com/lit/gpn/tac5212
> + https://www.ti.com/lit/gpn/tac5311-q1
> + https://www.ti.com/lit/gpn/tac5312-q1
> + https://www.ti.com/lit/gpn/tac5411-q1
> + https://www.ti.com/lit/gpn/tac5412-q1
> + https://www.ti.com/lit/gpn/tad5112
> + https://www.ti.com/lit/gpn/tad5212
> +
> +maintainers:
> + - Niranjan H Y <niranjan.hy@ti.com>
> + - Kevin Lu <kevin-lu@ti.com>
> +
> +properties:
> + compatible:
> + enum:
> + - ti,taa5212
> + - ti,taa5412
> + - ti,tac5111
> + - ti,tac5112
> + - ti,tac5211
> + - ti,tac5212
> + - ti,tac5311
> + - ti,tac5312
> + - ti,tac5411
> + - ti,tac5412
> + - ti,tad5112
> + - ti,tad5212
> +
> + reg:
> + maxItems: 1
> +
> + ti,vref:
> + description: VREF required voltage. If node is omitted then VREF is powered down.
> + $ref: /schemas/types.yaml#/definitions/uint32
Voltage is in microvolt. Use proper suffix/values.
> + oneOf:
> + - const: 0
> + description: VREF output is powered to 2.75V.
> + - const: 1
> + description: VREF output is powered to 2.5V.
> + - const: 2
> + description: VREF output is powered to 1.375V.
> +
> + ti,micbias-vg:
> + description: MicBias required voltage. If node is omitted then MicBias is powered down.
> + $ref: /schemas/types.yaml#/definitions/uint32
> + oneOf:
> + - const: 0
> + description: MICBIAS output is same as the VREF output
> + - const: 1
> + description: MICBIAS output is 0.5 times the VREF output
> + - const: 3
> + description: MICBIAS output is same as the AVDD
> +
> + avdd-supply:
> + description: Analog DAC voltage.
> +
> + iovdd-supply:
> + description: I/O voltage.
> +
> + ti,gpios-func:
> + description: |
> + Array indicating the GPIO1, GPIO2, GPO1 Functionality in the same order.
> + Each integer elemnent in the array represent the following
> + - 0 TAC5X1X_GPIO_DISABLE - GPIO is Disabled
> + - 1 TAC5X1X_GPIO_GPI - General Purpose Input
> + - 2 ADC3XXX_GPIO_GPO - General Purpose Output
> + - 3 TAC5X1X_GPIO_IRQ - Chip Interrupt
> + - 4 TAC5X1X_GPIO_PDMCLK - PDM CLK Output
> + - 5 TAC5X1X_GPIO_P_DOUT - Primary ASI DOUT
> + - 6 TAC5X1X_GPIO_P_DOUT2 - Primary ASI DOUT2
> + - 7 TAC5X1X_GPIO_S_DOUT - Secondary ASI DOUT
> + - 8 TAC5X1X_GPIO_S_DOUT2 - Secondary ASI DOUT2
> + - 9 TAC5X1X_GPIO_S_BCLK - Secondary BCLK Output
> + - 10 TAC5X1X_GPIO_S_FSYNC - Secondary FSYNC Output
> + - 11 TAC5X1X_GPIO_CLKOUT - General Purpose Output
> + - 12 TAC5X1X_GPIO_DOUT_MUX
> + - 13 TAC5X1X_GPIO_DAISY_OUT
> + $ref: /schemas/types.yaml#/definitions/uint32-array
> + minItems: 3
> + maxItems: 3
Don't encode gpios and pins as some custom properties.
> +
> + ti,gpios-drive:
> + description: |
> + Array indicating the GPIO1, GPIO2, GPO1 Driver values
> + Each number in the array indicate the following driver values.
> + - 0 # Hi-Z Output
> + - 1 # Drive active low and active High
> + - 2 # Drive active low and weak High
> + - 3 # Drive acive low and Hi-Z
> + - 4 # Drive weak low and active High
> + - 5 # Drive Hi-Z and active High
> + $ref: /schemas/types.yaml#/definitions/uint32-array
> + minItems: 3
> + maxItems: 3
Use standard pinctrl bindings.
> +
> + ti,pdm-input-pins:
> + description: |
> + Array indicating the PDM Data Input for "Ch1 & Ch2" and "Ch3 & Ch4"
> + respectively. Each number in the array indicate the following
> + - 0 # PDM input disabled
> + - 1 # PDM input GPIO1
> + - 2 # PDM input GPIO2
> + - 3 # PDM input GPI1
> + $ref: /schemas/types.yaml#/definitions/uint32-array
> + minItems: 2
> + maxItems: 2
> +
This is v3, but changelog is scarce, no cover letter, no other lore
references. All this is questionable. Plus the style mixing vendor with
standard properties.
> + ti,gpi1-func:
> + description: GPI1 Functionality
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum:
> + - 0 # TAC5X1X_GPIO_DISABLE - I/O buffers powered down and not used
> + - 1 # TAC5X1X_GPIO_GPI - General purpose input
> + default: 0
> +
> + '#sound-dai-cells':
Missing ref to dai common. Look at other bindings.
> + const: 0
> +
> + clocks:
> + maxItems: 1
> +
> + ti,gpa-gpio:
Why this appeared here? Looks like totally random sorting.
First goes compatible, then reg, then standard properties, then vendor
properties. I have few more comments but this binding looks terrible. I
suggest you doing extensive initernal review, before you send next
version.
> + description: GPA using GPIO1 configuration
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum:
> + - 0 # GPA using GPIO1 is disabled
> + - 1 # GPA using GPIO1
> + default: 0
> +
> + ti,in-ch-en:
> + description: Enable Input channel diagnostics for TAC54XX and TAC53XX device.
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum:
> + - 0 # Disable input channel diagnostics
> + - 1 # Enable input channel diagnostics
> +
> + ti,out-ch-en:
> + description: Enable Output channel diagnostics for TAC54XX and TAC53XX device
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum:
> + - 0 # Disable Output channel diagnostics
> + - 1 # Enable Output channel Diagnostics
> +
> + ti,incl-se-inm:
> + description: INxM pin Diagnostics Scan Selection for Single Ended Configuration
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum:
> + - 0 # INxM pin Diagnostics Scan Selection for Single Ended excluded for diagnosis
> + - 1 # INxM pin Diagnostics Scan Selection for Single Ended included for diagnosis
> +
> + ti,incl-ac-coup:
> + description: AC coupled channels pins Scan Selection for Diagnostics
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum:
> + - 0 # AC coupled channels pins Scan Selection for Diagnostics exluded for diagnosis
> + - 1 # AC coupled channels pins Scan Selection for Diagnostics included for diagnosis
> +
> + ti,micbias-threshold:
> + description: Micbias Low and High threshold values for TAC54XX and TAC53XX series
> + $ref: /schemas/types.yaml#/definitions/uint32-array
> + maxItems: 2
> + minItems: 2
> + items:
> + minimum: 72
> + maximum: 162
> +
> + ti,gpa-threshold:
> + description: GPA Low and High threshold Values
> + $ref: /schemas/types.yaml#/definitions/uint32-array
> + maxItems: 2
> + minItems: 2
> + items:
> + minimum: 75
> + maximum: 186
> +
> + ti,adc1-impedance:
> + description: Channel 1 Input Impedance Value
Use proper units.
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum:
> + - 0 # 5 kOhm
> + - 1 # 10 kOhm
> + - 2 # 40 kOhm
> + default: 0
> +
> + ti,adc2-impedance:
> + description: Channel 2 Input Impedance Value
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum:
> + - 0 # 5 kOhm
> + - 1 # 10 kOhm
> + - 2 # 40 kOhm
> + default: 0
> +
> + ti,out2x-vcom-cfg:
> + description: Channel OUT2x VCOM configuration
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum:
> + - 0 # 0.6 * Vref
> + - 1 # AVDD by 2
> + default: 0
> +
> +required:
> + - compatible
> + - reg
> + - ti,vref
> + - ti,micbias-vg
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> +
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + tac5x1x: tac5x1x@52 {
Node names should be generic. See also an explanation and list of
examples (not exhaustive) in DT specification:
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-07-28 10:34 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-27 4:57 [PATCH v3 2/4] dt-bindings: sound: bindings for tac5x1x family of codecs Holalu Yogendra, Niranjan
2025-06-27 5:50 ` Krzysztof Kozlowski
-- strict thread matches above, loose matches on Subject: below --
2025-07-28 10:22 Holalu Yogendra, Niranjan
2025-06-26 18:13 [PATCH v3 0/4] ASoc: tac5x1x: mixer-test report Niranjan H Y
2025-06-26 18:13 ` [PATCH v3 2/4] dt-bindings: sound: bindings for tac5x1x family of codecs Niranjan H Y
2025-06-26 19:39 ` Rob Herring (Arm)
2025-06-27 7:48 ` Krzysztof Kozlowski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).