# 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 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>; }; };