2020-06-10 14:54:10

by Pi-Hsun Shih

[permalink] [raw]
Subject: [PATCH v3 0/2] Add support for voltage regulator on ChromeOS EC.

Add support for controlling voltage regulator that is connected and
controlled by ChromeOS EC. Kernel controls these regulators through
newly added EC host commands.

Changes from v2:
* Add 'depends on OF' to Kconfig.
* Add Kconfig description about compiling as module.

Changes from v1:
* Change compatible string to google,regulator-cros-ec.
* Use reg property in device tree.
* Change license for dt binding according to checkpatch.pl.
* Address comments on code styles.

Pi-Hsun Shih (2):
dt-bindings: regulator: Add DT binding for cros-ec-regulator
regulator: Add driver for cros-ec-regulator

.../bindings/regulator/cros-ec-regulator.yaml | 43 +++
drivers/regulator/Kconfig | 10 +
drivers/regulator/Makefile | 1 +
drivers/regulator/cros-ec-regulator.c | 262 ++++++++++++++++++
.../linux/platform_data/cros_ec_commands.h | 82 ++++++
5 files changed, 398 insertions(+)
create mode 100644 Documentation/devicetree/bindings/regulator/cros-ec-regulator.yaml
create mode 100644 drivers/regulator/cros-ec-regulator.c


base-commit: 5b14671be58d0084e7e2d1cc9c2c36a94467f6e0
--
2.27.0.278.ge193c7cf3a9-goog


2020-06-10 14:54:10

by Pi-Hsun Shih

[permalink] [raw]
Subject: [PATCH v3 1/2] dt-bindings: regulator: Add DT binding for cros-ec-regulator

Add DT binding documentation for cros-ec-regulator, a voltage regulator
controlled by ChromeOS EC.

Signed-off-by: Pi-Hsun Shih <[email protected]>
---
Changes from v2:
* No change

Changes from v1:
* Change compatible string to google,regulator-cros-ec.
* Use reg property in device tree.
* Change license for dt binding according to checkpatch.pl.
---
.../bindings/regulator/cros-ec-regulator.yaml | 43 +++++++++++++++++++
1 file changed, 43 insertions(+)
create mode 100644 Documentation/devicetree/bindings/regulator/cros-ec-regulator.yaml

diff --git a/Documentation/devicetree/bindings/regulator/cros-ec-regulator.yaml b/Documentation/devicetree/bindings/regulator/cros-ec-regulator.yaml
new file mode 100644
index 000000000000..e677614dcdf9
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/cros-ec-regulator.yaml
@@ -0,0 +1,43 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/cros-ec-regulator.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ChromeOS EC controlled voltage regulators
+
+maintainers:
+ - Pi-Hsun Shih <[email protected]>
+
+description:
+ Any property defined as part of the core regulator binding, defined in
+ regulator.yaml, can also be used.
+
+allOf:
+ - $ref: "regulator.yaml#"
+
+properties:
+ compatible:
+ const: google,regulator-cros-ec
+
+ reg:
+ maxItems: 1
+ description: Identifier for the voltage regulator to ChromeOS EC.
+
+required:
+ - compatible
+ - reg
+
+examples:
+ - |
+ cros-ec {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ regulator@0 {
+ compatible = "regulator-cros-ec";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3300000>;
+ reg = <0>;
+ };
+ };
+...
--
2.27.0.278.ge193c7cf3a9-goog

2020-06-10 17:22:08

by Enric Balletbo i Serra

[permalink] [raw]
Subject: Re: [PATCH v3 1/2] dt-bindings: regulator: Add DT binding for cros-ec-regulator

Hi Pi-Hsun,

Thank you for your patch. Some few/trivial comments below

On 10/6/20 11:07, Pi-Hsun Shih wrote:
> Add DT binding documentation for cros-ec-regulator, a voltage regulator
> controlled by ChromeOS EC.
>
> Signed-off-by: Pi-Hsun Shih <[email protected]>
> ---
> Changes from v2:
> * No change
>
> Changes from v1:
> * Change compatible string to google,regulator-cros-ec.
> * Use reg property in device tree.
> * Change license for dt binding according to checkpatch.pl.
> ---
> .../bindings/regulator/cros-ec-regulator.yaml | 43 +++++++++++++++++++


The vendor should be part of the binding name, google,cros-ec-regulator.yaml

> 1 file changed, 43 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/regulator/cros-ec-regulator.yaml
>
> diff --git a/Documentation/devicetree/bindings/regulator/cros-ec-regulator.yaml b/Documentation/devicetree/bindings/regulator/cros-ec-regulator.yaml
> new file mode 100644
> index 000000000000..e677614dcdf9
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/regulator/cros-ec-regulator.yaml
> @@ -0,0 +1,43 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/regulator/cros-ec-regulator.yaml#

Remember also to change the name here.

> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: ChromeOS EC controlled voltage regulators
> +
> +maintainers:
> + - Pi-Hsun Shih <[email protected]>
> +
> +description:
> + Any property defined as part of the core regulator binding, defined in
> + regulator.yaml, can also be used.
> +
> +allOf:
> + - $ref: "regulator.yaml#"
> +
> +properties:
> + compatible:
> + const: google,regulator-cros-ec
> +
> + reg:
> + maxItems: 1
> + description: Identifier for the voltage regulator to ChromeOS EC.
> +
> +required:
> + - compatible
> + - reg
> +
> +examples:
> + - |

Please use a full example,

spi0 {
#address-cells = <1>;
#size-cells = <0>;

cros_ec: ec@0 {
compatible = "google,cros-ec-spi";
reg = <0>;


> + cros-ec {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + regulator@0 {
> + compatible = "regulator-cros-ec";

The compatible should be "google,cros-ec-regulator"

> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <3300000>;
> + reg = <0>;
> + };
> + };
> +...
>