Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3ef148e8 authored by Deepak Katragadda's avatar Deepak Katragadda
Browse files

msm: SSR: Add functionality to load restart groups from device tree



Subsystems on certain devices might need other subsystems to
restart when they undergo a subsystem restart.

The support to restart multiple subsystems together exists
currently. Use this feature to facilitate the restart groups
being initialized during run-time by reading the dependancy list
from the corresponding device tree entry using phandles.

Add a property called "qti,restart-group" in the respective dt
file device entries. This property is to be filled with the
phandles corresponding to the subsystems that need to restart
together.

Also, make a note that if a restart group is included for one
subsystem, the corresponding group should be included in the
other affected subsystems as well. The order of the subsystems
in the group doesn't matter.

Eg. subsys_0 has a property:
qti,restart-group = <&subsys_0 &subsys_1>;
Then, subsys_1's ssr-restart-group property should be identical:
qti,restart-group = <&subsys_1 &subsys_0>;

Change-Id: I22e3c46ab2b943b94227647d11863c4524a63005
Signed-off-by: default avatarDeepak Katragadda <dkatraga@codeaurora.org>
parent 012fce15
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -100,6 +100,7 @@ Optional driver parameters:
		This value is passed to RPM and is used by the RPM module to determine the
		gpio mux function. The only currently supported modes string is "normal" and
		corresponds to the value 0x03 that is passed to RPM.
- qti,restart-group: List of subsystems that will need to restart together.

Example:
	mdm0: qti,mdm0 {
+3 −0
Original line number Diff line number Diff line
@@ -7,6 +7,9 @@ Required properties:
- compatible: "pil-bcss"
- qti,firmware-name: Base name of the firmware image. Ex. "bcss"

Optional properties:
- qti,restart-group: List of subsystems that will need to restart together.

Example:

	qti,pil-bcss {
+2 −0
Original line number Diff line number Diff line
@@ -33,6 +33,8 @@ Optional properties:
                        which will cause the PIL entry address check
                        to fail.  This parameter will disable the
                        check.
- qti,restart-group: List of subsystems that will need to restart together.

Example:
        qti,modem-femto@fbc00000 {
                compatible = "qti,pil-femto-modem";
+1 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ Optional properties:
- qti,gpio-proxy-unvote: GPIO used by the wcnss to trigger proxy unvoting in
  the Apps
- qti,gpio-force-stop: GPIO used by the Apps to force the wcnss to shutdown.
- qti,restart-group: List of subsystems that will need to restart together.

Example:
	qti,pronto@fb21b000 {
+1 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ Optional properties:
- qti,gpio-err-ready: GPIO used by the lpass to indicate apps error service is ready.
- qti,gpio-proxy-unvote: GPIO used by the lpass to indicate apps clock is ready.
- qti,gpio-force-stop: GPIO used by the apps to force the lpass to shutdown.
- qti,restart-group: List of subsystems that will need to restart together.

Example:
	qti,lpass@fe200000 {
Loading