forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'rproc-v4.20' of git://github.com/andersson/remoteproc
Pull remoteproc updates from Bjorn Andersson: "This contains a series of patches that reworks the memory carveout handling in remoteproc, in order to allow this to be reused for statically allocated memory regions to be used for e.g. firmware. It adds support for audio DSP (both TZ-assisted and non-TZ assisted) and compute DSP on Qualcomm SDM845, TZ-assisted audio DSP, compute DSP and WiFi processor on Qualcomm QCS404 and through some renaming of the drivers cleans up the naming situation. Finally support for custom coreudmp segment handlers is added and is used in the Qualcomm modem remoteproc driver to gather memory dumps of the firmware" * tag 'rproc-v4.20' of git://github.com/andersson/remoteproc: (36 commits) remoteproc: qcom: q6v5-mss: Register segments/dumpfn for coredump remoteproc: qcom: q6v5-mss: Add custom dump function for modem remoteproc: qcom: q6v5-mss: Refactor mba load/unload sequence remoteproc: Add mechanism for custom dump function assignment remoteproc: Introduce custom dump function for each remoteproc segment remoteproc: modify vring allocation to rely on centralized carveout allocator remoteproc: qcom: q6v5: shore up resource probe handling remoteproc: qcom: qcom_q6v5_adsp: Fix some return value check remoteproc: modify rproc_handle_carveout to support pre-registered region remoteproc: add helper function to check carveout device address remoteproc: add helper function to allocate rproc_mem_entry from reserved memory remoteproc: add alloc ops in rproc_mem_entry struct remoteproc: introduce rproc_find_carveout_by_name function remoteproc: introduce rproc_add_carveout function remoteproc: add helper function to allocate and init rproc_mem_entry struct remoteproc: add name in rproc_mem_entry struct remoteproc: add release ops in rproc_mem_entry struct remoteproc: add rproc_va_to_pa function remoteproc: configure IOMMU only if device address requested remoteproc: qcom: q6v5-mss: add SCM probe dependency ...
- Loading branch information
Showing
16 changed files
with
1,557 additions
and
287 deletions.
There are no files selected for viewing
126 changes: 126 additions & 0 deletions
126
Documentation/devicetree/bindings/remoteproc/qcom,adsp-pil.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,126 @@ | ||
Qualcomm Technology Inc. ADSP Peripheral Image Loader | ||
|
||
This document defines the binding for a component that loads and boots firmware | ||
on the Qualcomm Technology Inc. ADSP Hexagon core. | ||
|
||
- compatible: | ||
Usage: required | ||
Value type: <string> | ||
Definition: must be one of: | ||
"qcom,sdm845-adsp-pil" | ||
|
||
- reg: | ||
Usage: required | ||
Value type: <prop-encoded-array> | ||
Definition: must specify the base address and size of the qdsp6ss register | ||
|
||
- interrupts-extended: | ||
Usage: required | ||
Value type: <prop-encoded-array> | ||
Definition: must list the watchdog, fatal IRQs ready, handover and | ||
stop-ack IRQs | ||
|
||
- interrupt-names: | ||
Usage: required | ||
Value type: <stringlist> | ||
Definition: must be "wdog", "fatal", "ready", "handover", "stop-ack" | ||
|
||
- clocks: | ||
Usage: required | ||
Value type: <prop-encoded-array> | ||
Definition: List of 8 phandle and clock specifier pairs for the adsp. | ||
|
||
- clock-names: | ||
Usage: required | ||
Value type: <stringlist> | ||
Definition: List of clock input name strings sorted in the same | ||
order as the clocks property. Definition must have | ||
"xo", "sway_cbcr", "lpass_aon", "lpass_ahbs_aon_cbcr", | ||
"lpass_ahbm_aon_cbcr", "qdsp6ss_xo", "qdsp6ss_sleep" | ||
and "qdsp6ss_core". | ||
|
||
- power-domains: | ||
Usage: required | ||
Value type: <phandle> | ||
Definition: reference to cx power domain node. | ||
|
||
- resets: | ||
Usage: required | ||
Value type: <phandle> | ||
Definition: reference to the list of 2 reset-controller for the adsp. | ||
|
||
- reset-names: | ||
Usage: required | ||
Value type: <stringlist> | ||
Definition: must be "pdc_sync" and "cc_lpass" | ||
|
||
- qcom,halt-regs: | ||
Usage: required | ||
Value type: <prop-encoded-array> | ||
Definition: a phandle reference to a syscon representing TCSR followed | ||
by the offset within syscon for lpass halt register. | ||
|
||
- memory-region: | ||
Usage: required | ||
Value type: <phandle> | ||
Definition: reference to the reserved-memory for the ADSP | ||
|
||
- qcom,smem-states: | ||
Usage: required | ||
Value type: <phandle> | ||
Definition: reference to the smem state for requesting the ADSP to | ||
shut down | ||
|
||
- qcom,smem-state-names: | ||
Usage: required | ||
Value type: <stringlist> | ||
Definition: must be "stop" | ||
|
||
|
||
= SUBNODES | ||
The adsp node may have an subnode named "glink-edge" that describes the | ||
communication edge, channels and devices related to the ADSP. | ||
See ../soc/qcom/qcom,glink.txt for details on how to describe these. | ||
|
||
= EXAMPLE | ||
The following example describes the resources needed to boot control the | ||
ADSP, as it is found on SDM845 boards. | ||
|
||
remoteproc@17300000 { | ||
compatible = "qcom,sdm845-adsp-pil"; | ||
reg = <0x17300000 0x40c>; | ||
|
||
interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>, | ||
<&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, | ||
<&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, | ||
<&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, | ||
<&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>; | ||
interrupt-names = "wdog", "fatal", "ready", | ||
"handover", "stop-ack"; | ||
|
||
clocks = <&rpmhcc RPMH_CXO_CLK>, | ||
<&gcc GCC_LPASS_SWAY_CLK>, | ||
<&lpasscc LPASS_AUDIO_WRAPPER_AON_CLK>, | ||
<&lpasscc LPASS_Q6SS_AHBS_AON_CLK>, | ||
<&lpasscc LPASS_Q6SS_AHBM_AON_CLK>, | ||
<&lpasscc LPASS_QDSP6SS_XO_CLK>, | ||
<&lpasscc LPASS_QDSP6SS_SLEEP_CLK>, | ||
<&lpasscc LPASS_QDSP6SS_CORE_CLK>; | ||
clock-names = "xo", "sway_cbcr", "lpass_aon", | ||
"lpass_ahbs_aon_cbcr", | ||
"lpass_ahbm_aon_cbcr", "qdsp6ss_xo", | ||
"qdsp6ss_sleep", "qdsp6ss_core"; | ||
|
||
power-domains = <&rpmhpd SDM845_CX>; | ||
|
||
resets = <&pdc_reset PDC_AUDIO_SYNC_RESET>, | ||
<&aoss_reset AOSS_CC_LPASS_RESTART>; | ||
reset-names = "pdc_sync", "cc_lpass"; | ||
|
||
qcom,halt-regs = <&tcsr_mutex_regs 0x22000>; | ||
|
||
memory-region = <&pil_adsp_mem>; | ||
|
||
qcom,smem-states = <&adsp_smp2p_out 0>; | ||
qcom,smem-state-names = "stop"; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.