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