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

Reply via email to