Re: [PATCH v3 1/2] dt-bindings: input: add OnePlus pogo-pin keyboard
From: Krzysztof Kozlowski
Date: Thu Oct 15 2026 - 04:57:07 EST
On Wed, Oct 14, 2026 at 08:52:50AM -0500, wyibo6109@xxxxxxxxx wrote:
> From: Yibo Wang <wyibo6109@xxxxxxxxx>
>
> Binding for the Tinno keyboard MCU used by the OnePlus Pad 3 Pro /
> Pad 4 and OPPO Pad 5 Pro smart keyboards, attached to a tablet UART.
> Describes the supply, TX-gate and wake GPIOs, with a MAINTAINERS entry.
>
> The compatible names the tablet project the pogo port belongs to
> (caihong, erhai or iceland), which pins the keyboard MCU generation
> and with it the protocol extensions the host may use: the 0x3A general
> sub-commands grew over time, from the caihong (sm8650 era) MCUs with
> neither wake notification nor backlight, through erhai (sm8750 era,
> wake notification) to iceland (sm8850 era, keyboard backlight).
>
> The touchpad geometry and the product names are fixed per project and
> live in the driver; the common touchscreen properties
> (touchscreen-size-x/y, touchscreen-x-mm/y-mm) remain as an optional
> override if a variant ever needs one.
Why? It's fixed. It cannot be overridden. Your example DTS even shows
that.
>
> Signed-off-by: Yibo Wang <wyibo6109@xxxxxxxxx>
> ---
> .../bindings/input/oneplus,pogo-keyboard.yaml | 73 +++++++++++++++++++
> MAINTAINERS | 6 ++
> 2 files changed, 79 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/input/oneplus,pogo-keyboard.yaml
>
> diff --git a/Documentation/devicetree/bindings/input/oneplus,pogo-keyboard.yaml b/Documentation/devicetree/bindings/input/oneplus,pogo-keyboard.yaml
> new file mode 100644
> index 000000000..fa1579ed5
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/oneplus,pogo-keyboard.yaml
> @@ -0,0 +1,73 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +# Copyright (c) 2026 Yibo Wang <wyibo6109@xxxxxxxxx>
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/input/oneplus,pogo-keyboard.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: OnePlus / OPPO Pad pogo-pin smart keyboard
> +
> +maintainers:
> + - Yibo Wang <wyibo6109@xxxxxxxxx>
> +
> +description: |
> + The Tinno keyboard MCU used by the OnePlus Pad 3 Pro / Pad 4 and OPPO
> + Pad 5 Pro smart keyboards. It is attached to a tablet UART and speaks
> + a framed half-duplex protocol over a shared single wire; host
> + transmission is gated onto the wire by a PMIC GPIO for the duration of
> + a frame. The device provides a keyboard matrix, a touchpad and a
> + keyboard backlight.
> +
> +allOf:
> + - $ref: /schemas/serial/serial-peripheral-props.yaml#
> + - $ref: /schemas/input/touchscreen/touchscreen.yaml#
So this is not really needed, drop
> +
> +properties:
> + compatible:
> + description: |
> + Names the tablet project the pogo port belongs to, which pins the
> + keyboard MCU generation and the protocol extensions the host may
> + use: caihong (sm8650 era) supports neither the wake notification
> + nor a backlight, erhai (sm8750 era) adds the wake notification,
> + iceland (sm8850 era) adds the keyboard backlight.
> + enum:
> + - oneplus,caihong-pogo-keyboard
> + - oneplus,erhai-pogo-keyboard
> + - oneplus,iceland-pogo-keyboard
> +
> + power-gpios:
> + description: GPIO enabling the keyboard supply, held high while attached.
> + maxItems: 1
> +
> + tx-enable-gpios:
> + description: GPIO gating host TX onto the shared one-wire bus.
> + maxItems: 1
> +
> + wake-gpios:
> + description: GPIO signalling attach/detach, also used as the wake line.
> + maxItems: 1
> +
> + touchscreen-size-x: true
> + touchscreen-size-y: true
> + touchscreen-x-mm: true
> + touchscreen-y-mm: true
Drop all four.
Best regards,
Krzysztof