[PATCH v1 3/3] dt-bindings: ASoC: Add ESS ES9218P codec bindings

From: Aidan MacDonald
Date: Wed May 10 2023 - 07:24:25 EST


Device tree bindings for the ESS ES9218P codec, which uses an
I2C control interface.

Signed-off-by: Aidan MacDonald <aidanmacdonald.0x0@xxxxxxxxx>
---
.../bindings/sound/ess,es9218p.yaml | 104 ++++++++++++++++++
1 file changed, 104 insertions(+)
create mode 100644 Documentation/devicetree/bindings/sound/ess,es9218p.yaml

diff --git a/Documentation/devicetree/bindings/sound/ess,es9218p.yaml b/Documentation/devicetree/bindings/sound/ess,es9218p.yaml
new file mode 100644
index 000000000000..d205b6a8bbb2
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/ess,es9218p.yaml
@@ -0,0 +1,104 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/ess,es9218p.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ESS ES9218P audio codec
+
+maintainers:
+ - Aidan MacDonald <aidanmacdonald.0x0@xxxxxxxxx>
+
+properties:
+ compatible:
+ const: ess,es9218p
+
+ reg:
+ maxItems: 1
+
+ "#sound-dai-cells":
+ const: 0
+
+ avdd-supply:
+ description:
+ Definition of the regulator used for digital core power supply.
+
+ vcca-supply:
+ description:
+ Definition of the regulator used for oscillator and DAC power supply.
+
+ avcc3v3-supply:
+ description:
+ Definition of the 3.3V regulator for amplifier, switch, and charge pumps.
+
+ avcc1v8-supply:
+ description:
+ Definition of the 1.8V regulator for amplifier, switch, and charge pumps.
+
+ clocks:
+ items:
+ - description: clock for master clock (MCLK)
+
+ clock-names:
+ items:
+ - const: mclk
+
+ reset-gpios:
+ maxItems: 1
+ description:
+ Pin used for codec hardware reset, corresponds to the RESETB pin.
+
+ ess,max-clock-div:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Sets the maximum MCLK divider for generating the internal CLK.
+ CLK must be at least 20x the I2C bus speed or I2C transactions
+ will fail. The maximum divider should be chosen to ensure that
+ CLK will not fall below the limit.
+ enum:
+ - 1
+ - 2
+ - 4
+ - 8
+ default: 1
+
+ ess,oscillator-pad-bias:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: Sets the oscillator pad drive bias. 0 - full bias, 15 - disabled.
+ minimum: 0
+ maximum: 15
+ default: 0
+
+required:
+ - compatible
+ - reg
+ - "#sound-dai-cells"
+ - avdd-supply
+ - vcca-supply
+ - avcc3v3-supply
+ - avcc1v8-supply
+ - clocks
+ - clock-names
+ - reset-gpios
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ codec@48 {
+ compatible = "ess,es9218p";
+ reg = <0x48>;
+ #sound-dai-cells = <0>;
+ avdd-supply = <&avdd>;
+ vcca-supply = <&vcca>;
+ avcc3v3-supply = <&avcc3v3>;
+ avcc1v8-supply = <&avcc1v8>;
+ clocks = <&xtal_clock>;
+ clock-names = "mclk";
+ reset-gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
+ };
+ };
--
2.39.2