diff --git a/Documentation/devicetree/bindings/remoteproc/ti,k3-m4f-rproc.yaml b/Documentation/devicetree/bindings/remoteproc/ti,k3-m4f-rproc.yaml index 2bd0752b6ba9..176d9a7dde61 100644 --- a/Documentation/devicetree/bindings/remoteproc/ti,k3-m4f-rproc.yaml +++ b/Documentation/devicetree/bindings/remoteproc/ti,k3-m4f-rproc.yaml @@ -50,6 +50,14 @@ properties: maxItems: 1 description: Name of firmware to load for the M4F core + ti,no-auto-boot: + type: boolean + description: + If present, the remoteproc will not automatically load and boot the + M4F firmware at probe time. Firmware loading is then delegated to an + external driver (e.g. wago,m4-led-wrapper) that calls rproc_boot() + explicitly once the filesystem is available. + mboxes: description: OMAP Mailbox specifier denoting the sub-mailbox, to be used for diff --git a/drivers/remoteproc/ti_k3_m4_remoteproc.c b/drivers/remoteproc/ti_k3_m4_remoteproc.c index a12df3c59826..c97ade021c22 100644 --- a/drivers/remoteproc/ti_k3_m4_remoteproc.c +++ b/drivers/remoteproc/ti_k3_m4_remoteproc.c @@ -899,6 +899,7 @@ static int k3_m4_rproc_probe(struct platform_device *pdev) rproc->has_iommu = false; rproc->recovery_disabled = true; + rproc->auto_boot = !of_property_read_bool(np, "ti,no-auto-boot"); if (data->uses_lreset) { rproc->ops->prepare = k3_m4_rproc_prepare; rproc->ops->unprepare = k3_m4_rproc_unprepare;