blob: d32279df50de97fde604ce19453fbad1b03a6a14 [file] [log] [blame]
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>;
};