1Qualcomm Hexagon Peripheral Image Loader 2 3This document defines the binding for a component that loads and boots firmware 4on the Qualcomm Hexagon core. 5 6- compatible: 7 Usage: required 8 Value type: <string> 9 Definition: must be one of: 10 "qcom,q6v5-pil", 11 "qcom,msm8916-mss-pil", 12 "qcom,msm8974-mss-pil" 13 "qcom,msm8996-mss-pil" 14 15- reg: 16 Usage: required 17 Value type: <prop-encoded-array> 18 Definition: must specify the base address and size of the qdsp6 and 19 rmb register blocks 20 21- reg-names: 22 Usage: required 23 Value type: <stringlist> 24 Definition: must be "q6dsp" and "rmb" 25 26- interrupts-extended: 27 Usage: required 28 Value type: <prop-encoded-array> 29 Definition: must list the watchdog, fatal IRQs ready, handover and 30 stop-ack IRQs 31 32- interrupt-names: 33 Usage: required 34 Value type: <stringlist> 35 Definition: must be "wdog", "fatal", "ready", "handover", "stop-ack" 36 37- clocks: 38 Usage: required 39 Value type: <phandle> 40 Definition: reference to the iface, bus and mem clocks to be held on 41 behalf of the booting of the Hexagon core 42 43- clock-names: 44 Usage: required 45 Value type: <stringlist> 46 Definition: must be "iface", "bus", "mem" 47 48- resets: 49 Usage: required 50 Value type: <phandle> 51 Definition: reference to the reset-controller for the modem sub-system 52 53- reset-names: 54 Usage: required 55 Value type: <stringlist> 56 Definition: must be "mss_restart" 57 58- cx-supply: 59- mss-supply: 60- mx-supply: 61- pll-supply: 62 Usage: required 63 Value type: <phandle> 64 Definition: reference to the regulators to be held on behalf of the 65 booting of the Hexagon core 66 67- qcom,smem-states: 68 Usage: required 69 Value type: <phandle> 70 Definition: reference to the smem state for requesting the Hexagon to 71 shut down 72 73- qcom,smem-state-names: 74 Usage: required 75 Value type: <stringlist> 76 Definition: must be "stop" 77 78- qcom,halt-regs: 79 Usage: required 80 Value type: <prop-encoded-array> 81 Definition: a phandle reference to a syscon representing TCSR followed 82 by the three offsets within syscon for q6, modem and nc 83 halt registers. 84 85= SUBNODES: 86The Hexagon node must contain two subnodes, named "mba" and "mpss" representing 87the memory regions used by the Hexagon firmware. Each sub-node must contain: 88 89- memory-region: 90 Usage: required 91 Value type: <phandle> 92 Definition: reference to the reserved-memory for the region 93 94The Hexagon node may also have an subnode named either "smd-edge" or 95"glink-edge" that describes the communication edge, channels and devices 96related to the Hexagon. See ../soc/qcom/qcom,smd.txt and 97../soc/qcom/qcom,glink.txt for details on how to describe these. 98 99= EXAMPLE 100The following example describes the resources needed to boot control the 101Hexagon, as it is found on MSM8974 boards. 102 103 modem-rproc@fc880000 { 104 compatible = "qcom,q6v5-pil"; 105 reg = <0xfc880000 0x100>, 106 <0xfc820000 0x020>; 107 reg-names = "qdsp6", "rmb"; 108 109 interrupts-extended = <&intc 0 24 1>, 110 <&modem_smp2p_in 0 0>, 111 <&modem_smp2p_in 1 0>, 112 <&modem_smp2p_in 2 0>, 113 <&modem_smp2p_in 3 0>; 114 interrupt-names = "wdog", 115 "fatal", 116 "ready", 117 "handover", 118 "stop-ack"; 119 120 clocks = <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>, 121 <&gcc GCC_MSS_CFG_AHB_CLK>, 122 <&gcc GCC_BOOT_ROM_AHB_CLK>; 123 clock-names = "iface", "bus", "mem"; 124 125 qcom,halt-regs = <&tcsr_mutex_block 0x1180 0x1200 0x1280>; 126 127 resets = <&gcc GCC_MSS_RESTART>; 128 reset-names = "mss_restart"; 129 130 cx-supply = <&pm8841_s2>; 131 mss-supply = <&pm8841_s3>; 132 mx-supply = <&pm8841_s1>; 133 pll-supply = <&pm8941_l12>; 134 135 qcom,smem-states = <&modem_smp2p_out 0>; 136 qcom,smem-state-names = "stop"; 137 138 mba { 139 memory-region = <&mba_region>; 140 }; 141 142 mpss { 143 memory-region = <&mpss_region>; 144 }; 145 }; 146