| Qualcomm LPASS QDSP6v5 Peripheral Image Loader |
| |
| pil-qdsp6v5-lpass is a peripheral image loader (PIL) driver. It is used for |
| loading QDSP6v5 (Hexagon) firmware images for Low Power Audio Subsystems |
| into memory and preparing the subsystem's processor to execute code. It's |
| also responsible for shutting down the processor when it's not needed. |
| |
| Required properties: |
| - compatible: Must be "qcom,pil-q6v5-lpass" |
| - reg: Pairs of physical base addresses and region sizes of |
| memory mapped registers. |
| - reg-names: Names of the bases for the above registers. "qdsp6_base" |
| "halt_base", and "restart_reg" are expected. |
| - interrupts: The lpass watchdog interrupt |
| - vdd_cx-supply: Reference to the regulator that supplies the vdd_cx domain. |
| - qcom,firmware-name: Base name of the firmware image. Ex. "lpass" |
| |
| Optional properties: |
| - vdd_pll-supply: Reference to the regulator that supplies the PLL's rail. |
| - qcom,vdd_pll: Voltage to be set for the PLL's rail. |
| - qcom,gpio-err-fatal: GPIO used by the lpass to indicate error fatal to the apps. |
| - qcom,gpio-err-ready: GPIO used by the lpass to indicate apps error service is ready. |
| - qcom,gpio-proxy-unvote: GPIO used by the lpass to indicate apps clock is ready. |
| - qcom,gpio-force-stop: GPIO used by the apps to force the lpass to shutdown. |
| |
| Example: |
| qcom,lpass@fe200000 { |
| compatible = "qcom,pil-q6v5-lpass"; |
| reg = <0xfe200000 0x00100>, |
| <0xfd485100 0x00010>, |
| <0xfc4016c0 0x00004>; |
| reg-names = "qdsp6_base", "halt_base", "restart_reg"; |
| interrupts = <0 194 1>; |
| vdd_cx-supply = <&pm8841_s2>; |
| qcom,firmware-name = "lpass"; |
| |
| /* GPIO inputs from lpass */ |
| qcom,gpio-err-fatal = <&smp2pgpio_ssr_smp2p_2_in 0 0>; |
| qcom,gpio-proxy-unvote = <&smp2pgpio_ssr_smp2p_2_in 2 0>; |
| |
| /* GPIO output to lpass */ |
| qcom,gpio-force-stop = <&smp2pgpio_ssr_smp2p_2_out 0 0>; |
| }; |