summaryrefslogtreecommitdiffstats
path: root/drivers/mfd
diff options
context:
space:
mode:
authorJonathan Marek2018-11-19 20:53:17 +0100
committerGreg Kroah-Hartman2019-02-27 10:08:51 +0100
commit467829cc83a5988941f9f6027fd1c5c44186b881 (patch)
tree824ae5b4f635b3a2b93a2a35ef3a0a09478f11d4 /drivers/mfd
parentmfd: bd9571mwv: Add volatile register to make DVFS work (diff)
downloadkernel-qcow2-linux-467829cc83a5988941f9f6027fd1c5c44186b881.tar.gz
kernel-qcow2-linux-467829cc83a5988941f9f6027fd1c5c44186b881.tar.xz
kernel-qcow2-linux-467829cc83a5988941f9f6027fd1c5c44186b881.zip
mfd: qcom_rpm: write fw_version to CTRL_REG
[ Upstream commit 504e4175829c44328773b96ad9c538e4783a8d22 ] This is required as part of the initialization sequence on certain SoCs. If these registers are not initialized, the hardware can be unresponsive. This fixes the driver on apq8060 (HP TouchPad device). Signed-off-by: Jonathan Marek <jonathan@marek.ca> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/mfd')
-rw-r--r--drivers/mfd/qcom_rpm.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/mfd/qcom_rpm.c b/drivers/mfd/qcom_rpm.c
index 52fafea06067..8d420c37b2a6 100644
--- a/drivers/mfd/qcom_rpm.c
+++ b/drivers/mfd/qcom_rpm.c
@@ -638,6 +638,10 @@ static int qcom_rpm_probe(struct platform_device *pdev)
return -EFAULT;
}
+ writel(fw_version[0], RPM_CTRL_REG(rpm, 0));
+ writel(fw_version[1], RPM_CTRL_REG(rpm, 1));
+ writel(fw_version[2], RPM_CTRL_REG(rpm, 2));
+
dev_info(&pdev->dev, "RPM firmware %u.%u.%u\n", fw_version[0],
fw_version[1],
fw_version[2]);