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