diff --git a/bindings/clock/qcom,dispcc-sm8x50.yaml b/bindings/clock/qcom,dispcc-sm8x50.yaml index 0d15434e..4c5564e3 100644 --- a/bindings/clock/qcom,dispcc-sm8x50.yaml +++ b/bindings/clock/qcom,dispcc-sm8x50.yaml @@ -32,6 +32,7 @@ properties: - qcom,sun-dispcc - qcom,tuna-dispcc - qcom,tuna-dispcc-v1 + - qcom,kera-dispcc clocks: items: diff --git a/qcom/kera-rumi.dtsi b/qcom/kera-rumi.dtsi index 7ee0e462..c3ef9498 100644 --- a/qcom/kera-rumi.dtsi +++ b/qcom/kera-rumi.dtsi @@ -158,3 +158,25 @@ &APSS_OFF { status = "disabled"; }; + +&rpmhcc { + compatible = "fixed-clock"; + clock-output-names = "rpmh_clocks"; + clock-frequency = <19200000>; +}; + +&video_cc_mvs0_gdsc { + status = "ok"; +}; + +&video_cc_mvs0c_gdsc { + status = "ok"; +}; + +&disp_cc_mdss_core_gdsc { + status = "ok"; +}; + +&disp_cc_mdss_core_int2_gdsc { + status = "ok"; +}; diff --git a/qcom/kera.dtsi b/qcom/kera.dtsi index 95845fe0..cef15bc2 100644 --- a/qcom/kera.dtsi +++ b/qcom/kera.dtsi @@ -635,6 +635,11 @@ qcom,llcc-bcm-name = "SH5"; }; + + rpmhcc: clock-controller { + compatible = "qcom,tuna-rpmh-clk"; + #clock-cells = <1>; + }; }; }; @@ -1736,13 +1741,6 @@ }; }; - rpmhcc: clock-controller { - compatible = "fixed-clock"; - clock-output-names = "rpmh_clocks"; - clock-frequency = <19200000>; - #clock-cells = <1>; - }; - cambistmclkcc: clock-controller@1760000 { compatible = "qcom,tuna-cambistmclkcc", "syscon"; reg = <0x1760000 0x6000>; @@ -1804,7 +1802,7 @@ }; dispcc: clock-controller@af00000 { - compatible = "qcom,tuna-dispcc", "syscon"; + compatible = "qcom,kera-dispcc", "syscon"; reg = <0xaf00000 0x20000>; reg-name = "cc_base"; vdd_mm-supply = <&VDD_CX_LEVEL>; @@ -1820,6 +1818,7 @@ qcom,disp_crm-crmc = <&dispcc_crm>; #clock-cells = <1>; #reset-cells = <1>; + #power-domain-cells = <1>; }; gcc: clock-controller@100000 { @@ -1849,8 +1848,17 @@ }; gpucc: clock-controller@3d90000 { - compatible = "qcom,dummycc"; - clock-output-names = "gpucc_clocks"; + compatible = "qcom,kera-gpucc", "syscon"; + reg = <0x3d90000 0xa000>; + reg-name = "cc_base"; + vdd_cx-supply = <&VDD_CX_LEVEL>; + vdd_mx-supply = <&VDD_MX_LEVEL>; + clocks = <&rpmhcc RPMH_CXO_CLK>, + <&gcc GCC_GPU_GPLL0_CPH_CLK_SRC>, + <&gcc GCC_GPU_GPLL0_DIV_CPH_CLK_SRC>; + clock-names = "bi_tcxo", + "gpll0_out_main", + "gpll0_out_main_div"; #clock-cells = <1>; #reset-cells = <1>; }; @@ -1869,6 +1877,7 @@ reg-name = "cc_base"; vdd_mm-supply = <&VDD_CX_LEVEL>; vdd_mxc-supply = <&VDD_MX_LEVEL>; + vdd_mm_mxc_voter-supply = <&VDD_CX_LEVEL>; clocks = <&rpmhcc RPMH_CXO_CLK>, <&rpmhcc RPMH_CXO_CLK_A>, <&sleep_clk>, @@ -1879,6 +1888,7 @@ "iface"; #clock-cells = <1>; #reset-cells = <1>; + #power-domain-cells = <1>; }; qti,smmu-proxy { @@ -3078,32 +3088,78 @@ qcom,count-unit = <0x10000>; qcom,target-dev = <&qcom_ddr_dcvs_hw>; }; + + apsscc: syscon@17a80000 { + compatible = "syscon"; + reg = <0x17a80000 0x21000>; + }; + + mccc: syscon@240ba000 { + compatible = "syscon"; + reg = <0x240ba000 0x800>; + }; + + debugcc: clock-controller@0 { + compatible = "qcom,kera-debugcc"; + qcom,apsscc = <&apsscc>; + qcom,cambistmclkcc = <&cambistmclkcc>; + qcom,camcc = <&camcc>; + qcom,dispcc = <&dispcc>; + qcom,gcc = <&gcc>; + qcom,gpucc = <&gpucc>; + qcom,tcsrcc = <&tcsrcc>; + qcom,videocc = <&videocc>; + qcom,mccc = <&mccc>; + clocks = <&rpmhcc RPMH_CXO_CLK>, + <&cambistmclkcc 0>, + <&camcc 0>, + <&dispcc 0>, + <&gcc 0>, + <&gpucc 0>, + <&tcsrcc 0>, + <&videocc 0>; + clock-names = "xo_clk_src", + "cambistmclkcc", + "camcc", + "dispcc", + "gcc", + "gpucc", + "tcsrcc", + "videocc"; + #clock-cells = <1>; + }; }; #include "tuna-gdsc.dtsi" #include "ipcc-test-no-slpi.dtsi" &cam_cc_ipe_0_gdsc { + clocks = <&gcc GCC_CAMERA_AHB_CLK>; status = "ok"; }; &cam_cc_ofe_gdsc { + clocks = <&gcc GCC_CAMERA_AHB_CLK>; status = "ok"; }; &cam_cc_tfe_0_gdsc { + clocks = <&gcc GCC_CAMERA_AHB_CLK>; status = "ok"; }; &cam_cc_tfe_1_gdsc { + clocks = <&gcc GCC_CAMERA_AHB_CLK>; status = "ok"; }; &cam_cc_tfe_2_gdsc { + clocks = <&gcc GCC_CAMERA_AHB_CLK>; status = "ok"; }; &cam_cc_titan_top_gdsc { + clocks = <&gcc GCC_CAMERA_AHB_CLK>; interconnects = <&mmss_noc MASTER_CAMNOC_HF &mmss_noc SLAVE_MNOC_HF_MEM_NOC>; interconnect-names = "mmnoc"; parent-supply = <&VDD_CX_LEVEL>; @@ -3111,13 +3167,13 @@ }; &disp_cc_mdss_core_gdsc { + clocks = <&gcc GCC_DISP_AHB_CLK>; parent-supply = <&VDD_CX_LEVEL>; - status = "ok"; }; &disp_cc_mdss_core_int2_gdsc { + clocks = <&gcc GCC_DISP_AHB_CLK>; parent-supply = <&VDD_CX_LEVEL>; - status = "ok"; }; &gcc_pcie_0_gdsc { @@ -3165,27 +3221,29 @@ }; &gpu_cc_cx_gdsc { - compatible = "regulator-fixed"; reg = <0x3d99110 0x4>; + parent-supply = <&VDD_CX_LEVEL>; + clocks = <&gcc GCC_GPU_CFG_AHB_CLK>; + clock-names = "ahb_clk"; status = "ok"; }; &gpu_cc_gx_gdsc { - compatible = "regulator-fixed"; + parent-supply = <&VDD_GFX_LEVEL>; + clocks = <&gcc GCC_GPU_CFG_AHB_CLK>; + clock-names = "ahb_clk"; status = "ok"; }; &video_cc_mvs0_gdsc { clocks = <&gcc GCC_VIDEO_AHB_CLK>; clock-names = "ahb_clk"; - status = "ok"; }; &video_cc_mvs0c_gdsc { clocks = <&gcc GCC_VIDEO_AHB_CLK>; clock-names = "ahb_clk"; parent-supply = <&VDD_CX_LEVEL>; - status = "ok"; }; &reserved_memory {