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