202 lines
5.5 KiB
YAML
202 lines
5.5 KiB
YAML
# 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>;
|
|
};
|
|
};
|