The HSM M4F node is disabled by default in the device tree. Enable the node here as we have to load and boot the core in R5 SPL stage. Assign the alias of 'remoteproc2' to the hsm node. This assigns the sequence number '2' to HSM core which can be used during rproc_load() and rproc_start() calls.
Signed-off-by: Beleswar Padhi <[email protected]> Reviewed-by: Simon Glass <[email protected]> --- v6: Changelog: 1. None Link to v5: https://lore.kernel.org/all/[email protected]/ v5: Changelog: 1. Add a comment calling out the usage of alias indexes in code. 2. Add R/B tags. Link to v4: https://lore.kernel.org/all/[email protected]/ v4: Changelog: 1. Changed node labels from 'hsm_m4fss' to 'hsm' to match with device tree definition. Link to v3: https://lore.kernel.org/all/[email protected]/ v3: Changelog: 1. New patch. Enable HSM nodes from DT. arch/arm/dts/k3-j721s2-r5.dtsi | 10 ++++++++++ arch/arm/dts/k3-j722s-r5.dtsi | 10 ++++++++++ arch/arm/dts/k3-j784s4-r5.dtsi | 9 +++++++++ 3 files changed, 29 insertions(+) diff --git a/arch/arm/dts/k3-j721s2-r5.dtsi b/arch/arm/dts/k3-j721s2-r5.dtsi index 7d4a6dc5301..abe64f2364e 100644 --- a/arch/arm/dts/k3-j721s2-r5.dtsi +++ b/arch/arm/dts/k3-j721s2-r5.dtsi @@ -8,9 +8,15 @@ tick-timer = &mcu_timer0; }; + /* + * The remoteproc sequence numbers defined here are used as literal indices + * in arch/arm/mach-k3/r5/common.c (e.g., rproc_load(1, ...), rproc_load(2, ...)). + * Adding, removing, or reordering these aliases will break the code. + */ aliases { remoteproc0 = &sysctrler; remoteproc1 = &a72_0; + remoteproc2 = &hsm; }; a72_0: a72@0 { @@ -102,3 +108,7 @@ ranges = <0x0 0x47000000 0x0 0x47000000 0x0 0x00068400>, <0x0 0x50000000 0x0 0x50000000 0x0 0x08000000>; }; + +&hsm { + status = "okay"; +}; diff --git a/arch/arm/dts/k3-j722s-r5.dtsi b/arch/arm/dts/k3-j722s-r5.dtsi index 06a63fb83ba..9ddb951e078 100644 --- a/arch/arm/dts/k3-j722s-r5.dtsi +++ b/arch/arm/dts/k3-j722s-r5.dtsi @@ -4,9 +4,15 @@ */ / { + /* + * The remoteproc sequence numbers defined here are used as literal indices + * in arch/arm/mach-k3/r5/common.c (e.g., rproc_load(1, ...), rproc_load(2, ...)). + * Adding, removing, or reordering these aliases will break the code. + */ aliases { remoteproc0 = &sysctrler; remoteproc1 = &a53_0; + remoteproc2 = &hsm; serial0 = &wkup_uart0; serial2 = &main_uart0; }; @@ -82,3 +88,7 @@ reg = <0x00 0x0fc40000 0x00 0x100>, <0x00 0x60000000 0x00 0x08000000>; }; + +&hsm { + status = "okay"; +}; diff --git a/arch/arm/dts/k3-j784s4-r5.dtsi b/arch/arm/dts/k3-j784s4-r5.dtsi index 78444dc4e14..afbb8faca44 100644 --- a/arch/arm/dts/k3-j784s4-r5.dtsi +++ b/arch/arm/dts/k3-j784s4-r5.dtsi @@ -8,9 +8,15 @@ tick-timer = &mcu_timer0; }; + /* + * The remoteproc sequence numbers defined here are used as literal indices + * in arch/arm/mach-k3/r5/common.c (e.g., rproc_load(1, ...), rproc_load(2, ...)). + * Adding, removing, or reordering these aliases will break the code. + */ aliases { remoteproc0 = &sysctrler; remoteproc1 = &a72_0; + remoteproc2 = &hsm; }; a72_0: a72@0 { @@ -113,3 +119,6 @@ vdd-supply-2 = <&tps62873a>; }; +&hsm { + status = "okay"; +}; -- 2.34.1
