lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20221109165331.29332-2-rf@opensource.cirrus.com>
Date:   Wed, 9 Nov 2022 16:53:20 +0000
From:   Richard Fitzgerald <rf@...nsource.cirrus.com>
To:     <lee@...nel.org>, <robh+dt@...nel.org>,
        <krzysztof.kozlowski+dt@...aro.org>, <linus.walleij@...aro.org>,
        <broonie@...nel.org>, <tglx@...utronix.de>, <maz@...nel.org>
CC:     <alsa-devel@...a-project.org>, <devicetree@...r.kernel.org>,
        <linux-gpio@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
        <patches@...nsource.cirrus.com>,
        Richard Fitzgerald <rf@...nsource.cirrus.com>
Subject: [PATCH 01/12] dt-bindings: mfd: Add Cirrus Logic CS48L32 audio codec

The CS48L32 has multiple digital and analog audio I/O, a
high-performance low-power programmable audio DSP, and a variety of
power-efficient fixed-function audio processors, with digital
mixing and routing.

Signed-off-by: Richard Fitzgerald <rf@...nsource.cirrus.com>
---
 .../bindings/mfd/cirrus,cs48l32.yaml          | 166 ++++++++++++++++++
 1 file changed, 166 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mfd/cirrus,cs48l32.yaml

diff --git a/Documentation/devicetree/bindings/mfd/cirrus,cs48l32.yaml b/Documentation/devicetree/bindings/mfd/cirrus,cs48l32.yaml
new file mode 100644
index 000000000000..d128600c0b72
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/cirrus,cs48l32.yaml
@@ -0,0 +1,166 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/cirrus,cs48l32.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus Logic CS48L32 audio CODECs Multi-Functional Device
+
+maintainers:
+  - patches@...nsource.cirrus.com
+
+description: |
+  The CS48L32 is an audio SoC with extensive digital capabilities
+  and a range of digital and analogue I/O.
+
+  See also the child driver bindings in:
+
+    bindings/pinctrl/cirrus,cs48l32.yaml
+    bindings/regulator/wlf,arizona.yaml
+    bindings/sound/cirrus,cs48l32.yaml
+
+allOf:
+  - $ref: /schemas/pinctrl/cirrus,cs48l32.yaml#
+  - $ref: /schemas/regulator/wlf,arizona.yaml#
+  - $ref: /schemas/sound/cirrus,cs48l32.yaml#
+  - $ref: /schemas/spi/spi-peripheral-props.yaml#
+
+properties:
+  compatible:
+    enum:
+      - cirrus,cs48l31
+      - cirrus,cs48l32
+      - cirrus,cs48l33
+
+  reg:
+    maxItems: 1
+
+  gpio-controller: true
+
+  '#gpio-cells':
+    description:
+      The first cell is the pin number. The second cell is reserved for
+      future use and must be zero
+    const: 2
+
+  interrupt-controller: true
+
+  '#interrupt-cells':
+    description:
+      The first cell is the IRQ number.
+      The second cell is the flags, encoded as the trigger masks from
+      bindings/interrupt-controller/interrupts.txt
+    const: 2
+
+  interrupts:
+    maxItems: 1
+
+  reset-gpios:
+    description:
+      One entry specifying the GPIO controlling /RESET.  As defined in
+      bindings/gpio.txt.  Although optional, it is strongly recommended
+      to use a hardware reset.
+    maxItems: 1
+
+  clocks:
+    description:
+      Should reference the clocks supplied on MCLK1
+    minItems: 1
+    maxItems: 1
+
+  clock-names:
+    description: |
+      Must be "mclk1"
+    const: mclk1
+
+  VDD_A-supply:
+    description:
+      Analogue power supply.
+
+  VDD_D-supply:
+    description:
+      Digital core power supply.
+
+  VDD_IO-supply:
+    description:
+      Digital buffer (I/O) supply.
+
+  VDD_CP-supply:
+    description:
+      Charge pump power supply.
+
+  VOUT_MIC-supply:
+    description:
+      Microphone power supply, normally supplied internally.
+
+  pinctrl-0:
+    description:
+      A phandle to the node containing the subnodes containing pinctrl
+      configurations.
+
+  pinctrl-1:
+    description:
+      A phandle to the node containing the subnodes containing pinctrl
+      configurations.
+
+  pinctrl-names:
+      items:
+      - const: init
+      - const: default
+
+required:
+  - compatible
+  - interrupt-parent
+  - interrupts
+  - VDD_A-supply
+  - VDD_D-supply
+  - VDD_IO-supply
+  - VDD_CP-supply
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/sound/cs48l32.h>
+    &spi1 {
+        cs48l32: cs48l32@1 {
+            compatible = "cirrus,cs48l32";
+            reg = <0x1>;
+
+            spi-max-frequency = <25000000>;
+
+            interrupts = <56 8>;
+            interrupt-controller;
+            #interrupt-cells = <2>;
+            interrupt-parent = <&gpio0>;
+            gpio-controller;
+            #gpio-cells = <2>;
+            #sound-dai-cells = <1>;
+
+            VDD_A-supply = <&regulator_1v8>;
+            VDD_D-supply = <&lochnagar_1v2>;
+            VDD_IO-supply = <&regulator_1v8>;
+            VDD_CP-supply = <&regulator_1v8>;
+
+            reset-gpios = <&gpio 0 0>;
+
+            pinctrl-names = "default";
+            pinctrl-0 = <&cs48l32_defaults>;
+
+            cs48l32_pinctrl: pinctrl {
+                compatible = "cirrus,cs48l32-pinctrl";
+
+                cs48l32_defaults: defaults {
+                    asp1 {
+                        groups = "asp1";
+                        function = "asp1";
+                        bias-bus-hold;
+                    };
+                    asp2 {
+                        groups = "asp2";
+                        function = "asp2";
+                        bias-bus-hold;
+                    };
+                };
+            };
+        };
-- 
2.30.2

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ