Matt Wagantall | 4e2599e | 2012-03-21 22:31:35 -0700 | [diff] [blame] | 1 | Qualcomm MSS QDSP6v5 Peripheral Image Loader |
| 2 | |
| 3 | pil-qdsp6v5-mss is a peripheral image loader (PIL) driver. It is used for |
| 4 | loading QDSP6v5 (Hexagon) firmware images for modem subsystems into memory and |
| 5 | preparing the subsystem's processor to execute code. It's also responsible for |
| 6 | shutting down the processor when it's not needed. |
| 7 | |
| 8 | Required properties: |
| 9 | - compatible: Must be "qcom,pil-q6v5-mss" |
Matt Wagantall | 1f16815 | 2012-09-25 13:26:47 -0700 | [diff] [blame] | 10 | - reg: Pairs of physical base addresses and region sizes of |
| 11 | memory mapped registers. |
| 12 | - reg-names: Names of the bases for the above registers. "qdsp6_base", |
Stephen Boyd | 3da4fd0 | 2012-07-06 10:00:12 -0700 | [diff] [blame] | 13 | "halt_base", "rmb_base", "restart_reg", and |
| 14 | "metadata_base" are expected. |
| 15 | - interrupts: The modem watchdog interrupt |
Matt Wagantall | 4e2599e | 2012-03-21 22:31:35 -0700 | [diff] [blame] | 16 | - vdd_mss-supply: Reference to the regulator that supplies the processor. |
Matt Wagantall | 6c51598 | 2013-01-29 14:58:43 -0800 | [diff] [blame] | 17 | - vdd_cx-supply: Reference to the regulator that supplies the vdd_cx domain. |
Matt Wagantall | 70315fb | 2012-12-03 16:33:28 -0800 | [diff] [blame] | 18 | - vdd_mx-supply: Reference to the regulator that supplies the memory rail. |
Matt Wagantall | 4e2599e | 2012-03-21 22:31:35 -0700 | [diff] [blame] | 19 | - qcom,firmware-name: Base name of the firmware image. Ex. "mdsp" |
Seemanta Dutta | 6e58f54 | 2013-03-04 19:28:16 -0800 | [diff] [blame] | 20 | - qcom,gpio-err-fatal: GPIO used by the modem to indicate error fatal to the apps. |
| 21 | - qcom,gpio-force-stop: GPIO used by the apps to force the modem to shutdown. |
Matt Wagantall | 4e2599e | 2012-03-21 22:31:35 -0700 | [diff] [blame] | 22 | |
Matt Wagantall | 6c51598 | 2013-01-29 14:58:43 -0800 | [diff] [blame] | 23 | Optional properties: |
| 24 | - vdd_pll-supply: Reference to the regulator that supplies the PLL's rail. |
| 25 | - qcom,vdd_pll: Voltage to be set for the PLL's rail. |
Patrick Daly | 11ca6af | 2013-03-03 17:07:28 -0800 | [diff] [blame] | 26 | - reg-names: "cxrail_bhs_reg" - control register for modem power |
| 27 | domain. |
Patrick Daly | b830a3f | 2013-03-11 14:21:34 -0700 | [diff] [blame] | 28 | - qcom,is-loadable: Boolean- Present if the image needs to be loaded. |
| 29 | - qcom,pil-self-auth: Boolean- True if authentication is required. |
Matt Wagantall | 6c51598 | 2013-01-29 14:58:43 -0800 | [diff] [blame] | 30 | |
Matt Wagantall | 4e2599e | 2012-03-21 22:31:35 -0700 | [diff] [blame] | 31 | Example: |
| 32 | qcom,mss@fc880000 { |
| 33 | compatible = "qcom,pil-q6v5-mss"; |
| 34 | reg = <0xfc880000 0x100>, |
| 35 | <0xfd485000 0x400>, |
| 36 | <0xfc820000 0x020>, |
Stephen Boyd | 3da4fd0 | 2012-07-06 10:00:12 -0700 | [diff] [blame] | 37 | <0xfc401680 0x004>, |
| 38 | <0x0d1f0000 0x4000>; |
Matt Wagantall | 1f16815 | 2012-09-25 13:26:47 -0700 | [diff] [blame] | 39 | reg-names = "qdsp6_base", "halt_base", "rmb_base", |
Stephen Boyd | 3da4fd0 | 2012-07-06 10:00:12 -0700 | [diff] [blame] | 40 | "restart_reg", metadata_base"; |
| 41 | interrupts = <0 24 1>; |
Matt Wagantall | 4e2599e | 2012-03-21 22:31:35 -0700 | [diff] [blame] | 42 | vdd_mss-supply = <&pm8841_s3>; |
Matt Wagantall | 6c51598 | 2013-01-29 14:58:43 -0800 | [diff] [blame] | 43 | vdd_cx-supply = <&pm8841_s2>; |
Matt Wagantall | 70315fb | 2012-12-03 16:33:28 -0800 | [diff] [blame] | 44 | vdd_mx-supply = <&pm8841_s1>; |
Matt Wagantall | 4e2599e | 2012-03-21 22:31:35 -0700 | [diff] [blame] | 45 | |
Vikram Mulukutla | 2d4f086 | 2012-11-16 11:57:34 -0800 | [diff] [blame] | 46 | qcom,is-loadable; |
Matt Wagantall | 4e2599e | 2012-03-21 22:31:35 -0700 | [diff] [blame] | 47 | qcom,firmware-name = "mba"; |
Patrick Daly | b830a3f | 2013-03-11 14:21:34 -0700 | [diff] [blame] | 48 | qcom,pil-self-auth; |
Seemanta Dutta | 6e58f54 | 2013-03-04 19:28:16 -0800 | [diff] [blame] | 49 | |
| 50 | /* GPIO inputs from mss */ |
| 51 | gpio_err_fatal = <&smp2pgpio_ssr_smp2p_1_in 0 0>; |
| 52 | |
| 53 | /* GPIO output to mss */ |
| 54 | gpio_force_stop = <&smp2pgpio_ssr_smp2p_1_out 0 0>; |
Matt Wagantall | 4e2599e | 2012-03-21 22:31:35 -0700 | [diff] [blame] | 55 | }; |