Loading arch/arm64/boot/dts/qcom/sdmmagpie-camera.dtsi 0 → 100644 +201 −0 Original line number Diff line number Diff line /* * Copyright (c) 2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and * only version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ &soc { qcom,cam-req-mgr { compatible = "qcom,cam-req-mgr"; status = "ok"; }; qcom,cam_smmu { compatible = "qcom,msm-cam-smmu"; status = "ok"; msm_cam_smmu_ife { compatible = "qcom,msm-cam-smmu-cb"; iommus = <&apps_smmu 0x900 0x460>, <&apps_smmu 0xD00 0x460>, <&apps_smmu 0x880 0x460>, <&apps_smmu 0xC80 0x460>, <&apps_smmu 0x820 0x440>, <&apps_smmu 0xC20 0x440>, <&apps_smmu 0x920 0x460>, <&apps_smmu 0xD20 0x460>, <&apps_smmu 0x8A0 0x460>, <&apps_smmu 0xCA0 0x460>, <&apps_smmu 0x940 0x460>, <&apps_smmu 0xD40 0x460>, <&apps_smmu 0x8C0 0x460>, <&apps_smmu 0xCC0 0x460>; label = "ife"; ife_iova_mem_map: iova-mem-map { /* IO region is approximately 3.4 GB */ iova-mem-region-io { iova-region-name = "io"; iova-region-start = <0x7400000>; iova-region-len = <0xd8c00000>; iova-region-id = <0x3>; status = "ok"; }; }; }; msm_cam_smmu_jpeg { compatible = "qcom,msm-cam-smmu-cb"; iommus = <&apps_smmu 0x1280 0x20>, <&apps_smmu 0x12A0 0x20>; label = "jpeg"; jpeg_iova_mem_map: iova-mem-map { /* IO region is approximately 3.4 GB */ iova-mem-region-io { iova-region-name = "io"; iova-region-start = <0x7400000>; iova-region-len = <0xd8c00000>; iova-region-id = <0x3>; status = "ok"; }; }; }; msm_cam_icp_fw { compatible = "qcom,msm-cam-smmu-fw-dev"; label="icp"; memory-region = <&pil_camera_mem>; }; msm_cam_smmu_icp { compatible = "qcom,msm-cam-smmu-cb"; iommus = <&apps_smmu 0x1180 0x0>, <&apps_smmu 0x11E0 0x0>, <&apps_smmu 0x11A0 0x0>, <&apps_smmu 0x1200 0x0>, <&apps_smmu 0x1260 0x0>, <&apps_smmu 0x1220 0x0>, <&apps_smmu 0x1042 0x0>, <&apps_smmu 0x1300 0x60>, <&apps_smmu 0x1320 0x60>; label = "icp"; icp_iova_mem_map: iova-mem-map { iova-mem-region-firmware { /* Firmware region is 5MB */ iova-region-name = "firmware"; iova-region-start = <0x0>; iova-region-len = <0x500000>; iova-region-id = <0x0>; status = "ok"; }; iova-mem-region-shared { /* Shared region is 100MB long */ iova-region-name = "shared"; iova-region-start = <0x7400000>; iova-region-len = <0x6400000>; iova-region-id = <0x1>; status = "ok"; }; iova-mem-region-secondary-heap { /* Secondary heap region is 1MB long */ iova-region-name = "secheap"; iova-region-start = <0xd800000>; iova-region-len = <0x100000>; iova-region-id = <0x4>; status = "ok"; }; iova-mem-region-io { /* IO region is approximately 3 GB */ iova-region-name = "io"; iova-region-start = <0xda00000>; iova-region-len = <0xace00000>; iova-region-id = <0x3>; status = "ok"; }; iova-mem-qdss-region { /* QDSS region is appropriate 1MB */ iova-region-name = "qdss"; iova-region-start = <0xd900000>; iova-region-len = <0x100000>; iova-region-id = <0x5>; qdss-phy-addr = <0x16790000>; status = "ok"; }; }; }; msm_cam_smmu_cpas_cdm { compatible = "qcom,msm-cam-smmu-cb"; iommus = <&apps_smmu 0x1000 0x0>; label = "cpas-cdm0"; cpas_cdm_iova_mem_map: iova-mem-map { iova-mem-region-io { /* IO region is approximately 3.4 GB */ iova-region-name = "io"; iova-region-start = <0x7400000>; iova-region-len = <0xd8c00000>; iova-region-id = <0x3>; status = "ok"; }; }; }; msm_cam_smmu_secure { compatible = "qcom,msm-cam-smmu-cb"; label = "cam-secure"; qcom,secure-cb; }; msm_cam_smmu_fd { compatible = "qcom,msm-cam-smmu-cb"; iommus = <&apps_smmu 0x12C0 0x20>, <&apps_smmu 0x12E0 0x20>; label = "fd"; fd_iova_mem_map: iova-mem-map { iova-mem-region-io { /* IO region is approximately 3.4 GB */ iova-region-name = "io"; iova-region-start = <0x7400000>; iova-region-len = <0xd8c00000>; iova-region-id = <0x3>; status = "ok"; }; }; }; msm_cam_smmu_lrme { compatible = "qcom,msm-cam-smmu-cb"; iommus = <&apps_smmu 0x11C0 0x0>, <&apps_smmu 0x1240 0x0>; label = "lrme"; lrme_iova_mem_map: iova-mem-map { iova-mem-region-shared { /* Shared region is 100MB long */ iova-region-name = "shared"; iova-region-start = <0x7400000>; iova-region-len = <0x6400000>; iova-region-id = <0x1>; status = "ok"; }; /* IO region is approximately 3.3 GB */ iova-mem-region-io { iova-region-name = "io"; iova-region-start = <0xd800000>; iova-region-len = <0xd2800000>; iova-region-id = <0x3>; status = "ok"; }; }; }; }; }; Loading
arch/arm64/boot/dts/qcom/sdmmagpie-camera.dtsi 0 → 100644 +201 −0 Original line number Diff line number Diff line /* * Copyright (c) 2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and * only version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ &soc { qcom,cam-req-mgr { compatible = "qcom,cam-req-mgr"; status = "ok"; }; qcom,cam_smmu { compatible = "qcom,msm-cam-smmu"; status = "ok"; msm_cam_smmu_ife { compatible = "qcom,msm-cam-smmu-cb"; iommus = <&apps_smmu 0x900 0x460>, <&apps_smmu 0xD00 0x460>, <&apps_smmu 0x880 0x460>, <&apps_smmu 0xC80 0x460>, <&apps_smmu 0x820 0x440>, <&apps_smmu 0xC20 0x440>, <&apps_smmu 0x920 0x460>, <&apps_smmu 0xD20 0x460>, <&apps_smmu 0x8A0 0x460>, <&apps_smmu 0xCA0 0x460>, <&apps_smmu 0x940 0x460>, <&apps_smmu 0xD40 0x460>, <&apps_smmu 0x8C0 0x460>, <&apps_smmu 0xCC0 0x460>; label = "ife"; ife_iova_mem_map: iova-mem-map { /* IO region is approximately 3.4 GB */ iova-mem-region-io { iova-region-name = "io"; iova-region-start = <0x7400000>; iova-region-len = <0xd8c00000>; iova-region-id = <0x3>; status = "ok"; }; }; }; msm_cam_smmu_jpeg { compatible = "qcom,msm-cam-smmu-cb"; iommus = <&apps_smmu 0x1280 0x20>, <&apps_smmu 0x12A0 0x20>; label = "jpeg"; jpeg_iova_mem_map: iova-mem-map { /* IO region is approximately 3.4 GB */ iova-mem-region-io { iova-region-name = "io"; iova-region-start = <0x7400000>; iova-region-len = <0xd8c00000>; iova-region-id = <0x3>; status = "ok"; }; }; }; msm_cam_icp_fw { compatible = "qcom,msm-cam-smmu-fw-dev"; label="icp"; memory-region = <&pil_camera_mem>; }; msm_cam_smmu_icp { compatible = "qcom,msm-cam-smmu-cb"; iommus = <&apps_smmu 0x1180 0x0>, <&apps_smmu 0x11E0 0x0>, <&apps_smmu 0x11A0 0x0>, <&apps_smmu 0x1200 0x0>, <&apps_smmu 0x1260 0x0>, <&apps_smmu 0x1220 0x0>, <&apps_smmu 0x1042 0x0>, <&apps_smmu 0x1300 0x60>, <&apps_smmu 0x1320 0x60>; label = "icp"; icp_iova_mem_map: iova-mem-map { iova-mem-region-firmware { /* Firmware region is 5MB */ iova-region-name = "firmware"; iova-region-start = <0x0>; iova-region-len = <0x500000>; iova-region-id = <0x0>; status = "ok"; }; iova-mem-region-shared { /* Shared region is 100MB long */ iova-region-name = "shared"; iova-region-start = <0x7400000>; iova-region-len = <0x6400000>; iova-region-id = <0x1>; status = "ok"; }; iova-mem-region-secondary-heap { /* Secondary heap region is 1MB long */ iova-region-name = "secheap"; iova-region-start = <0xd800000>; iova-region-len = <0x100000>; iova-region-id = <0x4>; status = "ok"; }; iova-mem-region-io { /* IO region is approximately 3 GB */ iova-region-name = "io"; iova-region-start = <0xda00000>; iova-region-len = <0xace00000>; iova-region-id = <0x3>; status = "ok"; }; iova-mem-qdss-region { /* QDSS region is appropriate 1MB */ iova-region-name = "qdss"; iova-region-start = <0xd900000>; iova-region-len = <0x100000>; iova-region-id = <0x5>; qdss-phy-addr = <0x16790000>; status = "ok"; }; }; }; msm_cam_smmu_cpas_cdm { compatible = "qcom,msm-cam-smmu-cb"; iommus = <&apps_smmu 0x1000 0x0>; label = "cpas-cdm0"; cpas_cdm_iova_mem_map: iova-mem-map { iova-mem-region-io { /* IO region is approximately 3.4 GB */ iova-region-name = "io"; iova-region-start = <0x7400000>; iova-region-len = <0xd8c00000>; iova-region-id = <0x3>; status = "ok"; }; }; }; msm_cam_smmu_secure { compatible = "qcom,msm-cam-smmu-cb"; label = "cam-secure"; qcom,secure-cb; }; msm_cam_smmu_fd { compatible = "qcom,msm-cam-smmu-cb"; iommus = <&apps_smmu 0x12C0 0x20>, <&apps_smmu 0x12E0 0x20>; label = "fd"; fd_iova_mem_map: iova-mem-map { iova-mem-region-io { /* IO region is approximately 3.4 GB */ iova-region-name = "io"; iova-region-start = <0x7400000>; iova-region-len = <0xd8c00000>; iova-region-id = <0x3>; status = "ok"; }; }; }; msm_cam_smmu_lrme { compatible = "qcom,msm-cam-smmu-cb"; iommus = <&apps_smmu 0x11C0 0x0>, <&apps_smmu 0x1240 0x0>; label = "lrme"; lrme_iova_mem_map: iova-mem-map { iova-mem-region-shared { /* Shared region is 100MB long */ iova-region-name = "shared"; iova-region-start = <0x7400000>; iova-region-len = <0x6400000>; iova-region-id = <0x1>; status = "ok"; }; /* IO region is approximately 3.3 GB */ iova-mem-region-io { iova-region-name = "io"; iova-region-start = <0xd800000>; iova-region-len = <0xd2800000>; iova-region-id = <0x3>; status = "ok"; }; }; }; }; };