dt-bindings: net: qcom,ipa: deprecate modem-init
GSI firmware for IPA must be loaded during initialization, either by the AP or by the modem. The loader is currently specified based on whether the Boolean modem-init property is present. Instead, use a new property with an enumerated value to indicate explicitly how GSI firmware gets loaded. With this in place, a third approach can be added in an upcoming patch. The new qcom,gsi-loader property has two defined values: - self: The AP loads GSI firmware - modem: The modem loads GSI firmware The modem-init property must still be supported, but is now marked deprecated. Update the example so it represents the SC7180 SoC, and provide examples for the qcom,gsi-loader, memory-region, and firmware-name properties. Signed-off-by: Alex Elder <elder@linaro.org> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
647541ea06
commit
4ca0c6474f
|
@ -124,19 +124,29 @@ properties:
|
||||||
- const: ipa-clock-enabled-valid
|
- const: ipa-clock-enabled-valid
|
||||||
- const: ipa-clock-enabled
|
- const: ipa-clock-enabled
|
||||||
|
|
||||||
|
qcom,gsi-loader:
|
||||||
|
enum:
|
||||||
|
- self
|
||||||
|
- modem
|
||||||
|
description:
|
||||||
|
Indicates how GSI firmware should be loaded. If the AP loads
|
||||||
|
and validates GSI firmware, this property has value "self".
|
||||||
|
If the modem does this, this property has value "modem".
|
||||||
|
|
||||||
modem-init:
|
modem-init:
|
||||||
|
deprecated: true
|
||||||
type: boolean
|
type: boolean
|
||||||
description:
|
description:
|
||||||
If present, it indicates that the modem is responsible for
|
This is the older (deprecated) way of indicating how GSI firmware
|
||||||
performing early IPA initialization, including loading and
|
should be loaded. If present, the modem loads GSI firmware; if
|
||||||
validating firwmare used by the GSI.
|
absent, the AP loads GSI firmware.
|
||||||
|
|
||||||
memory-region:
|
memory-region:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
description:
|
description:
|
||||||
If present, a phandle for a reserved memory area that holds
|
If present, a phandle for a reserved memory area that holds
|
||||||
the firmware passed to Trust Zone for authentication. Required
|
the firmware passed to Trust Zone for authentication. Required
|
||||||
when Trust Zone (not the modem) performs early initialization.
|
when the AP (not the modem) performs early initialization.
|
||||||
|
|
||||||
firmware-name:
|
firmware-name:
|
||||||
$ref: /schemas/types.yaml#/definitions/string
|
$ref: /schemas/types.yaml#/definitions/string
|
||||||
|
@ -155,15 +165,36 @@ required:
|
||||||
- interconnects
|
- interconnects
|
||||||
- qcom,smem-states
|
- qcom,smem-states
|
||||||
|
|
||||||
# If modem-init is not present, the AP loads GSI firmware, and
|
allOf:
|
||||||
# memory-region must be specified
|
# If qcom,gsi-loader is present, modem-init must not be present
|
||||||
if:
|
- if:
|
||||||
not:
|
required:
|
||||||
required:
|
- qcom,gsi-loader
|
||||||
- modem-init
|
then:
|
||||||
then:
|
properties:
|
||||||
required:
|
modem-init: false
|
||||||
- memory-region
|
|
||||||
|
# If qcom,gsi-loader is "self", the AP loads GSI firmware, and
|
||||||
|
# memory-region must be specified
|
||||||
|
if:
|
||||||
|
properties:
|
||||||
|
qcom,gsi-loader:
|
||||||
|
contains:
|
||||||
|
const: self
|
||||||
|
then:
|
||||||
|
required:
|
||||||
|
- memory-region
|
||||||
|
else:
|
||||||
|
# If qcom,gsi-loader is not present, we use deprecated behavior.
|
||||||
|
# If modem-init is not present, the AP loads GSI firmware, and
|
||||||
|
# memory-region must be specified.
|
||||||
|
if:
|
||||||
|
not:
|
||||||
|
required:
|
||||||
|
- modem-init
|
||||||
|
then:
|
||||||
|
required:
|
||||||
|
- memory-region
|
||||||
|
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
|
|
||||||
|
@ -194,14 +225,17 @@ examples:
|
||||||
};
|
};
|
||||||
|
|
||||||
ipa@1e40000 {
|
ipa@1e40000 {
|
||||||
compatible = "qcom,sdm845-ipa";
|
compatible = "qcom,sc7180-ipa";
|
||||||
|
|
||||||
modem-init;
|
qcom,gsi-loader = "self";
|
||||||
|
memory-region = <&ipa_fw_mem>;
|
||||||
|
firmware-name = "qcom/sc7180-trogdor/modem/modem.mdt";
|
||||||
|
|
||||||
iommus = <&apps_smmu 0x720 0x3>;
|
iommus = <&apps_smmu 0x440 0x0>,
|
||||||
|
<&apps_smmu 0x442 0x0>;
|
||||||
reg = <0x1e40000 0x7000>,
|
reg = <0x1e40000 0x7000>,
|
||||||
<0x1e47000 0x2000>,
|
<0x1e47000 0x2000>,
|
||||||
<0x1e04000 0x2c000>;
|
<0x1e04000 0x2c000>;
|
||||||
reg-names = "ipa-reg",
|
reg-names = "ipa-reg",
|
||||||
"ipa-shared",
|
"ipa-shared",
|
||||||
"gsi";
|
"gsi";
|
||||||
|
@ -219,9 +253,9 @@ examples:
|
||||||
clock-names = "core";
|
clock-names = "core";
|
||||||
|
|
||||||
interconnects =
|
interconnects =
|
||||||
<&rsc_hlos MASTER_IPA &rsc_hlos SLAVE_EBI1>,
|
<&aggre2_noc MASTER_IPA 0 &mc_virt SLAVE_EBI1 0>,
|
||||||
<&rsc_hlos MASTER_IPA &rsc_hlos SLAVE_IMEM>,
|
<&aggre2_noc MASTER_IPA 0 &system_noc SLAVE_IMEM 0>,
|
||||||
<&rsc_hlos MASTER_APPSS_PROC &rsc_hlos SLAVE_IPA_CFG>;
|
<&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_IPA_CFG 0>;
|
||||||
interconnect-names = "memory",
|
interconnect-names = "memory",
|
||||||
"imem",
|
"imem",
|
||||||
"config";
|
"config";
|
||||||
|
|
Loading…
Reference in New Issue