| # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/sound/cirrus,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 |
| |
| interrupts: |
| 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,boost-type: |
| description: |
| Configures the type of Boost being used. |
| Internal boost requires boost-peak-milliamp, boost-ind-nanohenry and |
| boost-cap-microfarad. |
| External Boost must have GPIO1 as GPIO output. GPIO1 will be set high to |
| enable boost voltage. |
| 0 = Internal Boost |
| 1 = External Boost |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| minimum: 0 |
| maximum: 1 |
| |
| 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" |
| |
| allOf: |
| - $ref: dai-common.yaml# |
| - if: |
| properties: |
| cirrus,boost-type: |
| const: 0 |
| then: |
| required: |
| - cirrus,boost-peak-milliamp |
| - cirrus,boost-ind-nanohenry |
| - cirrus,boost-cap-microfarad |
| else: |
| if: |
| properties: |
| cirrus,boost-type: |
| const: 1 |
| then: |
| required: |
| - cirrus,gpio1-output-enable |
| - cirrus,gpio1-src-select |
| properties: |
| cirrus,boost-peak-milliamp: false |
| cirrus,boost-ind-nanohenry: false |
| cirrus,boost-cap-microfarad: false |
| cirrus,gpio1-src-select: |
| enum: [1] |
| |
| unevaluatedProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/gpio/gpio.h> |
| |
| spi { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| cs35l41: speaker-amp@2 { |
| #sound-dai-cells = <1>; |
| compatible = "cirrus,cs35l41"; |
| reg = <2>; |
| VA-supply = <&dummy_vreg>; |
| VP-supply = <&dummy_vreg>; |
| reset-gpios = <&gpio 110 GPIO_ACTIVE_HIGH>; |
| |
| cirrus,boost-type = <0>; |
| cirrus,boost-peak-milliamp = <4500>; |
| cirrus,boost-ind-nanohenry = <1000>; |
| cirrus,boost-cap-microfarad = <15>; |
| }; |
| }; |