Re: [PATCH v4 1/8] dt-bindings: arm: Add Live Firmware Activation
From: Sudeep Holla
Date: Mon Sep 21 2026 - 11:47:55 EST
On Fri, Sep 18, 2026 at 04:11:04PM +0200, Andre Przywara wrote:
> The Arm Live Firmware Activation spec [1] describes updating firmware
> images during runtime, without requiring a reboot. Update images might
> be deployed out-of-band, for instance via a BMC, in this case the OS
> needs to be notified about the availability of a new image.
>
> Describe an interrupt that could be triggered by the platform, to notify
> about any changes.
>
> [1] https://developer.arm.com/documentation/den0147/latest/
>
> Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx>
> Reviewed-by: Rob Herring (Arm) <robh@xxxxxxxxxx>
> ---
> .../devicetree/bindings/arm/arm,lfa.yaml | 50 +++++++++++++++++++
> 1 file changed, 50 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/arm/arm,lfa.yaml
>
> diff --git a/Documentation/devicetree/bindings/arm/arm,lfa.yaml b/Documentation/devicetree/bindings/arm/arm,lfa.yaml
> new file mode 100644
> index 0000000000000..179c542f383d4
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/arm,lfa.yaml
> @@ -0,0 +1,50 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/arm/arm,lfa.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Arm Live Firmware Activation (LFA)
> +
> +maintainers:
> + - Andre Przywara <andre.przywara@xxxxxxx>
> + - Sudeep Holla <sudeep.holla@xxxxxxx>
> +
> +description:
> + The Arm Live Firmware Activation (LFA) specification [1] describes a
> + firmware interface to activate an updated firmware at runtime, without
> + requiring a reboot. Updates might be supplied out-of-band, for instance
> + via a BMC, in which case the platform needs to notify an OS about pending
> + image updates.
> + [1] https://developer.arm.com/documentation/den0147/latest/
> +
> +properties:
> + compatible:
> + const: arm,lfa
> +
> + interrupts:
> + maxItems: 1
> + description:
> + The notification interrupt for changed firmware image status. For
> + an out-of-band firmware update, some system entity would signal
> + the availability of a firmware update to the host OS via this interrupt.
> +
> + This must be an edge-triggered IRQ.
> +
> +required:
> + - compatible
> + - interrupts
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> + firmware {
> + firmware-update {
> + compatible = "arm,lfa";
> + interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
Could the example use an edge-triggered interrupt type as it must be
edge-triggered IRQ as per the above scheme ? As written, a device tree
copied from the example violates the binding's requirement.
Alternatively, is the binding incorrect and needs fixing ? I am not sure
if there is any requirement on it from the specification. Where did you
derive it from ?
--
Regards,
Sudeep