2022-04-05 14:54:18 +01:00
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id : http://devicetree.org/schemas/sound/cirrus,cs35l45.yaml#
$schema : http://devicetree.org/meta-schemas/core.yaml#
title : Cirrus Logic CS35L45 Speaker Amplifier
maintainers :
- Ricardo Rivera-Matos <rriveram@opensource.cirrus.com>
- Richard Fitzgerald <rf@opensource.cirrus.com>
description : |
CS35L45 is a Boosted Mono Class D Amplifier with DSP
Speaker Protection and Adaptive Battery Management.
2022-12-03 17:04:41 +01:00
allOf :
- $ref : dai-common.yaml#
2022-04-05 14:54:18 +01:00
properties :
compatible :
enum :
- cirrus,cs35l45
reg :
maxItems : 1
'#sound-dai-cells' :
const : 1
reset-gpios :
maxItems : 1
vdd-a-supply :
description : voltage regulator phandle for the VDD_A supply
vdd-batt-supply :
description : voltage regulator phandle for the VDD_BATT supply
spi-max-frequency :
maximum : 5000000
cirrus,asp-sdout-hiz-ctrl :
description :
Audio serial port SDOUT Hi-Z control. Sets the Hi-Z
configuration for SDOUT pin of amplifier. Logical OR of
CS35L45_ASP_TX_HIZ_xxx values.
2023-03-17 18:36:10 -05:00
$ref : /schemas/types.yaml#/definitions/uint32
2022-04-05 14:54:18 +01:00
minimum : 0
maximum : 3
default : 2
2023-03-15 10:47:19 -05:00
patternProperties :
"^cirrus,gpio-ctrl[1-3]$" :
description :
GPIO pins configuration.
type : object
additionalProperties : false
properties :
gpio-dir :
description :
GPIO pin direction. Valid only when 'gpio-ctrl' is 1
0 = Output
1 = Input
2023-06-09 16:06:58 +02:00
$ref : /schemas/types.yaml#/definitions/uint32
2023-03-15 10:47:19 -05:00
minimum : 0
maximum : 1
default : 1
gpio-lvl :
description :
GPIO level. Valid only when 'gpio-ctrl' is 1 and 'gpio-dir' is 0
0 = Low
1 = High
2023-06-09 16:06:58 +02:00
$ref : /schemas/types.yaml#/definitions/uint32
2023-03-15 10:47:19 -05:00
minimum : 0
maximum : 1
default : 0
gpio-op-cfg :
description :
GPIO level. Valid only when 'gpio-ctrl' is 1 and 'gpio-dir' is 0
0 = CMOS
1 = Open Drain
2023-06-09 16:06:58 +02:00
$ref : /schemas/types.yaml#/definitions/uint32
2023-03-15 10:47:19 -05:00
minimum : 0
maximum : 1
default : 0
gpio-pol :
description :
GPIO output polarity select. Valid only when 'gpio-ctrl' is 1
and 'gpio-dir' is 0
0 = Non-inverted, Active High
1 = Inverted, Active Low
2023-06-09 16:06:58 +02:00
$ref : /schemas/types.yaml#/definitions/uint32
2023-03-15 10:47:19 -05:00
minimum : 0
maximum : 1
default : 0
gpio-ctrl :
description :
Defines the function of the GPIO pin.
GPIO1
0 = High impedance input
1 = Pin acts as a GPIO, direction controlled by 'gpio-dir'
2 = Pin acts as MDSYNC, direction controlled by MDSYNC
3 -7 = Reserved
GPIO2
0 = High impedance input
1 = Pin acts as a GPIO, direction controlled by 'gpio-dir'
2 = Pin acts as open drain INT
3 = Reserved
4 = Pin acts as push-pull output INT. Active low.
5 = Pin acts as push-pull output INT. Active high.
6 , 7 = Reserved
GPIO3
0 = High impedance input
1 = Pin acts as a GPIO, direction controlled by 'gpio-dir'
2 -7 = Reserved
2023-06-09 16:06:58 +02:00
$ref : /schemas/types.yaml#/definitions/uint32
2023-03-15 10:47:19 -05:00
minimum : 0
maximum : 7
default : 0
2022-04-05 14:54:18 +01:00
required :
- compatible
- reg
- "#sound-dai-cells"
2022-12-03 17:04:41 +01:00
unevaluatedProperties : false
2022-04-05 14:54:18 +01:00
examples :
- |
#include <dt-bindings/sound/cs35l45.h>
spi {
#address-cells = <1>;
#size-cells = <0>;
cs35l45 : cs35l45@2 {
#sound-dai-cells = <1>;
compatible = "cirrus,cs35l45";
reg = <2>;
spi-max-frequency = <5000000>;
vdd-a-supply = <&dummy_vreg>;
vdd-batt-supply = <&dummy_vreg>;
reset-gpios = <&gpio 110 0>;
cirrus,asp-sdout-hiz-ctrl = <(CS35L45_ASP_TX_HIZ_UNUSED |
CS35L45_ASP_TX_HIZ_DISABLED)>;
2023-03-15 10:47:19 -05:00
cirrus,gpio-ctrl1 {
gpio-ctrl = <0x2>;
};
cirrus,gpio-ctrl2 {
gpio-ctrl = <0x2>;
};
cirrus,gpio-ctrl3 {
gpio-ctrl = <0x1>;
gpio-dir = <0x1>;
};
2022-04-05 14:54:18 +01:00
};
};