Commit 90a068ed authored by Avaneesh Kumar Dwivedi's avatar Avaneesh Kumar Dwivedi Committed by Bjorn Andersson

remoteproc: qcom: Add SLPI rproc support to load and boot slpi proc.

This patch add slpi remoteproc support in existing adsp rproc driver.
Signed-off-by: default avatarAvaneesh Kumar Dwivedi <akdwived@codeaurora.org>
[bjorn: documented aggre2 and px-supply]
Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
parent e323fc03
...@@ -9,6 +9,7 @@ on the Qualcomm ADSP Hexagon core. ...@@ -9,6 +9,7 @@ on the Qualcomm ADSP Hexagon core.
Definition: must be one of: Definition: must be one of:
"qcom,msm8974-adsp-pil" "qcom,msm8974-adsp-pil"
"qcom,msm8996-adsp-pil" "qcom,msm8996-adsp-pil"
"qcom,msm8996-slpi-pil"
- interrupts-extended: - interrupts-extended:
Usage: required Usage: required
...@@ -24,13 +25,13 @@ on the Qualcomm ADSP Hexagon core. ...@@ -24,13 +25,13 @@ on the Qualcomm ADSP Hexagon core.
- clocks: - clocks:
Usage: required Usage: required
Value type: <prop-encoded-array> Value type: <prop-encoded-array>
Definition: reference to the xo clock to be held on behalf of the Definition: reference to the xo clock and optionally aggre2 clock to be
booting Hexagon core held on behalf of the booting Hexagon core
- clock-names: - clock-names:
Usage: required Usage: required
Value type: <stringlist> Value type: <stringlist>
Definition: must be "xo" Definition: must be "xo" and optionally include "aggre2"
- cx-supply: - cx-supply:
Usage: required Usage: required
...@@ -38,6 +39,12 @@ on the Qualcomm ADSP Hexagon core. ...@@ -38,6 +39,12 @@ on the Qualcomm ADSP Hexagon core.
Definition: reference to the regulator to be held on behalf of the Definition: reference to the regulator to be held on behalf of the
booting Hexagon core booting Hexagon core
- px-supply:
Usage: required
Value type: <phandle>
Definition: reference to the px regulator to be held on behalf of the
booting Hexagon core
- memory-region: - memory-region:
Usage: required Usage: required
Value type: <phandle> Value type: <phandle>
...@@ -96,3 +103,31 @@ ADSP, as it is found on MSM8974 boards. ...@@ -96,3 +103,31 @@ ADSP, as it is found on MSM8974 boards.
qcom,smd-edge = <1>; qcom,smd-edge = <1>;
}; };
}; };
The following example describes the resources needed to boot control the
SLPI, as it is found on MSM8996 boards.
slpi {
compatible = "qcom,msm8996-slpi-pil";
interrupts-extended = <&intc 0 390 IRQ_TYPE_EDGE_RISING>,
<&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
<&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
<&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
<&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "wdog",
"fatal",
"ready",
"handover",
"stop-ack";
clocks = <&rpmcc MSM8996_RPM_SMD_XO_CLK_SRC>,
<&rpmcc MSM8996_RPM_SMD_AGGR2_NOC_CLK>;
clock-names = "xo", "aggre2";
cx-supply = <&pm8994_l26>;
px-supply = <&pm8994_lvs2>;
memory-region = <&slpi_region>;
qcom,smem-states = <&slpi_smp2p_out 0>;
qcom,smem-state-names = "stop";
};
/* /*
* Qualcomm ADSP Peripheral Image Loader for MSM8974 and MSM8996 * Qualcomm ADSP/SLPI Peripheral Image Loader for MSM8974 and MSM8996
* *
* Copyright (C) 2016 Linaro Ltd * Copyright (C) 2016 Linaro Ltd
* Copyright (C) 2014 Sony Mobile Communications AB * Copyright (C) 2014 Sony Mobile Communications AB
...@@ -459,9 +459,17 @@ static const struct adsp_data adsp_resource_init = { ...@@ -459,9 +459,17 @@ static const struct adsp_data adsp_resource_init = {
.has_aggre2_clk = false, .has_aggre2_clk = false,
}; };
static const struct adsp_data slpi_resource_init = {
.crash_reason_smem = 424,
.firmware_name = "slpi.mdt",
.pas_id = 12,
.has_aggre2_clk = true,
};
static const struct of_device_id adsp_of_match[] = { static const struct of_device_id adsp_of_match[] = {
{ .compatible = "qcom,msm8974-adsp-pil", .data = &adsp_resource_init}, { .compatible = "qcom,msm8974-adsp-pil", .data = &adsp_resource_init},
{ .compatible = "qcom,msm8996-adsp-pil", .data = &adsp_resource_init}, { .compatible = "qcom,msm8996-adsp-pil", .data = &adsp_resource_init},
{ .compatible = "qcom,msm8996-slpi-pil", .data = &slpi_resource_init},
{ }, { },
}; };
MODULE_DEVICE_TABLE(of, adsp_of_match); MODULE_DEVICE_TABLE(of, adsp_of_match);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment