157 lines
4.2 KiB
YAML
157 lines
4.2 KiB
YAML
# 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.
|
|
|
|
allOf:
|
|
- $ref: dai-common.yaml#
|
|
|
|
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.
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
minimum: 0
|
|
maximum: 3
|
|
default: 2
|
|
|
|
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
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
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
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
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
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
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
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
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
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
minimum: 0
|
|
maximum: 7
|
|
default: 0
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- "#sound-dai-cells"
|
|
|
|
unevaluatedProperties: false
|
|
|
|
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)>;
|
|
cirrus,gpio-ctrl1 {
|
|
gpio-ctrl = <0x2>;
|
|
};
|
|
cirrus,gpio-ctrl2 {
|
|
gpio-ctrl = <0x2>;
|
|
};
|
|
cirrus,gpio-ctrl3 {
|
|
gpio-ctrl = <0x1>;
|
|
gpio-dir = <0x1>;
|
|
};
|
|
};
|
|
};
|