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