Re: [PATCH v2 1/3] regulator: DT: Add DT property for operation mode configuration
From: Mark Rutland
Date: Mon May 23 2016 - 06:47:23 EST
On Mon, May 23, 2016 at 03:13:29PM +0800, Henry Chen wrote:
> Some regulators support their operating mode to be changed by consumers for
> module specific purpose. Add a DT property to support this.
>
> Signed-off-by: Henry Chen <henryc.chen@xxxxxxxxxxxx>
> ---
> Documentation/devicetree/bindings/regulator/regulator.txt | 5 +++++
> include/dt-bindings/regulator/regulator.h | 14 ++++++++++++++
> 2 files changed, 19 insertions(+)
> create mode 100644 include/dt-bindings/regulator/regulator.h
>
> diff --git a/Documentation/devicetree/bindings/regulator/regulator.txt b/Documentation/devicetree/bindings/regulator/regulator.txt
> index ecfc593..e505d0b 100644
> --- a/Documentation/devicetree/bindings/regulator/regulator.txt
> +++ b/Documentation/devicetree/bindings/regulator/regulator.txt
> @@ -49,6 +49,11 @@ Optional properties:
> 0: Disable active discharge.
> 1: Enable active discharge.
> Absence of this property will leave configuration to default.
> +- regulator-supported-modes: Regulators can run in a variety of different
> + operating modes depending on output load. This allows further system power
> + savings by selecting the best (and most efficient) regulator mode for a
> + desired load. The definition for each of these operation is defined at
> + include/dt-bindings/regulator/regulator.h
This doesen't tell me for the property is formatted.
Is it a list? A mask?
>
> Deprecated properties:
> - regulator-compatible: If a regulator chip contains multiple
> diff --git a/include/dt-bindings/regulator/regulator.h b/include/dt-bindings/regulator/regulator.h
> new file mode 100644
> index 0000000..2ed1dfd
> --- /dev/null
> +++ b/include/dt-bindings/regulator/regulator.h
> @@ -0,0 +1,14 @@
> +/*
> + * This header provides constants for binding regulator.
> + */
> +
> +#ifndef _DT_BINDINGS_REGULATOR_REGULATOR_H
> +#define _DT_BINDINGS_REGULATOR_REGULATOR_H
> +
> +/* Regulator operating modes */
> +#define REGULATOR_OPERATION_MODE_FAST 0x0
> +#define REGULATOR_OPERATION_MODE_NORMAL 0x1
> +#define REGULATOR_OPERATION_MODE_IDLE 0x2
> +#define REGULATOR_OPERATION_MODE_STANDBY 0x3
These sound like they're tied to linux internal details (e.g. the
implementation of idle and/or suspend).
What do each of these actually mean?
Mark.
> +
> +#endif
> --
> 1.8.1.1.dirty
>