[PATCH v2 2/2] dt-bindings: google,cros-ec-keyb: add use-fn-overlay prop
From: Fabio Baltieri
Date: Wed Dec 24 2025 - 10:23:34 EST
Add binding documentation for the use-fn-overlay property.
Signed-off-by: Fabio Baltieri <fabiobaltieri@xxxxxxxxxxxx>
---
.../bindings/input/google,cros-ec-keyb.yaml | 25 +++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
index fefaaf46a240..437575cdf352 100644
--- a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
+++ b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
@@ -44,6 +44,14 @@ properties:
where the lower 16 bits are reserved. This property is specified only
when the keyboard has a custom design for the top row keys.
+ google,use-fn-overlay:
+ description: |
+ Use a function key overlay. This allows defining an extra set of codes
+ that are sent if a key is pressed while the KEY_FN is held pressed as
+ well. The function codes have to be defined in the linux,keymap property
+ with an offset of keypad,num-rows from the normal ones.
+ type: boolean
+
dependencies:
function-row-physmap: [ 'linux,keymap' ]
google,needs-ghost-filter: [ 'linux,keymap' ]
@@ -132,6 +140,23 @@ examples:
/* UP LEFT */
0x070b0067 0x070c0069>;
};
+ - |
+ /* With function keys */
+ #include <dt-bindings/input/input.h>
+ keyboard-controller {
+ compatible = "google,cros-ec-keyb";
+ keypad,num-rows = <8>;
+ keypad,num-columns = <18>;
+ google,use-fn-overlay;
+ linux,keymap = <
+ MATRIX_KEY(0x00, 0x00, KEY_FN)
+ MATRIX_KEY(0x01, 0x00, KEY_1)
+ MATRIX_KEY(0x02, 0x00, KEY_2)
+
+ MATRIX_KEY(8 + 0x01, 0x00, KEY_F1)
+ MATRIX_KEY(8 + 0x02, 0x00, KEY_F2)
+ >;
+ };
- |
/* No matrix keyboard, just buttons/switches */
keyboard-controller {
--
2.52.0.351.gbe84eed79e-goog