Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-binding: remoteproc: Introduce ADSP loader binding

This document defines the binding for a component that loads firmware
and control the life cycle of the Qualcomm ADSP Hexagon core.

Acked-by: Rob Herring <robh@kernel.org>
Cc: Sarangdhar Joshi <spjoshi@codeaurora.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>

+98
+98
Documentation/devicetree/bindings/remoteproc/qcom,adsp.txt
··· 1 + Qualcomm ADSP Peripheral Image Loader 2 + 3 + This document defines the binding for a component that loads and boots firmware 4 + on the Qualcomm ADSP Hexagon core. 5 + 6 + - compatible: 7 + Usage: required 8 + Value type: <string> 9 + Definition: must be one of: 10 + "qcom,msm8974-adsp-pil" 11 + "qcom,msm8996-adsp-pil" 12 + 13 + - interrupts-extended: 14 + Usage: required 15 + Value type: <prop-encoded-array> 16 + Definition: must list the watchdog, fatal IRQs ready, handover and 17 + stop-ack IRQs 18 + 19 + - interrupt-names: 20 + Usage: required 21 + Value type: <stringlist> 22 + Definition: must be "wdog", "fatal", "ready", "handover", "stop-ack" 23 + 24 + - clocks: 25 + Usage: required 26 + Value type: <prop-encoded-array> 27 + Definition: reference to the xo clock to be held on behalf of the 28 + booting Hexagon core 29 + 30 + - clock-names: 31 + Usage: required 32 + Value type: <stringlist> 33 + Definition: must be "xo" 34 + 35 + - cx-supply: 36 + Usage: required 37 + Value type: <phandle> 38 + Definition: reference to the regulator to be held on behalf of the 39 + booting Hexagon core 40 + 41 + - memory-region: 42 + Usage: required 43 + Value type: <phandle> 44 + Definition: reference to the reserved-memory for the ADSP 45 + 46 + - qcom,smem-states: 47 + Usage: required 48 + Value type: <phandle> 49 + Definition: reference to the smem state for requesting the ADSP to 50 + shut down 51 + 52 + - qcom,smem-state-names: 53 + Usage: required 54 + Value type: <stringlist> 55 + Definition: must be "stop" 56 + 57 + 58 + = SUBNODES 59 + The adsp node may have an subnode named "smd-edge" that describes the SMD edge, 60 + channels and devices related to the ADSP. See ../soc/qcom/qcom,smd.txt for 61 + details on how to describe the SMD edge. 62 + 63 + 64 + = EXAMPLE 65 + The following example describes the resources needed to boot control the 66 + ADSP, as it is found on MSM8974 boards. 67 + 68 + adsp { 69 + compatible = "qcom,msm8974-adsp-pil"; 70 + 71 + interrupts-extended = <&intc 0 162 IRQ_TYPE_EDGE_RISING>, 72 + <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 73 + <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 74 + <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 75 + <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>; 76 + interrupt-names = "wdog", 77 + "fatal", 78 + "ready", 79 + "handover", 80 + "stop-ack"; 81 + 82 + clocks = <&rpmcc RPM_CXO_CLK>; 83 + clock-names = "xo"; 84 + 85 + cx-supply = <&pm8841_s2>; 86 + 87 + memory-region = <&adsp_region>; 88 + 89 + qcom,smem-states = <&adsp_smp2p_out 0>; 90 + qcom,smem-state-names = "stop"; 91 + 92 + smd-edge { 93 + interrupts = <0 156 IRQ_TYPE_EDGE_RISING>; 94 + 95 + qcom,ipc = <&apcs 8 8>; 96 + qcom,smd-edge = <1>; 97 + }; 98 + };