Loading arch/arm64/boot/dts/qcom/kona-camera.dtsi +188 −1 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2018, The Linux Foundation. All rights reserved. * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved. */ &soc { Loading Loading @@ -525,6 +525,193 @@ }; }; qcom,cam-cpas@ac40000 { cell-index = <0>; compatible = "qcom,cam-cpas"; label = "cpas"; arch-compat = "cpas_top"; status = "ok"; reg-names = "cam_cpas_top", "cam_camnoc"; reg = <0xac40000 0x1000>, <0xac42000 0x8000>; reg-cam-base = <0x40000 0x42000>; interrupt-names = "cpas_camnoc"; interrupts = <0 459 0>; camnoc-axi-min-ib-bw = <3000000000>; regulator-names = "camss-vdd"; camss-vdd-supply = <&titan_top_gdsc>; clock-names = "gcc_ahb_clk", "gcc_axi_hf_clk", "gcc_axi_sf_clk", "slow_ahb_clk_src", "cpas_ahb_clk", "camnoc_axi_clk_src", "camnoc_axi_clk"; clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>, <&clock_gcc GCC_CAMERA_HF_AXI_CLK>, <&clock_gcc GCC_CAMERA_SF_AXI_CLK>, <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>, <&clock_camcc CAM_CC_CPAS_AHB_CLK>, <&clock_camcc CAM_CC_CAMNOC_AXI_CLK_SRC>, <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>; src-clock-name = "camnoc_axi_clk_src"; clock-rates = <0 0 0 0 0 0 0>, <0 0 0 19200000 0 19200000 0>, <0 0 0 80000000 0 300000000 0>, <0 0 0 80000000 0 400000000 0>, <0 0 0 80000000 0 400000000 0>, <0 0 0 80000000 0 400000000 0>, <0 0 0 80000000 0 480000000 0>; clock-cntl-level = "suspend", "minsvs", "lowsvs", "svs", "svs_l1", "nominal", "turbo"; control-camnoc-axi-clk; camnoc-bus-width = <32>; camnoc-axi-clk-bw-margin-perc = <20>; qcom,msm-bus,name = "cam_ahb"; qcom,msm-bus,num-cases = <7>; qcom,msm-bus,num-paths = <1>; qcom,msm-bus,vectors-KBps = <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_CAMERA_CFG 0 0>, <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_CAMERA_CFG 0 76800>, <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_CAMERA_CFG 0 76800>, <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_CAMERA_CFG 0 150000>, <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_CAMERA_CFG 0 150000>, <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_CAMERA_CFG 0 300000>, <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_CAMERA_CFG 0 300000>; vdd-corners = <RPMH_REGULATOR_LEVEL_RETENTION RPMH_REGULATOR_LEVEL_MIN_SVS RPMH_REGULATOR_LEVEL_LOW_SVS RPMH_REGULATOR_LEVEL_SVS RPMH_REGULATOR_LEVEL_SVS_L1 RPMH_REGULATOR_LEVEL_NOM RPMH_REGULATOR_LEVEL_NOM_L1 RPMH_REGULATOR_LEVEL_NOM_L2 RPMH_REGULATOR_LEVEL_TURBO RPMH_REGULATOR_LEVEL_TURBO_L1>; vdd-corner-ahb-mapping = "suspend", "minsvs", "lowsvs", "svs", "svs_l1", "nominal", "nominal", "nominal", "turbo", "turbo"; client-id-based; client-names = "csiphy0", "csiphy1", "csiphy2", "csiphy3", "csiphy4", "csiphy5", "cci0", "cci1", "csid0", "csid1", "csid2", "csid3", "csid4", "csid5", "csid6", "ife0", "ife1", "ife2", "ife3", "ife4", "ife5", "ife6", "sbi0", "ipe0", "cam-cdm-intf0", "cpas-cdm0", "cpas-cdm1", "cpas-cdm2", "bps0", "icp0", "jpeg-dma0", "jpeg-enc0", "fd0"; client-axi-port-names = "cam_hf_1", "cam_hf_2", "cam_hf_1", "cam_hf_2", "cam_hf_1", "cam_hf_2", "cam_sf_1", "cam_sf_1", "cam_hf_1", "cam_hf_2", "cam_hf_1", "cam_hf_2", "cam_hf_1", "cam_hf_2", "cam_hf_1", "cam_hf_1", "cam_hf_2", "cam_hf_1", "cam_hf_2", "cam_hf_1", "cam_hf_2", "cam_hf_1", "cam_hf_2", "cam_sf_1", "cam_sf_1", "cam_sf_1", "cam_sf_1", "cam_sf_1", "cam_sf_1", "cam_sf_1", "cam_sf_1", "cam_sf_1", "cam_sf_1"; client-bus-camnoc-based; qcom,axi-port-list { qcom,axi-port1 { qcom,axi-port-name = "cam_hf_1"; ib-bw-voting-needed; qcom,axi-port-mnoc { qcom,msm-bus,name = "cam_hf_1_mnoc"; qcom,msm-bus-vector-dyn-vote; qcom,msm-bus,num-cases = <2>; qcom,msm-bus,num-paths = <1>; qcom,msm-bus,vectors-KBps = <MSM_BUS_MASTER_CAMNOC_HF0 MSM_BUS_SLAVE_EBI_CH0 0 0>, <MSM_BUS_MASTER_CAMNOC_HF0 MSM_BUS_SLAVE_EBI_CH0 0 0>; }; qcom,axi-port-camnoc { qcom,msm-bus,name = "cam_hf_1_camnoc"; qcom,msm-bus-vector-dyn-vote; qcom,msm-bus,num-cases = <2>; qcom,msm-bus,num-paths = <1>; qcom,msm-bus,vectors-KBps = <MSM_BUS_MASTER_CAMNOC_HF0_UNCOMP MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>, <MSM_BUS_MASTER_CAMNOC_HF0_UNCOMP MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>; }; }; qcom,axi-port2 { qcom,axi-port-name = "cam_hf_2"; ib-bw-voting-needed; qcom,axi-port-mnoc { qcom,msm-bus,name = "cam_hf_2_mnoc"; qcom,msm-bus-vector-dyn-vote; qcom,msm-bus,num-cases = <2>; qcom,msm-bus,num-paths = <1>; qcom,msm-bus,vectors-KBps = <MSM_BUS_MASTER_CAMNOC_HF1 MSM_BUS_SLAVE_EBI_CH0 0 0>, <MSM_BUS_MASTER_CAMNOC_HF1 MSM_BUS_SLAVE_EBI_CH0 0 0>; }; qcom,axi-port-camnoc { qcom,msm-bus,name = "cam_hf_2_camnoc"; qcom,msm-bus-vector-dyn-vote; qcom,msm-bus,num-cases = <2>; qcom,msm-bus,num-paths = <1>; qcom,msm-bus,vectors-KBps = <MSM_BUS_MASTER_CAMNOC_HF1_UNCOMP MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>, <MSM_BUS_MASTER_CAMNOC_HF1_UNCOMP MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>; }; }; qcom,axi-port3 { qcom,axi-port-name = "cam_sf_1"; qcom,axi-port-mnoc { qcom,msm-bus,name = "cam_sf_1_mnoc"; qcom,msm-bus-vector-dyn-vote; qcom,msm-bus,num-cases = <2>; qcom,msm-bus,num-paths = <1>; qcom,msm-bus,vectors-KBps = <MSM_BUS_MASTER_CAMNOC_SF MSM_BUS_SLAVE_EBI_CH0 0 0>, <MSM_BUS_MASTER_CAMNOC_SF MSM_BUS_SLAVE_EBI_CH0 0 0>; }; qcom,axi-port-camnoc { qcom,msm-bus,name = "cam_sf_1_camnoc"; qcom,msm-bus-vector-dyn-vote; qcom,msm-bus,num-cases = <2>; qcom,msm-bus,num-paths = <1>; qcom,msm-bus,vectors-KBps = <MSM_BUS_MASTER_CAMNOC_SF_UNCOMP MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>, <MSM_BUS_MASTER_CAMNOC_SF_UNCOMP MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>; }; }; }; }; qcom,cam-cdm-intf { compatible = "qcom,cam-cdm-intf"; cell-index = <0>; Loading Loading
arch/arm64/boot/dts/qcom/kona-camera.dtsi +188 −1 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2018, The Linux Foundation. All rights reserved. * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved. */ &soc { Loading Loading @@ -525,6 +525,193 @@ }; }; qcom,cam-cpas@ac40000 { cell-index = <0>; compatible = "qcom,cam-cpas"; label = "cpas"; arch-compat = "cpas_top"; status = "ok"; reg-names = "cam_cpas_top", "cam_camnoc"; reg = <0xac40000 0x1000>, <0xac42000 0x8000>; reg-cam-base = <0x40000 0x42000>; interrupt-names = "cpas_camnoc"; interrupts = <0 459 0>; camnoc-axi-min-ib-bw = <3000000000>; regulator-names = "camss-vdd"; camss-vdd-supply = <&titan_top_gdsc>; clock-names = "gcc_ahb_clk", "gcc_axi_hf_clk", "gcc_axi_sf_clk", "slow_ahb_clk_src", "cpas_ahb_clk", "camnoc_axi_clk_src", "camnoc_axi_clk"; clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>, <&clock_gcc GCC_CAMERA_HF_AXI_CLK>, <&clock_gcc GCC_CAMERA_SF_AXI_CLK>, <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>, <&clock_camcc CAM_CC_CPAS_AHB_CLK>, <&clock_camcc CAM_CC_CAMNOC_AXI_CLK_SRC>, <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>; src-clock-name = "camnoc_axi_clk_src"; clock-rates = <0 0 0 0 0 0 0>, <0 0 0 19200000 0 19200000 0>, <0 0 0 80000000 0 300000000 0>, <0 0 0 80000000 0 400000000 0>, <0 0 0 80000000 0 400000000 0>, <0 0 0 80000000 0 400000000 0>, <0 0 0 80000000 0 480000000 0>; clock-cntl-level = "suspend", "minsvs", "lowsvs", "svs", "svs_l1", "nominal", "turbo"; control-camnoc-axi-clk; camnoc-bus-width = <32>; camnoc-axi-clk-bw-margin-perc = <20>; qcom,msm-bus,name = "cam_ahb"; qcom,msm-bus,num-cases = <7>; qcom,msm-bus,num-paths = <1>; qcom,msm-bus,vectors-KBps = <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_CAMERA_CFG 0 0>, <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_CAMERA_CFG 0 76800>, <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_CAMERA_CFG 0 76800>, <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_CAMERA_CFG 0 150000>, <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_CAMERA_CFG 0 150000>, <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_CAMERA_CFG 0 300000>, <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_CAMERA_CFG 0 300000>; vdd-corners = <RPMH_REGULATOR_LEVEL_RETENTION RPMH_REGULATOR_LEVEL_MIN_SVS RPMH_REGULATOR_LEVEL_LOW_SVS RPMH_REGULATOR_LEVEL_SVS RPMH_REGULATOR_LEVEL_SVS_L1 RPMH_REGULATOR_LEVEL_NOM RPMH_REGULATOR_LEVEL_NOM_L1 RPMH_REGULATOR_LEVEL_NOM_L2 RPMH_REGULATOR_LEVEL_TURBO RPMH_REGULATOR_LEVEL_TURBO_L1>; vdd-corner-ahb-mapping = "suspend", "minsvs", "lowsvs", "svs", "svs_l1", "nominal", "nominal", "nominal", "turbo", "turbo"; client-id-based; client-names = "csiphy0", "csiphy1", "csiphy2", "csiphy3", "csiphy4", "csiphy5", "cci0", "cci1", "csid0", "csid1", "csid2", "csid3", "csid4", "csid5", "csid6", "ife0", "ife1", "ife2", "ife3", "ife4", "ife5", "ife6", "sbi0", "ipe0", "cam-cdm-intf0", "cpas-cdm0", "cpas-cdm1", "cpas-cdm2", "bps0", "icp0", "jpeg-dma0", "jpeg-enc0", "fd0"; client-axi-port-names = "cam_hf_1", "cam_hf_2", "cam_hf_1", "cam_hf_2", "cam_hf_1", "cam_hf_2", "cam_sf_1", "cam_sf_1", "cam_hf_1", "cam_hf_2", "cam_hf_1", "cam_hf_2", "cam_hf_1", "cam_hf_2", "cam_hf_1", "cam_hf_1", "cam_hf_2", "cam_hf_1", "cam_hf_2", "cam_hf_1", "cam_hf_2", "cam_hf_1", "cam_hf_2", "cam_sf_1", "cam_sf_1", "cam_sf_1", "cam_sf_1", "cam_sf_1", "cam_sf_1", "cam_sf_1", "cam_sf_1", "cam_sf_1", "cam_sf_1"; client-bus-camnoc-based; qcom,axi-port-list { qcom,axi-port1 { qcom,axi-port-name = "cam_hf_1"; ib-bw-voting-needed; qcom,axi-port-mnoc { qcom,msm-bus,name = "cam_hf_1_mnoc"; qcom,msm-bus-vector-dyn-vote; qcom,msm-bus,num-cases = <2>; qcom,msm-bus,num-paths = <1>; qcom,msm-bus,vectors-KBps = <MSM_BUS_MASTER_CAMNOC_HF0 MSM_BUS_SLAVE_EBI_CH0 0 0>, <MSM_BUS_MASTER_CAMNOC_HF0 MSM_BUS_SLAVE_EBI_CH0 0 0>; }; qcom,axi-port-camnoc { qcom,msm-bus,name = "cam_hf_1_camnoc"; qcom,msm-bus-vector-dyn-vote; qcom,msm-bus,num-cases = <2>; qcom,msm-bus,num-paths = <1>; qcom,msm-bus,vectors-KBps = <MSM_BUS_MASTER_CAMNOC_HF0_UNCOMP MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>, <MSM_BUS_MASTER_CAMNOC_HF0_UNCOMP MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>; }; }; qcom,axi-port2 { qcom,axi-port-name = "cam_hf_2"; ib-bw-voting-needed; qcom,axi-port-mnoc { qcom,msm-bus,name = "cam_hf_2_mnoc"; qcom,msm-bus-vector-dyn-vote; qcom,msm-bus,num-cases = <2>; qcom,msm-bus,num-paths = <1>; qcom,msm-bus,vectors-KBps = <MSM_BUS_MASTER_CAMNOC_HF1 MSM_BUS_SLAVE_EBI_CH0 0 0>, <MSM_BUS_MASTER_CAMNOC_HF1 MSM_BUS_SLAVE_EBI_CH0 0 0>; }; qcom,axi-port-camnoc { qcom,msm-bus,name = "cam_hf_2_camnoc"; qcom,msm-bus-vector-dyn-vote; qcom,msm-bus,num-cases = <2>; qcom,msm-bus,num-paths = <1>; qcom,msm-bus,vectors-KBps = <MSM_BUS_MASTER_CAMNOC_HF1_UNCOMP MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>, <MSM_BUS_MASTER_CAMNOC_HF1_UNCOMP MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>; }; }; qcom,axi-port3 { qcom,axi-port-name = "cam_sf_1"; qcom,axi-port-mnoc { qcom,msm-bus,name = "cam_sf_1_mnoc"; qcom,msm-bus-vector-dyn-vote; qcom,msm-bus,num-cases = <2>; qcom,msm-bus,num-paths = <1>; qcom,msm-bus,vectors-KBps = <MSM_BUS_MASTER_CAMNOC_SF MSM_BUS_SLAVE_EBI_CH0 0 0>, <MSM_BUS_MASTER_CAMNOC_SF MSM_BUS_SLAVE_EBI_CH0 0 0>; }; qcom,axi-port-camnoc { qcom,msm-bus,name = "cam_sf_1_camnoc"; qcom,msm-bus-vector-dyn-vote; qcom,msm-bus,num-cases = <2>; qcom,msm-bus,num-paths = <1>; qcom,msm-bus,vectors-KBps = <MSM_BUS_MASTER_CAMNOC_SF_UNCOMP MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>, <MSM_BUS_MASTER_CAMNOC_SF_UNCOMP MSM_BUS_SLAVE_CAMNOC_UNCOMP 0 0>; }; }; }; }; qcom,cam-cdm-intf { compatible = "qcom,cam-cdm-intf"; cell-index = <0>; Loading