[PATCH 1/6] dt-bindings: display: Add panel-mipi-dsi-bpf generic panel binding
Neil Armstrong
neil.armstrong at linaro.org
Mon Sep 28 12:16:20 PDT 2026
On 9/28/26 18:22, Maxime Ripard wrote:
> Most MIPI-DSI panel drivers follow an identical pattern: acquire
> regulators and GPIOs, perform a reset pulse with specific timing,
> send a vendor-supplied sequence of DSI commands, then enable the
> display. The only truly panel-specific part is the init sequence
> and power-on/off timing.
>
> The panel-mipi-dsi-bpf driver replaces per-panel kernel modules
> with a single generic driver whose panel-specific behavior is
> provided by BPF programs loaded from userspace at runtime,
> following the HID-BPF model. This enables new panel support
> without kernel patches.
>
> Panel DT nodes use a two-entry compatible with the panel-specific
> string first and "panel-mipi-dsi-bpf" as fallback. The generic
> driver matches on the fallback, while the first compatible is used
> to identify which BPF program to load.
>
> Six normalized optional regulator supplies cover ~95% of existing
> MIPI-DSI panels: vcc (IC core), iovcc (I/O interface), avdd/avee
> (positive/negative analog), and elvdd/elvss (OLED EL driver).
>
> Signed-off-by: Maxime Ripard <mripard at kernel.org>
> ---
> .../bindings/display/panel/panel-mipi-dsi-bpf.yaml | 184 +++++++++++++++++++++
> 1 file changed, 184 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/display/panel/panel-mipi-dsi-bpf.yaml b/Documentation/devicetree/bindings/display/panel/panel-mipi-dsi-bpf.yaml
> new file mode 100644
> index 000000000000..9a20a21cf70e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/panel/panel-mipi-dsi-bpf.yaml
> @@ -0,0 +1,184 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/panel/panel-mipi-dsi-bpf.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Generic MIPI-DSI panel with BPF init sequences
> +
> +maintainers:
> + - Maxime Ripard <mripard at kernel.org>
> +
> +description: |
> + A generic MIPI-DSI panel driver where the panel-specific power sequencing
> + and DSI init commands are provided by BPF programs.
> +
> + Panel DT nodes use a fallback compatible so the generic driver matches on
> + "panel-mipi-dsi-bpf" while the first compatible identifies the specific
> + panel for BPF program matching.
> +
> +allOf:
> + - $ref: panel-common.yaml#
> +
> +properties:
> + compatible:
> + items:
> + - description: Panel-specific compatible string
> + - const: panel-mipi-dsi-bpf
I don't see how this can be a valid hardware description, bfp is a software
implementation and has nothing to do in the bindings.
Neil
More information about the linux-arm-kernel
mailing list