The ipa_fws.elf found in the Lenovo Yoga C630 isn't packed like the one found in e.g. the MTP, so it doesn't fit in the "standard" ipa_fws memory region. Further more, authentication of ipa_fws at the usual base address is rejected by the Peripheral Authentication Service (in TrustZone), so some shuffling and trial and error was used to come up with acceptable regions.
With this in order, enable the IPA device. Signed-off-by: Bjorn Andersson <bjorn.anders...@linaro.org> --- .../boot/dts/qcom/sdm850-lenovo-yoga-c630.dts | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts index 9c2ab377faf1..4dd5820b3b31 100644 --- a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts +++ b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts @@ -74,28 +74,23 @@ rmtfs_mem: memory@88f00000 { qcom,vmid = <15>; }; - ipa_fw_mem: memory@8c400000 { - reg = <0 0x8c400000 0 0x10000>; + wlan_msa_mem: memory@8c400000 { + reg = <0 0x8c400000 0 0x100000>; no-map; }; - ipa_gsi_mem: memory@8c410000 { - reg = <0 0x8c410000 0 0x5000>; + gpu_mem: memory@8c515000 { + reg = <0 0x8c515000 0 0x2000>; no-map; }; - gpu_mem: memory@8c415000 { - reg = <0 0x8c415000 0 0x2000>; + ipa_fw_mem: memory@8c517000 { + reg = <0 0x8c517000 0 0x5a000>; no-map; }; - adsp_mem: memory@8c500000 { - reg = <0 0x8c500000 0 0x1a00000>; - no-map; - }; - - wlan_msa_mem: memory@8df00000 { - reg = <0 0x8df00000 0 0x100000>; + adsp_mem: memory@8c600000 { + reg = <0 0x8c600000 0 0x1a00000>; no-map; }; @@ -500,6 +495,11 @@ ecsh: hid@5c { }; }; +&ipa { + status = "okay"; + memory-region = <&ipa_fw_mem>; +}; + &mdss { status = "okay"; }; -- 2.30.0