1c66ec88fSEmmanuel VadotQualcomm Hexagon Peripheral Image Loader 2c66ec88fSEmmanuel Vadot 3c66ec88fSEmmanuel VadotThis document defines the binding for a component that loads and boots firmware 4c66ec88fSEmmanuel Vadoton the Qualcomm Hexagon core. 5c66ec88fSEmmanuel Vadot 6c66ec88fSEmmanuel Vadot- compatible: 7c66ec88fSEmmanuel Vadot Usage: required 8c66ec88fSEmmanuel Vadot Value type: <string> 9c66ec88fSEmmanuel Vadot Definition: must be one of: 10c66ec88fSEmmanuel Vadot "qcom,ipq8074-wcss-pil" 112eb4d8dcSEmmanuel Vadot "qcom,qcs404-wcss-pil" 12c66ec88fSEmmanuel Vadot 13c66ec88fSEmmanuel Vadot- reg: 14c66ec88fSEmmanuel Vadot Usage: required 15c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 16c66ec88fSEmmanuel Vadot Definition: must specify the base address and size of the qdsp6 and 17c66ec88fSEmmanuel Vadot rmb register blocks 18c66ec88fSEmmanuel Vadot 19c66ec88fSEmmanuel Vadot- reg-names: 20c66ec88fSEmmanuel Vadot Usage: required 21c66ec88fSEmmanuel Vadot Value type: <stringlist> 22c66ec88fSEmmanuel Vadot Definition: must be "q6dsp" and "rmb" 23c66ec88fSEmmanuel Vadot 24c66ec88fSEmmanuel Vadot- interrupts-extended: 25c66ec88fSEmmanuel Vadot Usage: required 26c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 27c66ec88fSEmmanuel Vadot Definition: reference to the interrupts that match interrupt-names 28c66ec88fSEmmanuel Vadot 29c66ec88fSEmmanuel Vadot- interrupt-names: 30c66ec88fSEmmanuel Vadot Usage: required 31c66ec88fSEmmanuel Vadot Value type: <stringlist> 32*cb7aa33aSEmmanuel Vadot Definition: must be "wdog", "fatal", "ready", "handover", "stop-ack" 33c66ec88fSEmmanuel Vadot 34c66ec88fSEmmanuel Vadot- clocks: 35c66ec88fSEmmanuel Vadot Usage: required 36c66ec88fSEmmanuel Vadot Value type: <phandle> 37c66ec88fSEmmanuel Vadot Definition: reference to the clocks that match clock-names 38c66ec88fSEmmanuel Vadot 39c66ec88fSEmmanuel Vadot- clock-names: 40c66ec88fSEmmanuel Vadot Usage: required 41c66ec88fSEmmanuel Vadot Value type: <stringlist> 42c66ec88fSEmmanuel Vadot Definition: The clocks needed depend on the compatible string: 43c66ec88fSEmmanuel Vadot qcom,ipq8074-wcss-pil: 44c66ec88fSEmmanuel Vadot no clock names required 452eb4d8dcSEmmanuel Vadot qcom,qcs404-wcss-pil: 462eb4d8dcSEmmanuel Vadot must be "xo", "gcc_abhs_cbcr", "gcc_abhs_cbcr", 472eb4d8dcSEmmanuel Vadot "gcc_axim_cbcr", "lcc_ahbfabric_cbc", "tcsr_lcc_cbc", 482eb4d8dcSEmmanuel Vadot "lcc_abhs_cbc", "lcc_tcm_slave_cbc", "lcc_abhm_cbc", 492eb4d8dcSEmmanuel Vadot "lcc_axim_cbc", "lcc_bcr_sleep" 50c66ec88fSEmmanuel Vadot 51c66ec88fSEmmanuel Vadot- resets: 52c66ec88fSEmmanuel Vadot Usage: required 53c66ec88fSEmmanuel Vadot Value type: <phandle> 54*cb7aa33aSEmmanuel Vadot Definition: reference to the list of 3 reset-controllers for the 55c66ec88fSEmmanuel Vadot wcss sub-system 56c66ec88fSEmmanuel Vadot 57c66ec88fSEmmanuel Vadot- reset-names: 58c66ec88fSEmmanuel Vadot Usage: required 59c66ec88fSEmmanuel Vadot Value type: <stringlist> 60*cb7aa33aSEmmanuel Vadot Definition: must be "wcss_aon_reset", "wcss_reset", "wcss_q6_reset" 61c66ec88fSEmmanuel Vadot for the wcss sub-system 62c66ec88fSEmmanuel Vadot 63c66ec88fSEmmanuel Vadot- memory-region: 64c66ec88fSEmmanuel Vadot Usage: required 65c66ec88fSEmmanuel Vadot Value type: <phandle> 66*cb7aa33aSEmmanuel Vadot Definition: reference to wcss reserved-memory region. 67c66ec88fSEmmanuel Vadot 68c66ec88fSEmmanuel VadotFor the compatible string below the following supplies are required: 692eb4d8dcSEmmanuel Vadot "qcom,qcs404-wcss-pil" 702eb4d8dcSEmmanuel Vadot- cx-supply: 712eb4d8dcSEmmanuel Vadot Usage: required 722eb4d8dcSEmmanuel Vadot Value type: <phandle> 732eb4d8dcSEmmanuel Vadot Definition: reference to the regulators to be held on behalf of the 742eb4d8dcSEmmanuel Vadot booting of the Hexagon core 752eb4d8dcSEmmanuel Vadot 76c66ec88fSEmmanuel Vadot- qcom,smem-states: 77c66ec88fSEmmanuel Vadot Usage: required 78c66ec88fSEmmanuel Vadot Value type: <phandle> 79c66ec88fSEmmanuel Vadot Definition: reference to the smem state for requesting the Hexagon to 80c66ec88fSEmmanuel Vadot shut down 81c66ec88fSEmmanuel Vadot 82c66ec88fSEmmanuel Vadot- qcom,smem-state-names: 83c66ec88fSEmmanuel Vadot Usage: required 84c66ec88fSEmmanuel Vadot Value type: <stringlist> 85c66ec88fSEmmanuel Vadot Definition: must be "stop" 86c66ec88fSEmmanuel Vadot 87c66ec88fSEmmanuel Vadot- qcom,halt-regs: 88c66ec88fSEmmanuel Vadot Usage: required 89c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 90c66ec88fSEmmanuel Vadot Definition: a phandle reference to a syscon representing TCSR followed 91*cb7aa33aSEmmanuel Vadot by the three offsets within syscon for q6, wcss and nc 92c66ec88fSEmmanuel Vadot halt registers. 938cc087a1SEmmanuel Vadot 94c66ec88fSEmmanuel Vadot- memory-region: 95c66ec88fSEmmanuel Vadot Usage: required 96c66ec88fSEmmanuel Vadot Value type: <phandle> 97c66ec88fSEmmanuel Vadot Definition: reference to the reserved-memory for the region 98c66ec88fSEmmanuel Vadot 99c66ec88fSEmmanuel VadotThe Hexagon node may also have an subnode named either "smd-edge" or 100c66ec88fSEmmanuel Vadot"glink-edge" that describes the communication edge, channels and devices 101d5b0e70fSEmmanuel Vadotrelated to the Hexagon. See ../soc/qcom/qcom,smd.yaml and 102c66ec88fSEmmanuel Vadot../soc/qcom/qcom,glink.txt for details on how to describe these. 103