/* Copyright (c) 2015, 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. */ #include "msm-arm-smmu.dtsi" #include #include &anoc0_smmu { status = "ok"; qcom,register-save; qcom,skip-init; #global-interrupts = <1>; interrupts = , , , , , , ; vdd-supply = <&gdsc_aggre0_noc>; clocks = <&clock_gcc clk_gcc_smmu_aggre0_axi_clk>, <&clock_gcc clk_gcc_smmu_aggre0_ahb_clk>; clock-names = "smmu_aggre0_axi_clk", "smmu_aggre0_ahb_clk"; #clock-cells = <1>; #iommu-cells = <0>; }; &anoc1_smmu { status = "ok"; qcom,register-save; qcom,skip-init; #global-interrupts = <1>; interrupts = , , , , , , , , ; #iommu-cells = <1>; clocks = <&clock_gcc clk_aggre1_noc_clk>; clock-names = "smmu_aggre1_noc_clk"; #clock-cells = <1>; }; &anoc2_smmu { status = "ok"; qcom,register-save; qcom,skip-init; #global-interrupts = <1>; interrupts = , , , , , , , , , , , , ; #iommu-cells = <1>; clocks = <&clock_gcc clk_aggre2_noc_clk>; clock-names = "smmu_aggre2_noc_clk"; #clock-cells = <1>; }; &lpass_q6_smmu { status = "ok"; qcom,register-save; qcom,skip-init; #global-interrupts = <1>; interrupts = , , , , , , , , , , , , , , , , ; vdd-supply = <&gdsc_hlos1_vote_lpass_adsp>; clocks = <&clock_gcc clk_hlos1_vote_lpass_adsp_smmu_clk>; clock-names = "lpass_q6_smmu_clocks"; #clock-cells = <1>; }; &jpeg_smmu { status = "ok"; qcom,register-save; qcom,skip-init; qcom,fatal-asf; #global-interrupts = <1>; interrupts = , , , , ; vdd-supply = <&gdsc_mmagic_camss>; clocks = <&clock_mmss clk_mmss_mmagic_ahb_clk>, <&clock_mmss clk_mmss_mmagic_cfg_ahb_clk>, <&clock_mmss clk_smmu_jpeg_ahb_clk>, <&clock_mmss clk_smmu_jpeg_axi_clk>, <&clock_mmss clk_mmagic_camss_axi_clk>; clock-names = "mmagic_ahb_clk", "mmagic_cfg_ahb_clk", "jpeg_ahb_clk", "jpeg_axi_clk", "mmagic_camss_axi_clk"; #clock-cells = <1>; qcom,bus-master-id = ; }; &vfe_smmu { status = "ok"; qcom,register-save; qcom,skip-init; qcom,fatal-asf; #global-interrupts = <1>; interrupts = , , , , ; vdd-supply = <&gdsc_mmagic_camss>; clocks = <&clock_mmss clk_mmss_mmagic_ahb_clk>, <&clock_mmss clk_mmss_mmagic_cfg_ahb_clk>, <&clock_mmss clk_smmu_vfe_ahb_clk>, <&clock_mmss clk_smmu_vfe_axi_clk>, <&clock_mmss clk_mmagic_camss_axi_clk>; clock-names = "mmagic_ahb_clk", "mmagic_cfg_ahb_clk", "vfe_ahb_clk", "vfe_axi_clk", "mmagic_camss_axi_clk"; #clock-cells = <1>; qcom,bus-master-id = ; }; &cpp_fd_smmu { status = "ok"; qcom,register-save; qcom,skip-init; qcom,fatal-asf; #global-interrupts = <1>; interrupts = , , , , ; vdd-supply = <&gdsc_mmagic_camss>; clocks = <&clock_mmss clk_mmss_mmagic_ahb_clk>, <&clock_mmss clk_mmss_mmagic_cfg_ahb_clk>, <&clock_mmss clk_smmu_cpp_ahb_clk>, <&clock_mmss clk_smmu_cpp_axi_clk>, <&clock_mmss clk_mmagic_camss_axi_clk>; clock-names = "mmagic_ahb_clk", "mmagic_cfg_ahb_clk", "cpp_ahb_clk", "cpp_axi_clk", "mmagic_camss_axi_clk"; #clock-cells = <1>; qcom,bus-master-id = ; }; &venus_smmu { status = "ok"; qcom,register-save; qcom,skip-init; #global-interrupts = <1>; interrupts = , , , , , , , , , , , ; vdd-supply = <&gdsc_mmagic_video>; clocks = <&clock_mmss clk_mmss_mmagic_ahb_clk>, <&clock_mmss clk_mmss_mmagic_cfg_ahb_clk>, <&clock_mmss clk_smmu_video_ahb_clk>, <&clock_mmss clk_smmu_video_axi_clk>, <&clock_mmss clk_mmagic_video_axi_clk>; clock-names = "mmagic_ahb_clk", "mmagic_cfg_ahb_clk", "video_ahb_clk", "video_axi_clk", "mmagic_video_axi_clk"; #clock-cells = <1>; qcom,bus-master-id = ; }; &mdp_smmu { status = "ok"; qcom,register-save; qcom,skip-init; qcom,no-smr-check; #global-interrupts = <1>; interrupts = , , , , ; vdd-supply = <&gdsc_mmagic_mdss>; clocks = <&clock_mmss clk_mmss_mmagic_ahb_clk>, <&clock_mmss clk_mmss_mmagic_cfg_ahb_clk>, <&clock_mmss clk_smmu_mdp_ahb_clk>, <&clock_mmss clk_smmu_mdp_axi_clk>, <&clock_mmss clk_mmagic_mdss_axi_clk>; clock-names = "mmagic_ahb_clk", "mmagic_cfg_ahb_clk", "mdp_ahb_clk", "mdp_axi_clk", "mmagic_mdss_axi_clk"; #clock-cells = <1>; qcom,bus-master-id = ; }; &rot_smmu { status = "ok"; qcom,register-save; qcom,skip-init; #global-interrupts = <1>; interrupts = , , , , ; vdd-supply = <&gdsc_mmagic_mdss>; clocks = <&clock_mmss clk_mmss_mmagic_ahb_clk>, <&clock_mmss clk_mmss_mmagic_cfg_ahb_clk>, <&clock_mmss clk_smmu_rot_ahb_clk>, <&clock_mmss clk_smmu_rot_axi_clk>, <&clock_mmss clk_mmagic_mdss_axi_clk>; clock-names = "mmagic_ahb_clk", "mmagic_cfg_ahb_clk", "rot_ahb_clk", "rot_axi_clk", "mmagic_mdss_axi_clk"; #clock-cells = <1>; qcom,bus-master-id = ; }; &kgsl_smmu { status = "ok"; qcom,register-save; qcom,skip-init; qcom,dynamic; #global-interrupts = <1>; interrupts = , , , , ; vdd-supply = <&gdsc_gpu>; clocks = <&clock_mmss clk_mmss_mmagic_ahb_clk>, <&clock_mmss clk_mmss_mmagic_cfg_ahb_clk>, <&clock_gpu clk_gpu_ahb_clk>, <&clock_gcc clk_gcc_mmss_bimc_gfx_clk>, <&clock_gcc clk_gcc_bimc_gfx_clk>; clock-names = "mmagic_ahb_clk", "mmagic_cfg_ahb_clk", "gpu_ahb_clk", "gcc_mmss_bimc_gfx_clk", "gcc_bimc_gfx_clk"; #clock-cells = <1>; };