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

Commit 8b8c622a authored by Karthik Parsha's avatar Karthik Parsha
Browse files

msm: spm_devices: Initialize q2s and set spm_legacy_mode bit at probe



At system boot, cpus and or clusters can remain in reset. CCI SPM will
not be triggered unless SPM_LEGACY_MODE bit is set for the cluster in
reset. Initialize q2s registers and set the SPM_LEGACY_MODE bit at probe.

Also, unset QChannel ignore bit during power collapse due to a hardware
issue.

Change-Id: I07031e0ee276265b66b9fe4e0bb5bab36415b469
Signed-off-by: default avatarKarthik Parsha <kparsha@codeaurora.org>
parent 995d60f4
Loading
Loading
Loading
Loading
+8 −1
Original line number Original line Diff line number Diff line
@@ -162,7 +162,7 @@ static void msm_spm_config_q2s(struct msm_spm_device *dev, unsigned int mode)
		break;
		break;
	case MSM_SPM_MODE_GDHS:
	case MSM_SPM_MODE_GDHS:
	case MSM_SPM_MODE_POWER_COLLAPSE:
	case MSM_SPM_MODE_POWER_COLLAPSE:
		qchannel_ignore = 1;
		qchannel_ignore = 0;
		spm_legacy_mode = 1;
		spm_legacy_mode = 1;
		break;
		break;
	default:
	default:
@@ -589,6 +589,13 @@ static int msm_spm_dev_probe(struct platform_device *pdev)
			goto fail;
			goto fail;
		}
		}
	}
	}
	/*
	 * At system boot, cpus and or clusters can remain in reset. CCI SPM
	 * will not be triggered unless SPM_LEGACY_MODE bit is set for the
	 * cluster in reset. Initialize q2s registers and set the
	 * SPM_LEGACY_MODE bit.
	 */
	msm_spm_config_q2s(dev, MSM_SPM_MODE_POWER_COLLAPSE);


	for (i = 0; i < ARRAY_SIZE(spm_of_data); i++) {
	for (i = 0; i < ARRAY_SIZE(spm_of_data); i++) {
		ret = of_property_read_u32(node, spm_of_data[i].key, &val);
		ret = of_property_read_u32(node, spm_of_data[i].key, &val);