From: Nikola Jelic <nikola.jelic83@gmail.com>
To: broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org,
linux-sound@vger.kernel.org
Cc: rwalton@cmlmicro.com
Subject: [PATCH 1/2] sound: dt-bindings: cmx655d
Date: Wed, 22 Jan 2025 00:09:02 +0100 [thread overview]
Message-ID: <20250121230903.89808-1-nikola.jelic83@gmail.com> (raw)
Signed-off-by: Nikola Jelic <nikola.jelic83@gmail.com>
---
.../bindings/sound/cml,cmx655d.yaml | 79 +++++++++++++++++++
.../devicetree/bindings/sound/cmx655.txt | 59 ++++++++++++++
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
3 files changed, 140 insertions(+)
create mode 100644 Documentation/devicetree/bindings/sound/cml,cmx655d.yaml
create mode 100644 Documentation/devicetree/bindings/sound/cmx655.txt
diff --git a/Documentation/devicetree/bindings/sound/cml,cmx655d.yaml b/Documentation/devicetree/bindings/sound/cml,cmx655d.yaml
new file mode 100644
index 000000000000..ea2cdce80ea3
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/cml,cmx655d.yaml
@@ -0,0 +1,79 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/cml,cmx655d.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: CML Micro CMX655D codec
+
+maintainers:
+ - Richard Walton <rwalton@cmlmicro.com>
+ - Nikola Jelic <nikola.jelic83@gmail.com>
+
+description: |
+ The CMX655D is an ultra-low power voice codec.
+
+allOf:
+ - $ref: dai-common.yaml#
+
+properties:
+ compatible:
+ enum:
+ - cml,cmx655d
+
+ reg:
+ maxItems: 1
+
+ "#sound-dai-cells":
+ const: 0
+
+ reset-gpios:
+ description: GPIO used for codec reset, negative logic
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ interrupt-names:
+ maxItems: 1
+
+ pinctrl-names:
+ maxItems: 1
+
+ pinctr-0:
+ maxItems: 1
+
+ cmx655,classd-oc-reset-attempts:
+ description: Maximum number of times to reset CMX655 class-D
+ following a overcurrent event.
+ Default = 5, >10000 = disable limit.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ default: 5
+
+required:
+ - compatible
+ - reg
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+ codec: cmx655 {
+ reg = <0x54>;
+ #sound-dai-cells = <0>;
+ compatible = "cml,cmx655d";
+ reset-gpios = <&gpio 24 1>;
+ interrupt-parent = <&gpio>;
+ interrupts = <25 0x2>;
+ interrupt-names = "irq";
+ pinctrl-names = "default";
+ pinctrl-0 = <&ev6550DHAT_pins>;
+ cmx655,classd-oc-reset-attempts = <5>;
+ };
+
+ };
+...
diff --git a/Documentation/devicetree/bindings/sound/cmx655.txt b/Documentation/devicetree/bindings/sound/cmx655.txt
new file mode 100644
index 000000000000..28550c871934
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/cmx655.txt
@@ -0,0 +1,59 @@
+CMX655 audio CODEC
+
+Required properties:
+ - compatible : "cml,cmx655d"
+
+ - reg : the I2C address of the device for I2C.
+
+Optional properties:
+ - cmx655,classd-oc-reset-attempts: Maximum number of times to reset CMX655
+ class-D following a overcurrent event.
+ default = 5, >10000 = disable limit.
+ - reset-gpios : a GPIO spec for the reset pin. If specified, it will be
+ deasserted before communication to the codec starts.
+ - interrupt-parent: used to specify the controller for the interrupt
+ - interrupts: arguments given to interrupt controller
+ see devicetree/bindings/interrupt-controller/interrupts.txt for
+ more details on interrupt-parent and interrupts
+ - interrupt-names: Used by i2c driver to specify interrupt's use.
+ see devicetree/bindings/i2c/i2c.txt
+ and devicetree/bindings/resource-names.txt
+ for more details.
+ - pinctrl-names: see devicetree/bindings/pinctrl/pinctrl-bindings.txt
+ - pinctrl-0: see devicetree/bindings/pinctrl/pinctrl-bindings.txt
+
+Example:
+
+fragment@1 {
+ target = <&i2c>;
+ __overlay__ {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+ codec: cmx655 {
+ reg = <0x54>;
+ #sound-dai-cells = <0>;
+ compatible = "cml,cmx655D";
+ reset-gpios = <&gpio 24 1>;
+ interrupt-parent = <&gpio>;
+ interrupts = <25 0x2>; /* falling edge */
+ interrupt-names = "irq";
+ pinctrl-names = "default";
+ pinctrl-0 = <&ev6550DHAT_pins>;
+ cmx655,classd-oc-reset-attempts = <5>;
+ };
+ };
+};
+fragment@2 {
+ target = <&gpio>;
+ __overlay__ {
+ ev6550DHAT_pins: cmx655_pins {
+ // Pins resetN, IRQn
+ brcm,pins = <24 25>;
+ // Out, In
+ brcm,function = <1 0>;
+ // No pull, pull up
+ brcm,pull = <0 2>;
+ };
+ };
+};
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 5079ca6ce1d1..c471a4b905cf 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -308,6 +308,8 @@ patternProperties:
description: Carl Cloos Schweisstechnik GmbH.
"^cloudengines,.*":
description: Cloud Engines, Inc.
+ "^cml,.*":
+ description: CML Micro, Ltd.
"^cnm,.*":
description: Chips&Media, Inc.
"^cnxt,.*":
--
2.45.2
next reply other threads:[~2025-01-21 23:09 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-21 23:09 Nikola Jelic [this message]
2025-01-21 23:09 ` [PATCH 2/2] Adding support for the CML's CMX655D audio codec, both i2c and spi connectivity options Nikola Jelic
2025-01-22 14:24 ` Mark Brown
2025-01-22 7:39 ` [PATCH 1/2] sound: dt-bindings: cmx655d Krzysztof Kozlowski
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=20250121230903.89808-1-nikola.jelic83@gmail.com \
--to=nikola.jelic83@gmail.com \
--cc=broonie@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=robh@kernel.org \
--cc=rwalton@cmlmicro.com \
/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