From: Shenghao Ding <shenghao-ding@ti.com>
To: <broonie@kernel.org>, <conor+dt@kernel.org>,
<krzysztof.kozlowski@linaro.org>
Cc: <robh+dt@kernel.org>, <andriy.shevchenko@linux.intel.com>,
<kevin-lu@ti.com>, <baojun.xu@ti.com>,
<devicetree@vger.kernel.org>, <lgirdwood@gmail.com>,
<perex@perex.cz>, <pierre-louis.bossart@linux.intel.com>,
<13916275206@139.com>, <linux-sound@vger.kernel.org>,
<linux-kernel@vger.kernel.org>, <liam.r.girdwood@intel.com>,
<soyer@irl.hu>, <jkhuang3@ti.com>, <tiwai@suse.de>,
<pdjuandi@ti.com>, <j-mcpherson@ti.com>, <navada@ti.com>,
Shenghao Ding <shenghao-ding@ti.com>
Subject: [PATCH v1 4/4] ASoc: dt-bindings: Create yaml file for pcm6240 codec driver
Date: Tue, 23 Jan 2024 19:14:10 +0800 [thread overview]
Message-ID: <20240123111411.850-4-shenghao-ding@ti.com> (raw)
In-Reply-To: <20240123111411.850-1-shenghao-ding@ti.com>
PCM6240 driver implements a flexible and configurable setting for register
and filter coefficients, to one, two or even multiple PCM6240 Family Audio
chips.
Signed-off-by: Shenghao Ding <shenghao-ding@ti.com>
---
Change in v1:
- Create yaml file for pcm6240 codec driver
---
.../devicetree/bindings/sound/ti,pcm6240.yaml | 303 ++++++++++++++++++
1 file changed, 303 insertions(+)
create mode 100644 Documentation/devicetree/bindings/sound/ti,pcm6240.yaml
diff --git a/Documentation/devicetree/bindings/sound/ti,pcm6240.yaml b/Documentation/devicetree/bindings/sound/ti,pcm6240.yaml
new file mode 100644
index 000000000000..59fd48aa4445
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/ti,pcm6240.yaml
@@ -0,0 +1,303 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright (C) 2022 - 2024 Texas Instruments Incorporated
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/ti,pcm6240.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments PCM6240 Family Audio ADC/DAC/Router
+
+maintainers:
+ - Shenghao Ding <shenghao-ding@ti.com>
+
+description: |
+ The PCM6240 Family driver offer a flexible architecture to set the device
+ number, registers and params for different filters in a bin file.
+
+ Specifications about the audio chip can be found at:
+ https://www.ti.com/lit/gpn/tlv320adc3120
+ https://www.ti.com/lit/gpn/tlv320adc5120
+ https://www.ti.com/lit/gpn/tlv320adc6120
+ https://www.ti.com/lit/gpn/dix4192
+ https://www.ti.com/lit/gpn/pcm1690
+ https://www.ti.com/lit/gpn/pcm3120-q1
+ https://www.ti.com/lit/gpn/pcm3140-q1
+ https://www.ti.com/lit/gpn/pcm5120-q1
+ https://www.ti.com/lit/gpn/pcm6120-q1
+ https://www.ti.com/lit/gpn/pcm6260-q1
+ https://www.ti.com/lit/gpn/pcm9211
+ https://www.ti.com/lit/gpn/pcmd3140
+ https://www.ti.com/lit/gpn/pcmd3180
+ https://www.ti.com/lit/gpn/taa5212
+ https://www.ti.com/lit/gpn/tad5212
+
+properties:
+ compatible:
+ description: |
+ ti,adc3120: Stereo-channel, 768-kHz, Burr-Brown™ audio analog-to-
+ digital converter (ADC) with 106-dB SNR.
+
+ ti,adc5120: 2-Channel, 768-kHz, Burr-BrownTM Audio ADC with 120-dB SNR.
+
+ ti,adc6120: Stereo-channel, 768-kHz, Burr-Brown™ audio analog-to-
+ digital converter (ADC) with 123-dB SNR.
+
+ ti,pcm1690: 113dB SNR, 24-Bit, 192-kHz Sampling, Enhanced Multi-Level
+ ?S, Eight-Channel Audio Digital-to-Analog Converter with Differential
+ Outputs.
+
+ ti,pcm3120: Automotive, stereo, 106-dB SNR, 768-kHz, low-power
+ software-controlled audio ADC.
+
+ ti,pcm3140: Automotive, Quad-Channel, 768-kHz, Burr-BrownTM Audio ADC
+ with 106-dB SNR.
+
+ ti,pcm5120: Automotive, stereo, 120-dB SNR, 768-kHz, low-power
+ software-controlled audio ADC.
+
+ ti,pcm5140: Automotive, Quad-Channel, 768-kHz, Burr-BrownTM Audio ADC
+ with 120-dB SNR.
+
+ ti,pcm6120: Automotive, stereo, 123-dB SNR, 768-kHz, low-power
+ software-controlled audio ADC.
+
+ ti,pcm6140: Automotive, Quad-Channel, 768-kHz, Burr-BrownTM Audio ADC
+ with 123-dB SNR.
+
+ ti,pcm6240: Automotive 4-ch audio ADC with integrated programmable mic
+ bias, boost and input diagnostics.
+
+ ti,pcm6260: Automotive 6-ch audio ADC with integrated programmable mic
+ bias, boost and input diagnostics.
+
+ ti,pcm9211: 216-kHz Digital Audio Interface Transceiver (DIX)
+ With Stereo ADC and Routing.
+
+ ti,pcmd3140: Four-channel PDM-input to TDM or I�S output converter.
+
+ ti,pcmd3180: Eight-channel pulse-density-modulation input to TDM or
+ I�S output converter.
+
+ ti,taa5212: Low-power high-performance stereo audio ADC with 118-dB
+ dynamic range.
+
+ ti,tad5212: Low-power stereo audio DAC with 120-dB dynamic range.
+ enum:
+ - ti,adc3120
+ - ti,adc5120
+ - ti,adc6120
+ - ti,dix4192
+ - ti,pcm1690
+ - ti,pcm3120
+ - ti,pcm3140
+ - ti,pcm5120
+ - ti,pcm5140
+ - ti,pcm6120
+ - ti,pcm6140
+ - ti,pcm6240
+ - ti,pcm6260
+ - ti,pcm9211
+ - ti,pcmd3140
+ - ti,pcmd3180
+ - ti,pcmd512x
+ - ti,taa5212
+ - ti,taa5412
+ - ti,tad5212
+ - ti,tad5412
+
+ reg:
+ description:
+ I2C address, in multiple pcmdevices case, all the i2c address
+ aggregate as one Audio Device to support multiple audio slots.
+ maxItems: 4
+ minItems: 1
+
+ reset-gpios:
+ maxItems: 1
+ description:
+ A GPIO line handling reset of the chip. As the line is active high,
+ it should be marked GPIO_ACTIVE_HIGH.
+
+ interrupts:
+ maxItems: 1
+ description:
+ Invalid only for ti,pcm1690 because of no INT pin.
+
+ '#sound-dai-cells':
+ const: 0
+
+required:
+ - compatible
+ - reg
+
+allOf:
+ - $ref: dai-common.yaml#
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - ti,pcm1690
+ then:
+ properties:
+ reg:
+ description:
+ I2C address, in multiple pcmdevices case, all the i2c address
+ aggregate as one Audio Device to support multiple audio slots.
+ maxItems: 4
+ minItems: 1
+ items:
+ minimum: 0x4c
+ maximum: 0x4f
+ interrupts: false
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - ti,pcm3140
+ - ti,pcm5140
+ - ti,pcm6140
+ - ti,pcmd3180
+ then:
+ properties:
+ reg:
+ description:
+ I2C address, in multiple pcmdevices case, all the i2c address
+ aggregate as one Audio Device to support multiple audio slots.
+ maxItems: 4
+ minItems: 1
+ items:
+ minimum: 0x4c
+ maximum: 0x4f
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - ti,adc3120
+ - ti,adc5120
+ - ti,adc6120
+ - ti,pcm3120
+ - ti,pcm5120
+ - ti,pcm6120
+ - ti,pcmd3140
+ then:
+ properties:
+ reg:
+ description:
+ I2C address.
+ maxItems: 1
+ items:
+ maximum: 0x4e
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - ti,dix4192
+ then:
+ properties:
+ reg:
+ description:
+ I2C address, in multiple pcmdevices case, all the i2c address
+ aggregate as one Audio Device to support multiple audio slots.
+ maxItems: 4
+ minItems: 1
+ items:
+ minimum: 0x70
+ maximum: 0x73
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - ti,pcm6240
+ - ti,pcm6260
+ then:
+ properties:
+ reg:
+ description:
+ I2C address, in multiple pcmdevices case, all the i2c address
+ aggregate as one Audio Device to support multiple audio slots.
+ maxItems: 4
+ minItems: 1
+ items:
+ minimum: 0x48
+ maximum: 0x4b
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - ti,pcm9211
+ then:
+ properties:
+ reg:
+ description:
+ I2C address, in multiple pcmdevices case, all the i2c address
+ aggregate as one Audio Device to support multiple audio slots.
+ maxItems: 4
+ minItems: 1
+ items:
+ minimum: 0x40
+ maximum: 0x43
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - ti,taa5212
+ - ti,taa5412
+ - ti,tad5212
+ - ti,tad5412
+ then:
+ properties:
+ reg:
+ description:
+ I2C address, in multiple pcmdevices case, all the i2c address
+ aggregate as one Audio Device to support multiple audio slots.
+ maxItems: 4
+ minItems: 1
+ items:
+ minimum: 0x50
+ maximum: 0x53
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ i2c {
+ /* example for two devices with interrupt support */
+ #address-cells = <1>;
+ #size-cells = <0>;
+ two: pcmdevice@48 {
+ compatible = "ti,pcm6240";
+ reg = <0x48>, /* primary-device */
+ <0x4b>; /* secondary-device */
+ #sound-dai-cells = <0>;
+ reset-gpios = < &gpio1 10 GPIO_ACTIVE_HIGH >;
+ interrupt-parent = <&gpio1>;
+ interrupts = <15>;
+ };
+ };
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ i2c {
+ /* example for one device without interrupt support*/
+ #address-cells = <1>;
+ #size-cells = <0>;
+ one: pcmdevice@4c {
+ compatible = "ti,pcmd3180";
+ reg = <0x4c>;
+ #sound-dai-cells = <0>;
+ reset-gpios = < &gpio1 10 GPIO_ACTIVE_HIGH >;
+ };
+ };
+...
--
2.34.1
next prev parent reply other threads:[~2024-01-23 11:15 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-23 11:14 [PATCH v1 1/4] ASoc: pcm6240: Create pcm6240 codec driver code Shenghao Ding
2024-01-23 11:14 ` [PATCH v1 2/4] ASoc: pcm6240: Create header file for " Shenghao Ding
2024-01-23 11:14 ` [PATCH v1 3/4] ASoc: pcm6240: Add compile item for pcm6240 codec driver Shenghao Ding
2024-01-23 11:25 ` Krzysztof Kozlowski
2024-01-23 19:13 ` Mark Brown
2024-01-23 11:14 ` Shenghao Ding [this message]
2024-01-23 11:25 ` [PATCH v1 4/4] ASoc: dt-bindings: Create yaml file " Krzysztof Kozlowski
2024-01-23 15:01 ` Mark Brown
2024-01-23 15:04 ` Krzysztof Kozlowski
2024-01-24 10:10 ` [EXTERNAL] " Ding, Shenghao
2024-01-25 7:39 ` Ding, Shenghao
2024-01-25 7:50 ` Krzysztof Kozlowski
2024-01-25 8:46 ` Ding, Shenghao
2024-01-25 8:57 ` Krzysztof Kozlowski
2024-01-28 15:11 ` [PATCH v1 1/4] ASoc: pcm6240: Create pcm6240 codec driver code Andy Shevchenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240123111411.850-4-shenghao-ding@ti.com \
--to=shenghao-ding@ti.com \
--cc=13916275206@139.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=baojun.xu@ti.com \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=j-mcpherson@ti.com \
--cc=jkhuang3@ti.com \
--cc=kevin-lu@ti.com \
--cc=krzysztof.kozlowski@linaro.org \
--cc=lgirdwood@gmail.com \
--cc=liam.r.girdwood@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=navada@ti.com \
--cc=pdjuandi@ti.com \
--cc=perex@perex.cz \
--cc=pierre-louis.bossart@linux.intel.com \
--cc=robh+dt@kernel.org \
--cc=soyer@irl.hu \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®