* [PATCH v3 0/3] Fix checker warnings related to cros-ec binding
@ 2020-10-21 11:43 Ricardo Cañuelo
2020-10-21 11:43 ` [PATCH v3 1/3] dt-bindings: i2c: convert i2c-cros-ec-tunnel to json-schema Ricardo Cañuelo
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Ricardo Cañuelo @ 2020-10-21 11:43 UTC (permalink / raw)
To: robh
Cc: kernel, enric.balletbo, bleung, groeck, sjg, dianders, devicetree,
dmitry.torokhov, cychiang, tzungbi
This series fixes a bunch of warnings related to the google,cros-ec
binding, originally reported by Rob Herring.
The patches involve adding missing subnode definitions in the
google,cros-ec binding and the conversion of two existing bindings to
json-schema.
All the related warnings should be fixed after applying the patches,
except for a couple of warnings in the device trees of Qualcomm's
Trogdor and Cheza chromebooks. They define a pdupdate subnode inside
cros-ec that has no binding, the development of drivers and support for
these chromebooks is ongoing and not completely upstreamed yet.
Bindings tested with:
make dt_binding_check ARCH=<arch> DT_SCHEMA_FILES=...
make dtbs_check ARCH=<arch> DT_SCHEMA_FILES=...
for <arch> = arm and arm64.
Changes from v2:
- [Rob] bindings/input/google,cros-ec-keyb.yaml restored to the v1
version (ie. using unevaluatedProperties: false and referencing
input/matrix-keymap.yaml)
Regarding the discussion [1] about the addition of a new "codecs"
intermediate node in google,cros-ec.yaml to hold the ec-codec, I decided
to leave it in since I think that should be the proper way to define
it. Currently there's no hardware nor DTs using that device, so when
it's eventually used the sound/soc/codecs/cros_ec_codec.c driver should
be updated to handle the DT structure properly.
[1] https://www.spinics.net/lists/devicetree/msg382463.html
Cheers,
Ricardo
Ricardo Cañuelo (3):
dt-bindings: i2c: convert i2c-cros-ec-tunnel to json-schema
dt-bindings: input: convert cros-ec-keyb to json-schema
mfd: google,cros-ec: add missing properties
.../i2c/google,cros-ec-i2c-tunnel.yaml | 63 +++++++++++++
.../bindings/i2c/i2c-cros-ec-tunnel.txt | 39 --------
.../bindings/input/cros-ec-keyb.txt | 72 ---------------
.../bindings/input/google,cros-ec-keyb.yaml | 92 +++++++++++++++++++
.../bindings/mfd/google,cros-ec.yaml | 50 ++++++++++
.../bindings/sound/google,cros-ec-codec.yaml | 26 ++++--
6 files changed, 221 insertions(+), 121 deletions(-)
create mode 100644 Documentation/devicetree/bindings/i2c/google,cros-ec-i2c-tunnel.yaml
delete mode 100644 Documentation/devicetree/bindings/i2c/i2c-cros-ec-tunnel.txt
delete mode 100644 Documentation/devicetree/bindings/input/cros-ec-keyb.txt
create mode 100644 Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
--
2.18.0
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v3 1/3] dt-bindings: i2c: convert i2c-cros-ec-tunnel to json-schema
2020-10-21 11:43 [PATCH v3 0/3] Fix checker warnings related to cros-ec binding Ricardo Cañuelo
@ 2020-10-21 11:43 ` Ricardo Cañuelo
2020-10-23 16:52 ` Rob Herring
2020-10-21 11:43 ` [PATCH v3 2/3] dt-bindings: input: convert cros-ec-keyb " Ricardo Cañuelo
2020-10-21 11:43 ` [PATCH v3 3/3] mfd: google,cros-ec: add missing properties Ricardo Cañuelo
2 siblings, 1 reply; 9+ messages in thread
From: Ricardo Cañuelo @ 2020-10-21 11:43 UTC (permalink / raw)
To: robh
Cc: kernel, enric.balletbo, bleung, groeck, sjg, dianders, devicetree,
dmitry.torokhov, cychiang, tzungbi
Convert the google,cros-ec-i2c-tunnel binding to YAML and add it as a
property of google,cros-ec.yaml.
Signed-off-by: Ricardo Cañuelo <ricardo.canuelo@collabora.com>
Reviewed-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
---
.../i2c/google,cros-ec-i2c-tunnel.yaml | 63 +++++++++++++++++++
.../bindings/i2c/i2c-cros-ec-tunnel.txt | 39 ------------
.../bindings/mfd/google,cros-ec.yaml | 5 ++
3 files changed, 68 insertions(+), 39 deletions(-)
create mode 100644 Documentation/devicetree/bindings/i2c/google,cros-ec-i2c-tunnel.yaml
delete mode 100644 Documentation/devicetree/bindings/i2c/i2c-cros-ec-tunnel.txt
diff --git a/Documentation/devicetree/bindings/i2c/google,cros-ec-i2c-tunnel.yaml b/Documentation/devicetree/bindings/i2c/google,cros-ec-i2c-tunnel.yaml
new file mode 100644
index 000000000000..f83ff67596e6
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/google,cros-ec-i2c-tunnel.yaml
@@ -0,0 +1,63 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+
+$id: http://devicetree.org/schemas/i2c/google,cros-ec-i2c-tunnel.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: I2C bus that tunnels through the ChromeOS EC (cros-ec)
+
+maintainers:
+ - Doug Anderson <dianders@chromium.org>
+ - Benson Leung <bleung@chromium.org>
+ - Enric Balletbo i Serra <enric.balletbo@collabora.com>
+
+description: |
+ On some ChromeOS board designs we've got a connection to the EC
+ (embedded controller) but no direct connection to some devices on the
+ other side of the EC (like a battery and PMIC). To get access to
+ those devices we need to tunnel our i2c commands through the EC.
+
+ The node for this device should be under a cros-ec node like
+ google,cros-ec-spi or google,cros-ec-i2c.
+
+properties:
+ compatible:
+ const: google,cros-ec-i2c-tunnel
+
+ google,remote-bus:
+ description: The EC bus we'd like to talk to.
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+required:
+ - compatible
+ - google,remote-bus
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ spi0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cros-ec@0 {
+ compatible = "google,cros-ec-spi";
+ reg = <0>;
+ spi-max-frequency = <5000000>;
+
+ i2c-tunnel {
+ compatible = "google,cros-ec-i2c-tunnel";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ google,remote-bus = <0>;
+
+ battery: sbs-battery@b {
+ compatible = "sbs,sbs-battery";
+ reg = <0xb>;
+ sbs,poll-retry-count = <1>;
+ };
+ };
+ };
+ };
diff --git a/Documentation/devicetree/bindings/i2c/i2c-cros-ec-tunnel.txt b/Documentation/devicetree/bindings/i2c/i2c-cros-ec-tunnel.txt
deleted file mode 100644
index 898f030eba62..000000000000
--- a/Documentation/devicetree/bindings/i2c/i2c-cros-ec-tunnel.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-I2C bus that tunnels through the ChromeOS EC (cros-ec)
-======================================================
-On some ChromeOS board designs we've got a connection to the EC (embedded
-controller) but no direct connection to some devices on the other side of
-the EC (like a battery and PMIC). To get access to those devices we need
-to tunnel our i2c commands through the EC.
-
-The node for this device should be under a cros-ec node like google,cros-ec-spi
-or google,cros-ec-i2c.
-
-
-Required properties:
-- compatible: google,cros-ec-i2c-tunnel
-- google,remote-bus: The EC bus we'd like to talk to.
-
-Optional child nodes:
-- One node per I2C device connected to the tunnelled I2C bus.
-
-
-Example:
- cros-ec@0 {
- compatible = "google,cros-ec-spi";
-
- ...
-
- i2c-tunnel {
- compatible = "google,cros-ec-i2c-tunnel";
- #address-cells = <1>;
- #size-cells = <0>;
-
- google,remote-bus = <0>;
-
- battery: sbs-battery@b {
- compatible = "sbs,sbs-battery";
- reg = <0xb>;
- sbs,poll-retry-count = <1>;
- };
- };
- }
diff --git a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
index f49c0d5d31ad..c45cf30ea3aa 100644
--- a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
+++ b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
@@ -71,6 +71,11 @@ properties:
wakeup-source:
description: Button can wake-up the system.
+patternProperties:
+ "^i2c-tunnel[0-9]*$":
+ type: object
+ $ref: "/schemas/i2c/google,cros-ec-i2c-tunnel.yaml#"
+
required:
- compatible
--
2.18.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v3 2/3] dt-bindings: input: convert cros-ec-keyb to json-schema
2020-10-21 11:43 [PATCH v3 0/3] Fix checker warnings related to cros-ec binding Ricardo Cañuelo
2020-10-21 11:43 ` [PATCH v3 1/3] dt-bindings: i2c: convert i2c-cros-ec-tunnel to json-schema Ricardo Cañuelo
@ 2020-10-21 11:43 ` Ricardo Cañuelo
2020-10-21 15:09 ` Enric Balletbo i Serra
2020-10-23 16:54 ` Rob Herring
2020-10-21 11:43 ` [PATCH v3 3/3] mfd: google,cros-ec: add missing properties Ricardo Cañuelo
2 siblings, 2 replies; 9+ messages in thread
From: Ricardo Cañuelo @ 2020-10-21 11:43 UTC (permalink / raw)
To: robh
Cc: kernel, enric.balletbo, bleung, groeck, sjg, dianders, devicetree,
dmitry.torokhov, cychiang, tzungbi
Convert the google,cros-ec-keyb binding to YAML and add it as a property
of google,cros-ec.yaml
Signed-off-by: Ricardo Cañuelo <ricardo.canuelo@collabora.com>
---
.../bindings/input/cros-ec-keyb.txt | 72 ---------------
.../bindings/input/google,cros-ec-keyb.yaml | 92 +++++++++++++++++++
.../bindings/mfd/google,cros-ec.yaml | 3 +
3 files changed, 95 insertions(+), 72 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/input/cros-ec-keyb.txt
create mode 100644 Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
diff --git a/Documentation/devicetree/bindings/input/cros-ec-keyb.txt b/Documentation/devicetree/bindings/input/cros-ec-keyb.txt
deleted file mode 100644
index 0f6355ce39b5..000000000000
--- a/Documentation/devicetree/bindings/input/cros-ec-keyb.txt
+++ /dev/null
@@ -1,72 +0,0 @@
-ChromeOS EC Keyboard
-
-Google's ChromeOS EC Keyboard is a simple matrix keyboard implemented on
-a separate EC (Embedded Controller) device. It provides a message for reading
-key scans from the EC. These are then converted into keycodes for processing
-by the kernel.
-
-This binding is based on matrix-keymap.txt and extends/modifies it as follows:
-
-Required properties:
-- compatible: "google,cros-ec-keyb"
-
-Optional properties:
-- google,needs-ghost-filter: True to enable a ghost filter for the matrix
-keyboard. This is recommended if the EC does not have its own logic or
-hardware for this.
-
-
-Example:
-
-cros-ec-keyb {
- compatible = "google,cros-ec-keyb";
- keypad,num-rows = <8>;
- keypad,num-columns = <13>;
- google,needs-ghost-filter;
- /*
- * Keymap entries take the form of 0xRRCCKKKK where
- * RR=Row CC=Column KKKK=Key Code
- * The values below are for a US keyboard layout and
- * are taken from the Linux driver. Note that the
- * 102ND key is not used for US keyboards.
- */
- linux,keymap = <
- /* CAPSLCK F1 B F10 */
- 0x0001003a 0x0002003b 0x00030030 0x00040044
- /* N = R_ALT ESC */
- 0x00060031 0x0008000d 0x000a0064 0x01010001
- /* F4 G F7 H */
- 0x0102003e 0x01030022 0x01040041 0x01060023
- /* ' F9 BKSPACE L_CTRL */
- 0x01080028 0x01090043 0x010b000e 0x0200001d
- /* TAB F3 T F6 */
- 0x0201000f 0x0202003d 0x02030014 0x02040040
- /* ] Y 102ND [ */
- 0x0205001b 0x02060015 0x02070056 0x0208001a
- /* F8 GRAVE F2 5 */
- 0x02090042 0x03010029 0x0302003c 0x03030006
- /* F5 6 - \ */
- 0x0304003f 0x03060007 0x0308000c 0x030b002b
- /* R_CTRL A D F */
- 0x04000061 0x0401001e 0x04020020 0x04030021
- /* S K J ; */
- 0x0404001f 0x04050025 0x04060024 0x04080027
- /* L ENTER Z C */
- 0x04090026 0x040b001c 0x0501002c 0x0502002e
- /* V X , M */
- 0x0503002f 0x0504002d 0x05050033 0x05060032
- /* L_SHIFT / . SPACE */
- 0x0507002a 0x05080035 0x05090034 0x050B0039
- /* 1 3 4 2 */
- 0x06010002 0x06020004 0x06030005 0x06040003
- /* 8 7 0 9 */
- 0x06050009 0x06060008 0x0608000b 0x0609000a
- /* L_ALT DOWN RIGHT Q */
- 0x060a0038 0x060b006c 0x060c006a 0x07010010
- /* E R W I */
- 0x07020012 0x07030013 0x07040011 0x07050017
- /* U R_SHIFT P O */
- 0x07060016 0x07070036 0x07080019 0x07090018
- /* UP LEFT */
- 0x070b0067 0x070c0069>;
-};
diff --git a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
new file mode 100644
index 000000000000..8e50c14a9d77
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
@@ -0,0 +1,92 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+
+$id: http://devicetree.org/schemas/input/google,cros-ec-keyb.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ChromeOS EC Keyboard
+
+maintainers:
+ - Simon Glass <sjg@chromium.org>
+ - Benson Leung <bleung@chromium.org>
+ - Enric Balletbo i Serra <enric.balletbo@collabora.com>
+
+description: |
+ Google's ChromeOS EC Keyboard is a simple matrix keyboard
+ implemented on a separate EC (Embedded Controller) device. It provides
+ a message for reading key scans from the EC. These are then converted
+ into keycodes for processing by the kernel.
+
+allOf:
+ - $ref: "/schemas/input/matrix-keymap.yaml#"
+
+properties:
+ compatible:
+ const: google,cros-ec-keyb
+
+ google,needs-ghost-filter:
+ description:
+ Enable a ghost filter for the matrix keyboard. This is recommended
+ if the EC does not have its own logic or hardware for this.
+ type: boolean
+
+required:
+ - compatible
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ cros-ec-keyb {
+ compatible = "google,cros-ec-keyb";
+ keypad,num-rows = <8>;
+ keypad,num-columns = <13>;
+ google,needs-ghost-filter;
+ /*
+ * Keymap entries take the form of 0xRRCCKKKK where
+ * RR=Row CC=Column KKKK=Key Code
+ * The values below are for a US keyboard layout and
+ * are taken from the Linux driver. Note that the
+ * 102ND key is not used for US keyboards.
+ */
+ linux,keymap = <
+ /* CAPSLCK F1 B F10 */
+ 0x0001003a 0x0002003b 0x00030030 0x00040044
+ /* N = R_ALT ESC */
+ 0x00060031 0x0008000d 0x000a0064 0x01010001
+ /* F4 G F7 H */
+ 0x0102003e 0x01030022 0x01040041 0x01060023
+ /* ' F9 BKSPACE L_CTRL */
+ 0x01080028 0x01090043 0x010b000e 0x0200001d
+ /* TAB F3 T F6 */
+ 0x0201000f 0x0202003d 0x02030014 0x02040040
+ /* ] Y 102ND [ */
+ 0x0205001b 0x02060015 0x02070056 0x0208001a
+ /* F8 GRAVE F2 5 */
+ 0x02090042 0x03010029 0x0302003c 0x03030006
+ /* F5 6 - \ */
+ 0x0304003f 0x03060007 0x0308000c 0x030b002b
+ /* R_CTRL A D F */
+ 0x04000061 0x0401001e 0x04020020 0x04030021
+ /* S K J ; */
+ 0x0404001f 0x04050025 0x04060024 0x04080027
+ /* L ENTER Z C */
+ 0x04090026 0x040b001c 0x0501002c 0x0502002e
+ /* V X , M */
+ 0x0503002f 0x0504002d 0x05050033 0x05060032
+ /* L_SHIFT / . SPACE */
+ 0x0507002a 0x05080035 0x05090034 0x050B0039
+ /* 1 3 4 2 */
+ 0x06010002 0x06020004 0x06030005 0x06040003
+ /* 8 7 0 9 */
+ 0x06050009 0x06060008 0x0608000b 0x0609000a
+ /* L_ALT DOWN RIGHT Q */
+ 0x060a0038 0x060b006c 0x060c006a 0x07010010
+ /* E R W I */
+ 0x07020012 0x07030013 0x07040011 0x07050017
+ /* U R_SHIFT P O */
+ 0x07060016 0x07070036 0x07080019 0x07090018
+ /* UP LEFT */
+ 0x070b0067 0x070c0069>;
+ };
diff --git a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
index c45cf30ea3aa..351bfb6d37ba 100644
--- a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
+++ b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
@@ -71,6 +71,9 @@ properties:
wakeup-source:
description: Button can wake-up the system.
+ keyboard-controller:
+ $ref: "/schemas/input/google,cros-ec-keyb.yaml#"
+
patternProperties:
"^i2c-tunnel[0-9]*$":
type: object
--
2.18.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v3 3/3] mfd: google,cros-ec: add missing properties
2020-10-21 11:43 [PATCH v3 0/3] Fix checker warnings related to cros-ec binding Ricardo Cañuelo
2020-10-21 11:43 ` [PATCH v3 1/3] dt-bindings: i2c: convert i2c-cros-ec-tunnel to json-schema Ricardo Cañuelo
2020-10-21 11:43 ` [PATCH v3 2/3] dt-bindings: input: convert cros-ec-keyb " Ricardo Cañuelo
@ 2020-10-21 11:43 ` Ricardo Cañuelo
2020-10-21 15:14 ` Enric Balletbo i Serra
2020-10-23 16:54 ` Rob Herring
2 siblings, 2 replies; 9+ messages in thread
From: Ricardo Cañuelo @ 2020-10-21 11:43 UTC (permalink / raw)
To: robh
Cc: kernel, enric.balletbo, bleung, groeck, sjg, dianders, devicetree,
dmitry.torokhov, cychiang, tzungbi
Add missing properties that are currently used in the examples of
subnode bindings and in many DTs.
Also updates the example in sound/google,cros-ec-codec.yaml to comply
with the google,cros-ec binding.
Signed-off-by: Ricardo Cañuelo <ricardo.canuelo@collabora.com>
---
.../bindings/mfd/google,cros-ec.yaml | 42 +++++++++++++++++++
.../bindings/sound/google,cros-ec-codec.yaml | 26 +++++++-----
2 files changed, 58 insertions(+), 10 deletions(-)
diff --git a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
index 351bfb6d37ba..48929bb07d98 100644
--- a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
+++ b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
@@ -59,6 +59,14 @@ properties:
whether this nvram is present or not.
type: boolean
+ mtk,rpmsg-name:
+ description:
+ Must be defined if the cros-ec is a rpmsg device for a Mediatek
+ ARM Cortex M4 Co-processor. Contains the name pf the rpmsg
+ device. Used to match the subnode to the rpmsg device announced by
+ the SCP.
+ $ref: "/schemas/types.yaml#/definitions/string"
+
spi-max-frequency:
description: Maximum SPI frequency of the device in Hz.
@@ -71,14 +79,48 @@ properties:
wakeup-source:
description: Button can wake-up the system.
+ typec:
+ $ref: "/schemas/chrome/google,cros-ec-typec.yaml#"
+
+ ec-pwm:
+ $ref: "/schemas/pwm/google,cros-ec-pwm.yaml#"
+
keyboard-controller:
$ref: "/schemas/input/google,cros-ec-keyb.yaml#"
+ codecs:
+ type: object
+ additionalProperties: false
+
+ properties:
+ '#address-cells':
+ const: 2
+
+ '#size-cells':
+ const: 1
+
+ patternProperties:
+ "^ec-codec@[a-f0-9]+$":
+ type: object
+ $ref: "/schemas/sound/google,cros-ec-codec.yaml#"
+
+ required:
+ - "#address-cells"
+ - "#size-cells"
+
patternProperties:
"^i2c-tunnel[0-9]*$":
type: object
$ref: "/schemas/i2c/google,cros-ec-i2c-tunnel.yaml#"
+ "^regulator@[0-9]+$":
+ type: object
+ $ref: "/schemas/regulator/google,cros-ec-regulator.yaml#"
+
+ "^extcon[0-9]*$":
+ type: object
+ $ref: "/schemas/extcon/extcon-usbc-cros-ec.yaml#"
+
required:
- compatible
diff --git a/Documentation/devicetree/bindings/sound/google,cros-ec-codec.yaml b/Documentation/devicetree/bindings/sound/google,cros-ec-codec.yaml
index c84e656afb0a..acfb9db021dc 100644
--- a/Documentation/devicetree/bindings/sound/google,cros-ec-codec.yaml
+++ b/Documentation/devicetree/bindings/sound/google,cros-ec-codec.yaml
@@ -11,9 +11,10 @@ maintainers:
description: |
Google's ChromeOS EC codec is a digital mic codec provided by the
- Embedded Controller (EC) and is controlled via a host-command interface.
- An EC codec node should only be found as a sub-node of the EC node (see
- Documentation/devicetree/bindings/mfd/cros-ec.txt).
+ Embedded Controller (EC) and is controlled via a host-command
+ interface. An EC codec node should only be found inside the "codecs"
+ subnode of a cros-ec node.
+ (see Documentation/devicetree/bindings/mfd/google,cros-ec.yaml).
properties:
compatible:
@@ -54,14 +55,19 @@ examples:
#size-cells = <0>;
cros-ec@0 {
compatible = "google,cros-ec-spi";
- #address-cells = <2>;
- #size-cells = <1>;
reg = <0>;
- cros_ec_codec: ec-codec@10500000 {
- compatible = "google,cros-ec-codec";
- #sound-dai-cells = <1>;
- reg = <0x0 0x10500000 0x80000>;
- memory-region = <&reserved_mem>;
+
+ codecs {
+ #address-cells = <2>;
+ #size-cells = <1>;
+
+ cros_ec_codec: ec-codec@10500000 {
+ compatible = "google,cros-ec-codec";
+ #sound-dai-cells = <1>;
+ reg = <0x0 0x10500000 0x80000>;
+ memory-region = <&reserved_mem>;
+ };
+
};
};
};
--
2.18.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v3 2/3] dt-bindings: input: convert cros-ec-keyb to json-schema
2020-10-21 11:43 ` [PATCH v3 2/3] dt-bindings: input: convert cros-ec-keyb " Ricardo Cañuelo
@ 2020-10-21 15:09 ` Enric Balletbo i Serra
2020-10-23 16:54 ` Rob Herring
1 sibling, 0 replies; 9+ messages in thread
From: Enric Balletbo i Serra @ 2020-10-21 15:09 UTC (permalink / raw)
To: Ricardo Cañuelo, robh
Cc: kernel, bleung, groeck, sjg, dianders, devicetree,
dmitry.torokhov, cychiang, tzungbi
Hi Ricardo,
On 21/10/20 13:43, Ricardo Cañuelo wrote:
> Convert the google,cros-ec-keyb binding to YAML and add it as a property
> of google,cros-ec.yaml
>
> Signed-off-by: Ricardo Cañuelo <ricardo.canuelo@collabora.com>
Reviewed-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
> ---
> .../bindings/input/cros-ec-keyb.txt | 72 ---------------
> .../bindings/input/google,cros-ec-keyb.yaml | 92 +++++++++++++++++++
> .../bindings/mfd/google,cros-ec.yaml | 3 +
> 3 files changed, 95 insertions(+), 72 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/input/cros-ec-keyb.txt
> create mode 100644 Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
>
> diff --git a/Documentation/devicetree/bindings/input/cros-ec-keyb.txt b/Documentation/devicetree/bindings/input/cros-ec-keyb.txt
> deleted file mode 100644
> index 0f6355ce39b5..000000000000
> --- a/Documentation/devicetree/bindings/input/cros-ec-keyb.txt
> +++ /dev/null
> @@ -1,72 +0,0 @@
> -ChromeOS EC Keyboard
> -
> -Google's ChromeOS EC Keyboard is a simple matrix keyboard implemented on
> -a separate EC (Embedded Controller) device. It provides a message for reading
> -key scans from the EC. These are then converted into keycodes for processing
> -by the kernel.
> -
> -This binding is based on matrix-keymap.txt and extends/modifies it as follows:
> -
> -Required properties:
> -- compatible: "google,cros-ec-keyb"
> -
> -Optional properties:
> -- google,needs-ghost-filter: True to enable a ghost filter for the matrix
> -keyboard. This is recommended if the EC does not have its own logic or
> -hardware for this.
> -
> -
> -Example:
> -
> -cros-ec-keyb {
> - compatible = "google,cros-ec-keyb";
> - keypad,num-rows = <8>;
> - keypad,num-columns = <13>;
> - google,needs-ghost-filter;
> - /*
> - * Keymap entries take the form of 0xRRCCKKKK where
> - * RR=Row CC=Column KKKK=Key Code
> - * The values below are for a US keyboard layout and
> - * are taken from the Linux driver. Note that the
> - * 102ND key is not used for US keyboards.
> - */
> - linux,keymap = <
> - /* CAPSLCK F1 B F10 */
> - 0x0001003a 0x0002003b 0x00030030 0x00040044
> - /* N = R_ALT ESC */
> - 0x00060031 0x0008000d 0x000a0064 0x01010001
> - /* F4 G F7 H */
> - 0x0102003e 0x01030022 0x01040041 0x01060023
> - /* ' F9 BKSPACE L_CTRL */
> - 0x01080028 0x01090043 0x010b000e 0x0200001d
> - /* TAB F3 T F6 */
> - 0x0201000f 0x0202003d 0x02030014 0x02040040
> - /* ] Y 102ND [ */
> - 0x0205001b 0x02060015 0x02070056 0x0208001a
> - /* F8 GRAVE F2 5 */
> - 0x02090042 0x03010029 0x0302003c 0x03030006
> - /* F5 6 - \ */
> - 0x0304003f 0x03060007 0x0308000c 0x030b002b
> - /* R_CTRL A D F */
> - 0x04000061 0x0401001e 0x04020020 0x04030021
> - /* S K J ; */
> - 0x0404001f 0x04050025 0x04060024 0x04080027
> - /* L ENTER Z C */
> - 0x04090026 0x040b001c 0x0501002c 0x0502002e
> - /* V X , M */
> - 0x0503002f 0x0504002d 0x05050033 0x05060032
> - /* L_SHIFT / . SPACE */
> - 0x0507002a 0x05080035 0x05090034 0x050B0039
> - /* 1 3 4 2 */
> - 0x06010002 0x06020004 0x06030005 0x06040003
> - /* 8 7 0 9 */
> - 0x06050009 0x06060008 0x0608000b 0x0609000a
> - /* L_ALT DOWN RIGHT Q */
> - 0x060a0038 0x060b006c 0x060c006a 0x07010010
> - /* E R W I */
> - 0x07020012 0x07030013 0x07040011 0x07050017
> - /* U R_SHIFT P O */
> - 0x07060016 0x07070036 0x07080019 0x07090018
> - /* UP LEFT */
> - 0x070b0067 0x070c0069>;
> -};
> diff --git a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
> new file mode 100644
> index 000000000000..8e50c14a9d77
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
> @@ -0,0 +1,92 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +
> +$id: http://devicetree.org/schemas/input/google,cros-ec-keyb.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: ChromeOS EC Keyboard
> +
> +maintainers:
> + - Simon Glass <sjg@chromium.org>
> + - Benson Leung <bleung@chromium.org>
> + - Enric Balletbo i Serra <enric.balletbo@collabora.com>
> +
> +description: |
> + Google's ChromeOS EC Keyboard is a simple matrix keyboard
> + implemented on a separate EC (Embedded Controller) device. It provides
> + a message for reading key scans from the EC. These are then converted
> + into keycodes for processing by the kernel.
> +
> +allOf:
> + - $ref: "/schemas/input/matrix-keymap.yaml#"
> +
> +properties:
> + compatible:
> + const: google,cros-ec-keyb
> +
> + google,needs-ghost-filter:
> + description:
> + Enable a ghost filter for the matrix keyboard. This is recommended
> + if the EC does not have its own logic or hardware for this.
> + type: boolean
> +
> +required:
> + - compatible
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + cros-ec-keyb {
> + compatible = "google,cros-ec-keyb";
> + keypad,num-rows = <8>;
> + keypad,num-columns = <13>;
> + google,needs-ghost-filter;
> + /*
> + * Keymap entries take the form of 0xRRCCKKKK where
> + * RR=Row CC=Column KKKK=Key Code
> + * The values below are for a US keyboard layout and
> + * are taken from the Linux driver. Note that the
> + * 102ND key is not used for US keyboards.
> + */
> + linux,keymap = <
> + /* CAPSLCK F1 B F10 */
> + 0x0001003a 0x0002003b 0x00030030 0x00040044
> + /* N = R_ALT ESC */
> + 0x00060031 0x0008000d 0x000a0064 0x01010001
> + /* F4 G F7 H */
> + 0x0102003e 0x01030022 0x01040041 0x01060023
> + /* ' F9 BKSPACE L_CTRL */
> + 0x01080028 0x01090043 0x010b000e 0x0200001d
> + /* TAB F3 T F6 */
> + 0x0201000f 0x0202003d 0x02030014 0x02040040
> + /* ] Y 102ND [ */
> + 0x0205001b 0x02060015 0x02070056 0x0208001a
> + /* F8 GRAVE F2 5 */
> + 0x02090042 0x03010029 0x0302003c 0x03030006
> + /* F5 6 - \ */
> + 0x0304003f 0x03060007 0x0308000c 0x030b002b
> + /* R_CTRL A D F */
> + 0x04000061 0x0401001e 0x04020020 0x04030021
> + /* S K J ; */
> + 0x0404001f 0x04050025 0x04060024 0x04080027
> + /* L ENTER Z C */
> + 0x04090026 0x040b001c 0x0501002c 0x0502002e
> + /* V X , M */
> + 0x0503002f 0x0504002d 0x05050033 0x05060032
> + /* L_SHIFT / . SPACE */
> + 0x0507002a 0x05080035 0x05090034 0x050B0039
> + /* 1 3 4 2 */
> + 0x06010002 0x06020004 0x06030005 0x06040003
> + /* 8 7 0 9 */
> + 0x06050009 0x06060008 0x0608000b 0x0609000a
> + /* L_ALT DOWN RIGHT Q */
> + 0x060a0038 0x060b006c 0x060c006a 0x07010010
> + /* E R W I */
> + 0x07020012 0x07030013 0x07040011 0x07050017
> + /* U R_SHIFT P O */
> + 0x07060016 0x07070036 0x07080019 0x07090018
> + /* UP LEFT */
> + 0x070b0067 0x070c0069>;
> + };
> diff --git a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> index c45cf30ea3aa..351bfb6d37ba 100644
> --- a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> +++ b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> @@ -71,6 +71,9 @@ properties:
> wakeup-source:
> description: Button can wake-up the system.
>
> + keyboard-controller:
> + $ref: "/schemas/input/google,cros-ec-keyb.yaml#"
> +
> patternProperties:
> "^i2c-tunnel[0-9]*$":
> type: object
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3 3/3] mfd: google,cros-ec: add missing properties
2020-10-21 11:43 ` [PATCH v3 3/3] mfd: google,cros-ec: add missing properties Ricardo Cañuelo
@ 2020-10-21 15:14 ` Enric Balletbo i Serra
2020-10-23 16:54 ` Rob Herring
1 sibling, 0 replies; 9+ messages in thread
From: Enric Balletbo i Serra @ 2020-10-21 15:14 UTC (permalink / raw)
To: Ricardo Cañuelo, robh
Cc: kernel, bleung, groeck, sjg, dianders, devicetree,
dmitry.torokhov, cychiang, tzungbi
Hi Ricardo,
On 21/10/20 13:43, Ricardo Cañuelo wrote:
> Add missing properties that are currently used in the examples of
> subnode bindings and in many DTs.
>
> Also updates the example in sound/google,cros-ec-codec.yaml to comply
> with the google,cros-ec binding.
>
> Signed-off-by: Ricardo Cañuelo <ricardo.canuelo@collabora.com>
Reviewed-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
> ---
> .../bindings/mfd/google,cros-ec.yaml | 42 +++++++++++++++++++
> .../bindings/sound/google,cros-ec-codec.yaml | 26 +++++++-----
> 2 files changed, 58 insertions(+), 10 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> index 351bfb6d37ba..48929bb07d98 100644
> --- a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> +++ b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> @@ -59,6 +59,14 @@ properties:
> whether this nvram is present or not.
> type: boolean
>
> + mtk,rpmsg-name:
> + description:
> + Must be defined if the cros-ec is a rpmsg device for a Mediatek
> + ARM Cortex M4 Co-processor. Contains the name pf the rpmsg
> + device. Used to match the subnode to the rpmsg device announced by
> + the SCP.
> + $ref: "/schemas/types.yaml#/definitions/string"
> +
> spi-max-frequency:
> description: Maximum SPI frequency of the device in Hz.
>
> @@ -71,14 +79,48 @@ properties:
> wakeup-source:
> description: Button can wake-up the system.
>
> + typec:
> + $ref: "/schemas/chrome/google,cros-ec-typec.yaml#"
> +
> + ec-pwm:
> + $ref: "/schemas/pwm/google,cros-ec-pwm.yaml#"
> +
> keyboard-controller:
> $ref: "/schemas/input/google,cros-ec-keyb.yaml#"
>
> + codecs:
> + type: object
> + additionalProperties: false
> +
> + properties:
> + '#address-cells':
> + const: 2
> +
> + '#size-cells':
> + const: 1
> +
> + patternProperties:
> + "^ec-codec@[a-f0-9]+$":
> + type: object
> + $ref: "/schemas/sound/google,cros-ec-codec.yaml#"
> +
> + required:
> + - "#address-cells"
> + - "#size-cells"
> +
> patternProperties:
> "^i2c-tunnel[0-9]*$":
> type: object
> $ref: "/schemas/i2c/google,cros-ec-i2c-tunnel.yaml#"
>
> + "^regulator@[0-9]+$":
> + type: object
> + $ref: "/schemas/regulator/google,cros-ec-regulator.yaml#"
> +
> + "^extcon[0-9]*$":
> + type: object
> + $ref: "/schemas/extcon/extcon-usbc-cros-ec.yaml#"
> +
> required:
> - compatible
>
> diff --git a/Documentation/devicetree/bindings/sound/google,cros-ec-codec.yaml b/Documentation/devicetree/bindings/sound/google,cros-ec-codec.yaml
> index c84e656afb0a..acfb9db021dc 100644
> --- a/Documentation/devicetree/bindings/sound/google,cros-ec-codec.yaml
> +++ b/Documentation/devicetree/bindings/sound/google,cros-ec-codec.yaml
> @@ -11,9 +11,10 @@ maintainers:
>
> description: |
> Google's ChromeOS EC codec is a digital mic codec provided by the
> - Embedded Controller (EC) and is controlled via a host-command interface.
> - An EC codec node should only be found as a sub-node of the EC node (see
> - Documentation/devicetree/bindings/mfd/cros-ec.txt).
> + Embedded Controller (EC) and is controlled via a host-command
> + interface. An EC codec node should only be found inside the "codecs"
> + subnode of a cros-ec node.
> + (see Documentation/devicetree/bindings/mfd/google,cros-ec.yaml).
>
> properties:
> compatible:
> @@ -54,14 +55,19 @@ examples:
> #size-cells = <0>;
> cros-ec@0 {
> compatible = "google,cros-ec-spi";
> - #address-cells = <2>;
> - #size-cells = <1>;
> reg = <0>;
> - cros_ec_codec: ec-codec@10500000 {
> - compatible = "google,cros-ec-codec";
> - #sound-dai-cells = <1>;
> - reg = <0x0 0x10500000 0x80000>;
> - memory-region = <&reserved_mem>;
> +
> + codecs {
> + #address-cells = <2>;
> + #size-cells = <1>;
> +
> + cros_ec_codec: ec-codec@10500000 {
> + compatible = "google,cros-ec-codec";
> + #sound-dai-cells = <1>;
> + reg = <0x0 0x10500000 0x80000>;
> + memory-region = <&reserved_mem>;
> + };
> +
> };
> };
> };
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3 1/3] dt-bindings: i2c: convert i2c-cros-ec-tunnel to json-schema
2020-10-21 11:43 ` [PATCH v3 1/3] dt-bindings: i2c: convert i2c-cros-ec-tunnel to json-schema Ricardo Cañuelo
@ 2020-10-23 16:52 ` Rob Herring
0 siblings, 0 replies; 9+ messages in thread
From: Rob Herring @ 2020-10-23 16:52 UTC (permalink / raw)
To: Ricardo Cañuelo
Cc: bleung, devicetree, groeck, sjg, dmitry.torokhov, cychiang,
enric.balletbo, tzungbi, dianders, kernel
On Wed, 21 Oct 2020 13:43:06 +0200, Ricardo Cañuelo wrote:
> Convert the google,cros-ec-i2c-tunnel binding to YAML and add it as a
> property of google,cros-ec.yaml.
>
> Signed-off-by: Ricardo Cañuelo <ricardo.canuelo@collabora.com>
> Reviewed-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
> ---
> .../i2c/google,cros-ec-i2c-tunnel.yaml | 63 +++++++++++++++++++
> .../bindings/i2c/i2c-cros-ec-tunnel.txt | 39 ------------
> .../bindings/mfd/google,cros-ec.yaml | 5 ++
> 3 files changed, 68 insertions(+), 39 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/i2c/google,cros-ec-i2c-tunnel.yaml
> delete mode 100644 Documentation/devicetree/bindings/i2c/i2c-cros-ec-tunnel.txt
>
Applied, thanks!
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3 2/3] dt-bindings: input: convert cros-ec-keyb to json-schema
2020-10-21 11:43 ` [PATCH v3 2/3] dt-bindings: input: convert cros-ec-keyb " Ricardo Cañuelo
2020-10-21 15:09 ` Enric Balletbo i Serra
@ 2020-10-23 16:54 ` Rob Herring
1 sibling, 0 replies; 9+ messages in thread
From: Rob Herring @ 2020-10-23 16:54 UTC (permalink / raw)
To: Ricardo Cañuelo
Cc: enric.balletbo, sjg, cychiang, bleung, groeck, dianders,
dmitry.torokhov, devicetree, kernel, tzungbi
On Wed, 21 Oct 2020 13:43:07 +0200, Ricardo Cañuelo wrote:
> Convert the google,cros-ec-keyb binding to YAML and add it as a property
> of google,cros-ec.yaml
>
> Signed-off-by: Ricardo Cañuelo <ricardo.canuelo@collabora.com>
> ---
> .../bindings/input/cros-ec-keyb.txt | 72 ---------------
> .../bindings/input/google,cros-ec-keyb.yaml | 92 +++++++++++++++++++
> .../bindings/mfd/google,cros-ec.yaml | 3 +
> 3 files changed, 95 insertions(+), 72 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/input/cros-ec-keyb.txt
> create mode 100644 Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
>
Applied, thanks!
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3 3/3] mfd: google,cros-ec: add missing properties
2020-10-21 11:43 ` [PATCH v3 3/3] mfd: google,cros-ec: add missing properties Ricardo Cañuelo
2020-10-21 15:14 ` Enric Balletbo i Serra
@ 2020-10-23 16:54 ` Rob Herring
1 sibling, 0 replies; 9+ messages in thread
From: Rob Herring @ 2020-10-23 16:54 UTC (permalink / raw)
To: Ricardo Cañuelo
Cc: kernel, groeck, dmitry.torokhov, bleung, dianders, cychiang,
devicetree, enric.balletbo, tzungbi, sjg
On Wed, 21 Oct 2020 13:43:08 +0200, Ricardo Cañuelo wrote:
> Add missing properties that are currently used in the examples of
> subnode bindings and in many DTs.
>
> Also updates the example in sound/google,cros-ec-codec.yaml to comply
> with the google,cros-ec binding.
>
> Signed-off-by: Ricardo Cañuelo <ricardo.canuelo@collabora.com>
> ---
> .../bindings/mfd/google,cros-ec.yaml | 42 +++++++++++++++++++
> .../bindings/sound/google,cros-ec-codec.yaml | 26 +++++++-----
> 2 files changed, 58 insertions(+), 10 deletions(-)
>
Applied, thanks!
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2020-10-23 16:54 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-10-21 11:43 [PATCH v3 0/3] Fix checker warnings related to cros-ec binding Ricardo Cañuelo
2020-10-21 11:43 ` [PATCH v3 1/3] dt-bindings: i2c: convert i2c-cros-ec-tunnel to json-schema Ricardo Cañuelo
2020-10-23 16:52 ` Rob Herring
2020-10-21 11:43 ` [PATCH v3 2/3] dt-bindings: input: convert cros-ec-keyb " Ricardo Cañuelo
2020-10-21 15:09 ` Enric Balletbo i Serra
2020-10-23 16:54 ` Rob Herring
2020-10-21 11:43 ` [PATCH v3 3/3] mfd: google,cros-ec: add missing properties Ricardo Cañuelo
2020-10-21 15:14 ` Enric Balletbo i Serra
2020-10-23 16:54 ` Rob Herring
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).