blob: 9564f0aa47e9c9f889d3dc83af81995da66081e6 [file] [log] [blame]
Qualcomm Femtocell (FSM99XX and FSM90XX) Peripheral Image Loader
pil-femto-modem is a peripheral image loader (PIL) driver. It is used for
loading firmware images on multiple modems resident on the FSM99XX and
FSM90XX platforms.
The top-level device tree entry has the following properties:
Required properties:
- compatible: Must be "qcom,pil-femto-modem".
- reg: Pair of physical base address and region size of the
QDSP6[0] control registers.
- reg-names: "qdsp6_base" is required.
- qcom,firmware-name: Base name of the MBA firmware image ("mba").
Maximum size is 4 characters.
- qcom,max-num-modems: Number of modem child nodes specified.
Optional properties:
- qcom,q6-freq-row: Row number from the frequency table. Must be specified
with qcom,q6-freq-col. Refer to MBA documentation for
specifics on frequency table row selection. Current
row maximum is 6.
- qcom,q6-freq-col: The column numbers from the frequency table. This must
be specified if qcom,q6-freq-row is specified. The
number of column values corresponds to the number of
QDSPs available, and each selection corresponds to a
desired frequency. Refer to MBA documentation for
specifics on frequency table column selections when
paired with a given row. Current column maximum is 7.
One child node per modem that must be loaded is required.
Required properties:
- compatible: Must be "qcom,pil-femto-modem-desc".
- reg: Pair of physical base address and region size of the
Relay Message Buffer (RMB) registers for this modem.
- reg-names: "rmb_base" is required.
- qcom,firmware-name: Base filename of the firmware image (e.g. "mdm0").
Maximum size is 4 characters.
- qcom,modem-id: Unique ID of this modem. This is not a logical
index.
- qcom,max-num-images: The maximum number of images that will be loaded to
this modem.
Optional properties:
- qcom,pil-skip-entry-check:
Some entry pointers are virtual addresses,
which will cause the PIL entry address check
to fail. This parameter will disable the
check.
Example:
qcom,modem-femto@fbc00000 {
compatible = "qcom,pil-femto-modem";
#address-cells=<1>;
#size-cells=<1>;
ranges;
reg = <0xfbc00000 0x100>;
reg-names = "qdsp6_base";
qcom,firmware-name = "mba";
qcom,max-num-modems = <5>;
qcom,q6-freq-row = <0>;
qcom,q6-freq-col = <2 2 1 1>;
qcom,modem@fd4a7000 {
compatible = "qcom,pil-femto-modem-desc";
reg = <0xfd4a7000 0x20>;
reg-names = "rmb_base";
qcom,firmware-name = "mdm0";
qcom,modem-id = <0>;
qcom,max-num-images = <1>;
};
qcom,modem@fd4a7030 {
compatible = "qcom,pil-femto-modem-desc";
reg = <0xfd4a7030 0x20>;
reg-names = "rmb_base";
qcom,firmware-name = "mdm1";
qcom,modem-id = <1>;
qcom,max-num-images = <1>;
};
qcom,modem@fd4a7060 {
compatible = "qcom,pil-femto-modem-desc";
reg = <0xfd4a7060 0x20>;
reg-names = "rmb_base";
qcom,firmware-name = "mdm2";
qcom,modem-id = <2>;
qcom,max-num-images = <1>;
};
qcom,modem@fd4a7090 {
compatible = "qcom,pil-femto-modem-desc";
reg = <0xfd4a7090 0x20>;
reg-names = "rmb_base";
qcom,firmware-name = "mdm3";
qcom,modem-id = <3>;
qcom,max-num-images = <1>;
};
qcom,modem@fd4a70c0 {
compatible = "qcom,pil-femto-modem-desc";
reg = <0xfd4a70c0 0x20>;
reg-names = "rmb_base";
qcom,firmware-name = "mdm4";
qcom,modem-id = <4>;
qcom,max-num-images = <8>;
qcom,pil-skip-entry-check;
};
};