123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- Qualcomm Technologies Inc MSS QDSP6v5 Peripheral Image Loader
- pil-qdsp6v5-mss is a peripheral image loader (PIL) driver. It is used for
- loading QDSP6v5 (Hexagon) firmware images for modem 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-mss" or "qcom,pil-q6v55-mss" or
- "qcom,pil-q6v56-mss".
- - 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",
- "rmb_base", "restart_reg" or "restart_reg_sec"(optional
- for secure mode) are expected.
- If "halt_base" is in same 4K pages this register then
- this will be defined else "halt_q6", "halt_modem",
- "halt_nc" is required.
- "pdc_sync" is the power domain register introduced in
- sdm845 for power domain of subsystems.
- If alternative reset is required, "alt_reset" maps to
- mss_alt_ares.
- - interrupts: The modem watchdog interrupt
- - vdd_cx-supply: Reference to the regulator that supplies the vdd_cx domain.
- - vdd_cx-voltage: Voltage corner/level(max) for cx rail.
- - vdd_mx-supply: Reference to the regulator that supplies the memory rail.
- - vdd_mx-uV: Voltage setting for the mx rail.
- - qcom,firmware-name: Base name of the firmware image. Ex. "mdsp"
- Optional properties:
- - vdd_mss-supply: Reference to the regulator that supplies the processor.
- This may be a shared regulator that is already voted
- on in the PIL proxy voting code (and also managed by the
- modem on its own), hence we mark it as as optional.
- - vdd_mss-uV: Voltage to set for vdd_mss.
- - 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.
- - reg-names: "cxrail_bhs_reg" - control register for modem power
- domain.
- - clocks: Array of <clock_controller_phandle clock_reference> listing
- all the clocks that are accesed by this subsystem.
- - qcom,proxy-clock-names: Names of the clocks that need to be turned on/off during
- proxy voting/unvoting.
- - qcom,active-clock-names: Names of the clocks that need to be turned on for the
- subsystem to run. Turned off when the subsystem is shutdown.
- - clock-names: Names of all the clocks that are accessed by the subsystem.
- - qcom,is-not-loadable: Boolean- Present if the image does not need to
- be loaded.
- - qcom,pil-self-auth: Boolean- True if authentication is required.
- - qcom,mem-protect-id: Virtual ID used by PIL to call into TZ/HYP to protect/unprotect
- subsystem related memory.
- - qcom,gpio-err-fatal: GPIO used by the modem to indicate error fatal to the apps.
- - qcom,gpio-err-ready: GPIO used by the modem to indicate error ready to the apps.
- - qcom,gpio-proxy-unvote: GPIO used by the modem to trigger proxy unvoting in
- the apps.
- - qcom,gpio-force-stop: GPIO used by the apps to force the modem to shutdown.
- - qcom,gpio-stop-ack: GPIO used by the modem to ack force stop or a graceful stop
- to the apps.
- - qcom,gpio-ramdump-disable: GPIO used by the modem to inform the apps that ramdump
- collection should be disabled.
- - qcom,gpio-shutdown-ack: GPIO used by the modem to indicate that it has done the
- necessary cleanup and that the apps can move forward with
- the shutdown sequence.
- - qcom,restart-group: List of subsystems that will need to restart together.
- - qcom,mba-image-is-not-elf: Boolean- Present if MBA image doesn't use the ELF
- format.
- - qcom,ssctl-instance-id: Instance id used by the subsystem to connect with the SSCTL
- service.
- - qcom,sysmon-id: platform device id that sysmon is probed with for the subsystem.
- - qcom,override-acc: Boolean- Present if we need to override the default ACC settings
- - qcom,mss_pdc_offset: Integer- Mandatory if PDC register is specified. It is
- used to specify which bit in the PDC register
- corresponds to the modem.
- - qcom,ahb-clk-vote: Boolean- Present if we need to remove the vote for the mss_cfg_ahb
- clock after the modem boots up
- - qcom,pnoc-clk-vote: Boolean- Present if the modem needs the PNOC bus to be
- clocked before it boots up
- - qcom,qdsp6v56-1-3: Boolean- Present if the qdsp version is v56 1.3
- - qcom,qdsp6v56-1-5: Boolean- Present if the qdsp version is v56 1.5
- - qcom,edge: GLINK logical name of the remote subsystem
- - qcom,pil-force-shutdown: Boolean. If set, the SSR framework will not trigger graceful shutdown
- on behalf of the subsystem driver.
- - qcom,pil-mss-memsetup: Boolean - True if TZ need to be informed of modem start address and size.
- - qcom,pas-id: pas_id of the subsystem.
- - qcom,qdsp6v56-1-8: Boolean- Present if the qdsp version is v56 1.8
- - qcom,qdsp6v56-1-8-inrush-current: Boolean- Present if the qdsp version is V56 1.8 and has in-rush
- current issue.
- - qcom,qdsp6v61-1-1: Boolean- Present if the qdsp version is v61 1.1
- - qcom,qdsp6v62-1-2: Boolean- Present if the qdsp version is v62 1.2
- - qcom,qdsp6v62-1-4: Boolean- Present if the qdsp version is v62 1.4
- - qcom,qdsp6v62-1-5: Boolean- Present if the qdsp version is v62 1.5
- - qcom,qdsp6v65-1-0: Boolean- Present if the qdsp version is v65 1.0
- - qcom,mx-spike-wa: Boolean- Present if we need to assert QDSP6 I/O clamp, memory
- wordline clamp, and compiler memory clamp during MSS restart.
- - qcom,qdsp6v56-1-10: Boolean- Present if the qdsp version is v56 1.10
- - qcom,override-acc-1: Override the default ACC settings with this value if present.
- - qcom,minidump-id: Unique id for each subsystem
- - qcom,reset-clk: Enable clock after MSS restart
- One child node to represent the MBA image may be specified, when the MBA image
- needs to be loaded in a specifically carved out memory region.
- Required properties:
- - compatible: Must be "qcom,pil-mba-mem"
- - memory-region: A phandle that points to a reserved memory where the MBA image will be loaded.
- Example:
- qcom,mss@fc880000 {
- compatible = "qcom,pil-q6v5-mss";
- reg = <0xfc880000 0x100>,
- <0xfd485000 0x400>,
- <0xfc820000 0x020>,
- <0xfc401680 0x004>;
- reg-names = "qdsp6_base", "halt_base", "rmb_base",
- "restart_reg";
- interrupts = <0 24 1>;
- vdd_mss-supply = <&pm8841_s3>;
- vdd_cx-supply = <&pm8841_s2>;
- vdd_cx-voltage = <7>;
- vdd_mx-supply = <&pm8841_s1>;
- vdd_mx-uV = <105000>;
- clocks = <&clock_rpm clk_xo_pil_mss_clk>,
- <&clock_gcc clk_gcc_mss_cfg_ahb_clk>,
- <&clock_gcc clk_gcc_mss_q6_bimc_axi_clk>,
- <&clock_gcc clk_gcc_boot_rom_ahb_clk>;
- clock-names = "xo", "iface_clk", "bus_clk", "mem_clk";
- qcom,proxy-clock-names = "xo";
- qcom,active-clock-names = "iface_clk", "bus_clk", "mem_clk";
- qcom,is-not-loadable;
- qcom,firmware-name = "mba";
- qcom,pil-self-auth;
- qcom,mba-image-is-not-elf;
- qcom,override-acc;
- /* GPIO inputs from mss */
- qcom,gpio-err-fatal = <&smp2pgpio_ssr_smp2p_1_in 0 0>;
- qcom,gpio-err-ready = <&smp2pgpio_ssr_smp2p_1_in 1 0>;
- qcom,gpio-proxy-unvote = <&smp2pgpio_ssr_smp2p_1_in 2 0>;
- /* GPIO output to mss */
- qcom,gpio-force-stop = <&smp2pgpio_ssr_smp2p_1_out 0 0>;
- qcom,ssctl-instance-id = <12>;
- qcom,sysmon-id = <0>;
- qcom,mba-mem@0 {
- compatible = "qcom,pil-mba-mem";
- memory-region = <&peripheral_mem>;
- };
- };
|