diff options
author | Mark Brown <broonie@kernel.org> | 2021-09-13 11:24:03 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2021-09-13 11:24:03 +0100 |
commit | a13a228e5253f17023e0eadbe92888a2ec5fca59 (patch) | |
tree | 33ce65a9680035ecb34fdd76dac568443f54d180 /Documentation | |
parent | 599b1032226edc865a1f772839497bf5ac309ee3 (diff) | |
parent | 8d7ab8800184cc75000dd2e784fe121934482878 (diff) |
Merge series "Cirrus Logic CS35L41 Amplifier" from David Rhodes <drhodes@opensource.cirrus.com>:
ASoC driver and devicetree documentation for a new
Cirrus Logic amplifier CS35L41
v7 changes:
Remove property 'classh-bst-max-limit'
David Rhodes (2):
ASoC: cs35l41: CS35L41 Boosted Smart Amplifier
ASoC: cs35l41: Add bindings for CS35L41
.../devicetree/bindings/sound/cs35l41.yaml | 151 ++
include/sound/cs35l41.h | 34 +
sound/soc/codecs/Kconfig | 12 +
sound/soc/codecs/Makefile | 4 +
sound/soc/codecs/cs35l41-i2c.c | 114 ++
sound/soc/codecs/cs35l41-spi.c | 143 ++
sound/soc/codecs/cs35l41-tables.c | 597 +++++++
sound/soc/codecs/cs35l41.c | 1545 +++++++++++++++++
sound/soc/codecs/cs35l41.h | 775 +++++++++
9 files changed, 3375 insertions(+)
create mode 100644 Documentation/devicetree/bindings/sound/cs35l41.yaml
create mode 100644 include/sound/cs35l41.h
create mode 100644 sound/soc/codecs/cs35l41-i2c.c
create mode 100644 sound/soc/codecs/cs35l41-spi.c
create mode 100644 sound/soc/codecs/cs35l41-tables.c
create mode 100644 sound/soc/codecs/cs35l41.c
create mode 100644 sound/soc/codecs/cs35l41.h
--
2.25.1
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/devicetree/bindings/sound/cs35l41.yaml | 151 |
1 files changed, 151 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/sound/cs35l41.yaml b/Documentation/devicetree/bindings/sound/cs35l41.yaml new file mode 100644 index 000000000000..fde78c850286 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/cs35l41.yaml @@ -0,0 +1,151 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/cs35l41.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Cirrus Logic CS35L41 Speaker Amplifier + +maintainers: + - david.rhodes@cirrus.com + +description: | + CS35L41 is a boosted mono Class D amplifier with DSP + speaker protection and equalization + +properties: + compatible: + enum: + - cirrus,cs35l40 + - cirrus,cs35l41 + + reg: + maxItems: 1 + + '#sound-dai-cells': + description: + The first cell indicating the audio interface. + const: 1 + + reset-gpios: + maxItems: 1 + + VA-supply: + description: voltage regulator phandle for the VA supply + + VP-supply: + description: voltage regulator phandle for the VP supply + + cirrus,boost-peak-milliamp: + description: + Boost-converter peak current limit in mA. + Configures the peak current by monitoring the current through the boost FET. + Range starts at 1600 mA and goes to a maximum of 4500 mA with increments + of 50 mA. See section 4.3.6 of the datasheet for details. + $ref: "/schemas/types.yaml#/definitions/uint32" + minimum: 1600 + maximum: 4500 + default: 4500 + + cirrus,boost-ind-nanohenry: + description: + Boost inductor value, expressed in nH. Valid + values include 1000, 1200, 1500 and 2200. + $ref: "/schemas/types.yaml#/definitions/uint32" + minimum: 1000 + maximum: 2200 + + cirrus,boost-cap-microfarad: + description: + Total equivalent boost capacitance on the VBST + and VAMP pins, derated at 11 volts DC. The value must be rounded to the + nearest integer and expressed in uF. + $ref: "/schemas/types.yaml#/definitions/uint32" + + cirrus,asp-sdout-hiz: + description: + Audio serial port SDOUT Hi-Z control. Sets the Hi-Z + configuration for SDOUT pin of amplifier. + 0 = Logic 0 during unused slots, and while all transmit channels disabled + 1 = Hi-Z during unused slots but logic 0 while all transmit channels disabled + 2 = (Default) Logic 0 during unused slots, but Hi-Z while all transmit channels disabled + 3 = Hi-Z during unused slots and while all transmit channels disabled + $ref: "/schemas/types.yaml#/definitions/uint32" + minimum: 0 + maximum: 3 + default: 2 + + cirrus,gpio1-polarity-invert: + description: + Boolean which specifies whether the GPIO1 + level is inverted. If this property is not present the level is not inverted. + type: boolean + + cirrus,gpio1-output-enable: + description: + Boolean which specifies whether the GPIO1 pin + is configured as an output. If this property is not present the + pin will be configured as an input. + type: boolean + + cirrus,gpio1-src-select: + description: + Configures the function of the GPIO1 pin. + Note that the options are different from the GPIO2 pin + 0 = High Impedance (Default) + 1 = GPIO + 2 = Sync + 3 = MCLK input + $ref: "/schemas/types.yaml#/definitions/uint32" + minimum: 0 + maximum: 3 + + cirrus,gpio2-polarity-invert: + description: + Boolean which specifies whether the GPIO2 + level is inverted. If this property is not present the level is not inverted. + type: boolean + + cirrus,gpio2-output-enable: + description: + Boolean which specifies whether the GPIO2 pin + is configured as an output. If this property is not present the + pin will be configured as an input. + type: boolean + + cirrus,gpio2-src-select: + description: + Configures the function of the GPIO2 pin. + Note that the options are different from the GPIO1 pin. + 0 = High Impedance (Default) + 1 = GPIO + 2 = Open Drain INTB + 3 = MCLK input + 4 = Push-pull INTB (active low) + 5 = Push-pull INT (active high) + $ref: "/schemas/types.yaml#/definitions/uint32" + minimum: 0 + maximum: 5 + +required: + - compatible + - reg + - "#sound-dai-cells" + - cirrus,boost-peak-milliamp + - cirrus,boost-ind-nanohenry + - cirrus,boost-cap-microfarad + +unevaluatedProperties: false + +examples: + - | + cs35l41: cs35l41@2 { + compatible = "cirrus,cs35l41"; + reg = <2>; + VA-supply = <&dummy_vreg>; + VP-supply = <&dummy_vreg>; + reset-gpios = <&gpio 110 0>; + cirrus,boost-peak-milliamp = <4500>; + cirrus,boost-ind-nanohenry = <1000>; + cirrus,boost-cap-microfarad = <15>; + };
\ No newline at end of file |