mirror of
https://github.com/torvalds/linux.git
synced 2026-11-06 21:58:01 +01:00
ASoC: dt-bindings: cs35l45: Adds LDPM settings
Introduce devicetree properties for configuring level dependent power management (LDPM) functionality. Signed-off-by: Ricardo Rivera-Matos <rriveram@opensource.cirrus.com> Link: https://patch.msgid.link/20261001-cs35l45-ldpm-v1-1-545787a5afe5@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
923ff8155e
commit
cd4c07a11e
|
|
@ -71,6 +71,58 @@ properties:
|
|||
maximum: 7
|
||||
default: 0
|
||||
|
||||
cirrus,ldpm-group1-boost-select:
|
||||
type: boolean
|
||||
description:
|
||||
When in a valid group 1 level dependent power management (LDPM) state
|
||||
the integrated boost converter will enter the configured low power mode.
|
||||
|
||||
cirrus,boost-low-power-mode:
|
||||
description:
|
||||
Configures the integrated boost converter reaction to a low power mode
|
||||
request.
|
||||
0 = No reaction
|
||||
1 = Force boost DCM low power mode
|
||||
2 = Force boost static bypass
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
default: 2
|
||||
enum:
|
||||
- 0
|
||||
- 1
|
||||
- 2
|
||||
|
||||
cirrus,ldpm-group1-amp-select:
|
||||
type: boolean
|
||||
description:
|
||||
When in a valid group 1 level dependent power management (LDPM) state
|
||||
the amplifier will enter the configured low power mode.
|
||||
|
||||
cirrus,amplifier-low-power-mode:
|
||||
description:
|
||||
Configures the amplifier output stage reaction to a low power mode
|
||||
request.
|
||||
0 = Stop output switching (noise gate mode)
|
||||
1 = Noise floor reduction mode
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
default: 1
|
||||
enum:
|
||||
- 0
|
||||
- 1
|
||||
|
||||
cirrus,ldpm-group2-vmon-select:
|
||||
type: boolean
|
||||
description:
|
||||
When in a valid group 2 level dependent power management (LDPM) state
|
||||
the voltage monitor (VMON) circuit is put into a low power operational
|
||||
state.
|
||||
|
||||
cirrus,ldpm-group2-imon-select:
|
||||
type: boolean
|
||||
description:
|
||||
When in a valid group 2 level dependent power management (LDPM) state
|
||||
the current monitor (IMON) circuit is put into a low power operational
|
||||
state.
|
||||
|
||||
patternProperties:
|
||||
"^cirrus,gpio-ctrl[1-3]$":
|
||||
description:
|
||||
|
|
@ -139,6 +191,30 @@ patternProperties:
|
|||
minimum: 0
|
||||
maximum: 7
|
||||
default: 0
|
||||
|
||||
"^cirrus,ldpm-group[1-2]-pcm-threshold-db$":
|
||||
description:
|
||||
Amplifier level dependent power management (LDPM) threshold. Input
|
||||
referred threshold of the PCM audio signal in which the level is low
|
||||
enough for the LDPM group to engage after entry delay. A value of dB
|
||||
-2147483648 is assumed to mean true zero data with an LSB dither.
|
||||
$ref: /schemas/types.yaml#/definitions/int32-array
|
||||
minItems: 1
|
||||
maxItems: 1
|
||||
items:
|
||||
enum: [-2147483648, -102, -96, -90, -84, -78, -72, -66]
|
||||
|
||||
"^cirrus,ldpm-group[1-2]-delay-ms$":
|
||||
description:
|
||||
Amplifier level dependent power management (LDPM) state entry delay.
|
||||
Time that the incoming audio signal must be below the PCM threshold
|
||||
before the LDPM group engages.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
minItems: 1
|
||||
maxItems: 1
|
||||
items:
|
||||
enum: [5, 10, 25, 50, 100, 250, 500, 1000]
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
|
@ -165,6 +241,16 @@ examples:
|
|||
CS35L45_ASP_TX_HIZ_DISABLED)>;
|
||||
cirrus,sync-lsw-txid = <0x1>;
|
||||
cirrus,sync-sw-txid = <0x1>;
|
||||
cirrus,ldpm-group1-pcm-threshold-db = <(-66)>;
|
||||
cirrus,ldpm-group1-delay-ms = <500>;
|
||||
cirrus,ldpm-group1-boost-select;
|
||||
cirrus,boost-low-power-mode = <CS35L45_BST_LPMODE_DCM_MODE>;
|
||||
cirrus,ldpm-group1-amp-select;
|
||||
cirrus,amplifier-low-power-mode = <CS35L45_AMP_LPMODE_NFR_MODE>;
|
||||
cirrus,ldpm-group2-pcm-threshold-db = <(-102)>;
|
||||
cirrus,ldpm-group2-delay-ms = <1000>;
|
||||
cirrus,ldpm-group2-vmon-select;
|
||||
cirrus,ldpm-group2-imon-select;
|
||||
cirrus,gpio-ctrl1 {
|
||||
gpio-ctrl = <0x2>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -17,6 +17,33 @@
|
|||
#define CS35L45_ASP_TX_HIZ_UNUSED 0x1
|
||||
#define CS35L45_ASP_TX_HIZ_DISABLED 0x2
|
||||
|
||||
/*
|
||||
* cirrus,boost-low-power-mode
|
||||
*
|
||||
* BST_LPMODE_NO_REACTION: No reaction
|
||||
* BST_LPMODE_DCM_MODE: Force boost DCM low power mode
|
||||
* BST_LPMODE_STATIC_BYPASS: Force boost static bypass
|
||||
*/
|
||||
#define CS35L45_BST_LPMODE_NO_REACTION 0x0
|
||||
#define CS35L45_BST_LPMODE_DCM_MODE 0x1
|
||||
#define CS35L45_BST_LPMODE_STATIC_BYPASS 0x2
|
||||
|
||||
/*
|
||||
* cirrus,amplifier-low-power-mode
|
||||
*
|
||||
* AMP_LPMODE_NG_MODE: Noise gate mode
|
||||
* AMP_LPMODE_NFR_MODE: Noise floor reduction mode
|
||||
*/
|
||||
#define CS35L45_AMP_LPMODE_NG_MODE 0x0
|
||||
#define CS35L45_AMP_LPMODE_NFR_MODE 0x1
|
||||
|
||||
/*
|
||||
* cirrus,ldpm-groupX-pcm-threshold-db
|
||||
*
|
||||
* LDPM_PCM_THLD_TRUE_ZERO:
|
||||
*/
|
||||
#define CS35L45_LDPM_PCM_THLD_TRUE_ZERO -2147483648
|
||||
|
||||
/*
|
||||
* Optional GPIOX Sub-nodes:
|
||||
* The cs35l45 node can have up to three "cirrus,gpio-ctrlX" ('X' = [1,2,3])
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user