2023-09-30 16:31:53

by Bryan O'Donoghue

[permalink] [raw]
Subject: [PATCH v2 5/5] arm64: boot: dts: qcom: sc8280xp: Add in CAMCC for sc8280xp

Add in CAMCC for sc8280xp. The sc8280xp Camera Clock Controller looks
similar to most of the sdmX, smX and now scX controllers.

Signed-off-by: Bryan O'Donoghue <[email protected]>
---
arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 16 ++++++++++++++++
1 file changed, 16 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
index cad59af7ccef..ca43d038578b 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
@@ -8,6 +8,7 @@
#include <dt-bindings/clock/qcom,gcc-sc8280xp.h>
#include <dt-bindings/clock/qcom,gpucc-sc8280xp.h>
#include <dt-bindings/clock/qcom,rpmh.h>
+#include <dt-bindings/clock/qcom,sc8280xp-camcc.h>
#include <dt-bindings/clock/qcom,sc8280xp-lpasscc.h>
#include <dt-bindings/interconnect/qcom,osm-l3.h>
#include <dt-bindings/interconnect/qcom,sc8280xp.h>
@@ -3450,6 +3451,21 @@ usb_1_role_switch: endpoint {
};
};

+ camcc: clock-controller@ad00000 {
+ compatible = "qcom,sc8280xp-camcc";
+ reg = <0 0x0ad00000 0 0x20000>;
+ clocks = <&gcc GCC_CAMERA_AHB_CLK>,
+ <&rpmhcc RPMH_CXO_CLK>,
+ <&rpmhcc RPMH_CXO_CLK_A>,
+ <&sleep_clk>;
+ clock-names = "iface", "bi_tcxo", "bi_tcxo_ao", "sleep_clk";
+ power-domains = <&rpmhpd SC8280XP_MMCX>;
+ required-opps = <&rpmhpd_opp_low_svs>;
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ #power-domain-cells = <1>;
+ };
+
mdss0: display-subsystem@ae00000 {
compatible = "qcom,sc8280xp-mdss";
reg = <0 0x0ae00000 0 0x1000>;
--
2.40.1


2023-09-30 21:09:07

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v2 5/5] arm64: boot: dts: qcom: sc8280xp: Add in CAMCC for sc8280xp

On 30/09/2023 15:41, Bryan O'Donoghue wrote:
> Add in CAMCC for sc8280xp. The sc8280xp Camera Clock Controller looks
> similar to most of the sdmX, smX and now scX controllers.
>
> Signed-off-by: Bryan O'Donoghue <[email protected]>

Subject prefix - drop boot:
arm64: dts: qcom: .........

Best regards,
Krzysztof

2023-09-30 23:17:21

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH v2 5/5] arm64: boot: dts: qcom: sc8280xp: Add in CAMCC for sc8280xp



On 9/30/23 15:41, Bryan O'Donoghue wrote:
> Add in CAMCC for sc8280xp. The sc8280xp Camera Clock Controller looks
> similar to most of the sdmX, smX and now scX controllers.
>
> Signed-off-by: Bryan O'Donoghue <[email protected]>
> ---
> arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> index cad59af7ccef..ca43d038578b 100644
> --- a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> @@ -8,6 +8,7 @@
> #include <dt-bindings/clock/qcom,gcc-sc8280xp.h>
> #include <dt-bindings/clock/qcom,gpucc-sc8280xp.h>
> #include <dt-bindings/clock/qcom,rpmh.h>
> +#include <dt-bindings/clock/qcom,sc8280xp-camcc.h>
> #include <dt-bindings/clock/qcom,sc8280xp-lpasscc.h>
> #include <dt-bindings/interconnect/qcom,osm-l3.h>
> #include <dt-bindings/interconnect/qcom,sc8280xp.h>
> @@ -3450,6 +3451,21 @@ usb_1_role_switch: endpoint {
> };
> };
>
> + camcc: clock-controller@ad00000 {
> + compatible = "qcom,sc8280xp-camcc";
> + reg = <0 0x0ad00000 0 0x20000>;
> + clocks = <&gcc GCC_CAMERA_AHB_CLK>,
> + <&rpmhcc RPMH_CXO_CLK>,
> + <&rpmhcc RPMH_CXO_CLK_A>,
> + <&sleep_clk>;
> + clock-names = "iface", "bi_tcxo", "bi_tcxo_ao", "sleep_clk";
clock-names is now redundant :)

Reviewed-by: Konrad Dybcio <[email protected]>

Konrad

2023-10-01 01:16:26

by Bryan O'Donoghue

[permalink] [raw]
Subject: Re: [PATCH v2 5/5] arm64: boot: dts: qcom: sc8280xp: Add in CAMCC for sc8280xp

On 30/09/2023 17:41, Konrad Dybcio wrote:
>
>
> On 9/30/23 15:41, Bryan O'Donoghue wrote:
>> Add in CAMCC for sc8280xp. The sc8280xp Camera Clock Controller looks
>> similar to most of the sdmX, smX and now scX controllers.
>>
>> Signed-off-by: Bryan O'Donoghue <[email protected]>
>> ---
>>   arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 16 ++++++++++++++++
>>   1 file changed, 16 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
>> b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
>> index cad59af7ccef..ca43d038578b 100644
>> --- a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
>> @@ -8,6 +8,7 @@
>>   #include <dt-bindings/clock/qcom,gcc-sc8280xp.h>
>>   #include <dt-bindings/clock/qcom,gpucc-sc8280xp.h>
>>   #include <dt-bindings/clock/qcom,rpmh.h>
>> +#include <dt-bindings/clock/qcom,sc8280xp-camcc.h>
>>   #include <dt-bindings/clock/qcom,sc8280xp-lpasscc.h>
>>   #include <dt-bindings/interconnect/qcom,osm-l3.h>
>>   #include <dt-bindings/interconnect/qcom,sc8280xp.h>
>> @@ -3450,6 +3451,21 @@ usb_1_role_switch: endpoint {
>>               };
>>           };
>> +        camcc: clock-controller@ad00000 {
>> +            compatible = "qcom,sc8280xp-camcc";
>> +            reg = <0 0x0ad00000 0 0x20000>;
>> +            clocks = <&gcc GCC_CAMERA_AHB_CLK>,
>> +                 <&rpmhcc RPMH_CXO_CLK>,
>> +                 <&rpmhcc RPMH_CXO_CLK_A>,
>> +                 <&sleep_clk>;
>> +            clock-names = "iface", "bi_tcxo", "bi_tcxo_ao", "sleep_clk";
> clock-names is now redundant :)
>
> Reviewed-by: Konrad Dybcio <[email protected]>
>
> Konrad

BTW.

Looking at the block diagram for the Camera, I see why Cam_CC_AHB is
included in this list. Its not called out as a dependency in the clock
tree but when you look at the block diagram you can see it gates the AHB
bus to the CAM_CC block.

anyway

---
bod

2023-10-02 15:14:02

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH v2 5/5] arm64: boot: dts: qcom: sc8280xp: Add in CAMCC for sc8280xp



On 10/1/23 01:01, Bryan O'Donoghue wrote:
> On 30/09/2023 17:41, Konrad Dybcio wrote:
>>
>>
>> On 9/30/23 15:41, Bryan O'Donoghue wrote:
>>> Add in CAMCC for sc8280xp. The sc8280xp Camera Clock Controller looks
>>> similar to most of the sdmX, smX and now scX controllers.
>>>
>>> Signed-off-by: Bryan O'Donoghue <[email protected]>
>>> ---
>>>   arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 16 ++++++++++++++++
>>>   1 file changed, 16 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
>>> b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
>>> index cad59af7ccef..ca43d038578b 100644
>>> --- a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
>>> +++ b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
>>> @@ -8,6 +8,7 @@
>>>   #include <dt-bindings/clock/qcom,gcc-sc8280xp.h>
>>>   #include <dt-bindings/clock/qcom,gpucc-sc8280xp.h>
>>>   #include <dt-bindings/clock/qcom,rpmh.h>
>>> +#include <dt-bindings/clock/qcom,sc8280xp-camcc.h>
>>>   #include <dt-bindings/clock/qcom,sc8280xp-lpasscc.h>
>>>   #include <dt-bindings/interconnect/qcom,osm-l3.h>
>>>   #include <dt-bindings/interconnect/qcom,sc8280xp.h>
>>> @@ -3450,6 +3451,21 @@ usb_1_role_switch: endpoint {
>>>               };
>>>           };
>>> +        camcc: clock-controller@ad00000 {
>>> +            compatible = "qcom,sc8280xp-camcc";
>>> +            reg = <0 0x0ad00000 0 0x20000>;
>>> +            clocks = <&gcc GCC_CAMERA_AHB_CLK>,
>>> +                 <&rpmhcc RPMH_CXO_CLK>,
>>> +                 <&rpmhcc RPMH_CXO_CLK_A>,
>>> +                 <&sleep_clk>;
>>> +            clock-names = "iface", "bi_tcxo", "bi_tcxo_ao",
>>> "sleep_clk";
>> clock-names is now redundant :)
>>
>> Reviewed-by: Konrad Dybcio <[email protected]>
>>
>> Konrad
>
> BTW.
>
> Looking at the block diagram for the Camera, I see why Cam_CC_AHB is
> included in this list. Its not called out as a dependency in the clock
> tree but when you look at the block diagram you can see it gates the AHB
> bus to the CAM_CC block.
Yep, that's why using is as pm_clk for the clock controller makes sense

Konrad