mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-01-05 08:48:53 +00:00
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: Avaneesh Kumar Dwivedi <akdwived@codeaurora.org> [bjorn: documented aggre2 and px-supply] Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
This commit is contained in:
parent
e323fc030c
commit
90a068ed3f
@ -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.
|
|||||||
- 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.
|
|||||||
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.
|
|||||||
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";
|
||||||
|
};
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* 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 = {
|
|||||||
.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);
|
||||||
|
Loading…
Reference in New Issue
Block a user