2024-04-01 11:15:04

by Satya Priya Kakitapalli

[permalink] [raw]
Subject: [PATCH v2 0/2] Add DT support for video clock controller on SM8150

Signed-off-by: Satya Priya Kakitapalli <[email protected]>
---
Changes in v2:
- As per Dmitry's comments, there is no need to update to index based
lookup for already existing drivers, hence keeping clock-names property.
- Updated the videocc bindings to add AHB clock for the sm8150 platform.
- Link to v1: https://lore.kernel.org/r/[email protected]

---
Satya Priya Kakitapalli (2):
dt-bindings: clock: qcom: Update SM8150 videocc bindings
arm64: dts: qcom: sm8150: Add video clock controller node

.../devicetree/bindings/clock/qcom,videocc.yaml | 17 ++++++++++++++++-
arch/arm64/boot/dts/qcom/sa8155p.dtsi | 4 ++++
arch/arm64/boot/dts/qcom/sm8150.dtsi | 13 +++++++++++++
3 files changed, 33 insertions(+), 1 deletion(-)
---
base-commit: 8ffc8b1bbd505e27e2c8439d326b6059c906c9dd
change-id: 20240308-videocc-sm8150-dt-node-6f163b492f7c

Best regards,
--
Satya Priya Kakitapalli <[email protected]>



2024-04-01 11:15:19

by Satya Priya Kakitapalli

[permalink] [raw]
Subject: [PATCH v2 1/2] dt-bindings: clock: qcom: Update SM8150 videocc bindings

Update the clocks list for SM8150 to add both AHB and XO clocks,
as it needs both of them.

Fixes: 35d26e9292e2 ("dt-bindings: clock: Add YAML schemas for the QCOM VIDEOCC clock bindings")
Signed-off-by: Satya Priya Kakitapalli <[email protected]>
---
.../devicetree/bindings/clock/qcom,videocc.yaml | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/clock/qcom,videocc.yaml b/Documentation/devicetree/bindings/clock/qcom,videocc.yaml
index 6999e36ace1b..68bac801adb0 100644
--- a/Documentation/devicetree/bindings/clock/qcom,videocc.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,videocc.yaml
@@ -75,7 +75,6 @@ allOf:
enum:
- qcom,sc7180-videocc
- qcom,sdm845-videocc
- - qcom,sm8150-videocc
then:
properties:
clocks:
@@ -101,6 +100,22 @@ allOf:
- const: bi_tcxo
- const: bi_tcxo_ao

+ - if:
+ properties:
+ compatible:
+ enum:
+ - qcom,sm8150-videocc
+ then:
+ properties:
+ clocks:
+ items:
+ - description: AHB
+ - description: Board XO source
+ clock-names:
+ items:
+ - const: iface
+ - const: bi_tcxo
+
- if:
properties:
compatible:

--
2.25.1


2024-04-01 11:15:35

by Satya Priya Kakitapalli

[permalink] [raw]
Subject: [PATCH v2 2/2] arm64: dts: qcom: sm8150: Add video clock controller node

Add device node for video clock controller on Qualcomm
SM8150 platform.

Signed-off-by: Satya Priya Kakitapalli <[email protected]>
---
arch/arm64/boot/dts/qcom/sa8155p.dtsi | 4 ++++
arch/arm64/boot/dts/qcom/sm8150.dtsi | 13 +++++++++++++
2 files changed, 17 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sa8155p.dtsi b/arch/arm64/boot/dts/qcom/sa8155p.dtsi
index ffb7ab695213..9e70effc72e1 100644
--- a/arch/arm64/boot/dts/qcom/sa8155p.dtsi
+++ b/arch/arm64/boot/dts/qcom/sa8155p.dtsi
@@ -38,3 +38,7 @@ &rpmhpd {
*/
compatible = "qcom,sa8155p-rpmhpd";
};
+
+&videocc {
+ power-domains = <&rpmhpd SA8155P_CX>;
+};
diff --git a/arch/arm64/boot/dts/qcom/sm8150.dtsi b/arch/arm64/boot/dts/qcom/sm8150.dtsi
index a35c0852b5a1..56694efa0c33 100644
--- a/arch/arm64/boot/dts/qcom/sm8150.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8150.dtsi
@@ -14,6 +14,7 @@
#include <dt-bindings/clock/qcom,dispcc-sm8150.h>
#include <dt-bindings/clock/qcom,gcc-sm8150.h>
#include <dt-bindings/clock/qcom,gpucc-sm8150.h>
+#include <dt-bindings/clock/qcom,videocc-sm8150.h>
#include <dt-bindings/interconnect/qcom,osm-l3.h>
#include <dt-bindings/interconnect/qcom,sm8150.h>
#include <dt-bindings/thermal/thermal.h>
@@ -3715,6 +3716,18 @@ usb_2_dwc3: usb@a800000 {
};
};

+ videocc: clock-controller@ab00000 {
+ compatible = "qcom,sm8150-videocc";
+ reg = <0 0x0ab00000 0 0x10000>;
+ clocks = <&gcc GCC_VIDEO_AHB_CLK>,
+ <&rpmhcc RPMH_CXO_CLK>;
+ clock-names = "iface", "bi_tcxo";
+ power-domains = <&rpmhpd SM8150_MMCX>;
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ #power-domain-cells = <1>;
+ };
+
camnoc_virt: interconnect@ac00000 {
compatible = "qcom,sm8150-camnoc-virt";
reg = <0 0x0ac00000 0 0x1000>;

--
2.25.1


2024-04-02 16:08:52

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] dt-bindings: clock: qcom: Update SM8150 videocc bindings

On Mon, Apr 01, 2024 at 04:44:23PM +0530, Satya Priya Kakitapalli wrote:
> Update the clocks list for SM8150 to add both AHB and XO clocks,
> as it needs both of them.

I read this as you are adding 2 clocks, but it is really just 1 you are
adding (iface).

This should have more detail on why breaking the ABI is okay here.

>
> Fixes: 35d26e9292e2 ("dt-bindings: clock: Add YAML schemas for the QCOM VIDEOCC clock bindings")
> Signed-off-by: Satya Priya Kakitapalli <[email protected]>
> ---
> .../devicetree/bindings/clock/qcom,videocc.yaml | 17 ++++++++++++++++-
> 1 file changed, 16 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/clock/qcom,videocc.yaml b/Documentation/devicetree/bindings/clock/qcom,videocc.yaml
> index 6999e36ace1b..68bac801adb0 100644
> --- a/Documentation/devicetree/bindings/clock/qcom,videocc.yaml
> +++ b/Documentation/devicetree/bindings/clock/qcom,videocc.yaml
> @@ -75,7 +75,6 @@ allOf:
> enum:
> - qcom,sc7180-videocc
> - qcom,sdm845-videocc
> - - qcom,sm8150-videocc
> then:
> properties:
> clocks:
> @@ -101,6 +100,22 @@ allOf:
> - const: bi_tcxo
> - const: bi_tcxo_ao
>
> + - if:
> + properties:
> + compatible:
> + enum:
> + - qcom,sm8150-videocc
> + then:
> + properties:
> + clocks:
> + items:
> + - description: AHB
> + - description: Board XO source
> + clock-names:
> + items:
> + - const: iface
> + - const: bi_tcxo
> +
> - if:
> properties:
> compatible:
>
> --
> 2.25.1
>

2024-04-30 10:01:46

by Satya Priya Kakitapalli

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] dt-bindings: clock: qcom: Update SM8150 videocc bindings


On 4/2/2024 9:35 PM, Rob Herring wrote:
> On Mon, Apr 01, 2024 at 04:44:23PM +0530, Satya Priya Kakitapalli wrote:
>> Update the clocks list for SM8150 to add both AHB and XO clocks,
>> as it needs both of them.
> I read this as you are adding 2 clocks, but it is really just 1 you are
> adding (iface).


Yes, I am adding AHB (iface) as its needed for SM8150, which is not
present in the current bindings.


> This should have more detail on why breaking the ABI is okay here.


Sure, I'll update the commit text accordingly.


>> Fixes: 35d26e9292e2 ("dt-bindings: clock: Add YAML schemas for the QCOM VIDEOCC clock bindings")
>> Signed-off-by: Satya Priya Kakitapalli <[email protected]>
>> ---
>> .../devicetree/bindings/clock/qcom,videocc.yaml | 17 ++++++++++++++++-
>> 1 file changed, 16 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/devicetree/bindings/clock/qcom,videocc.yaml b/Documentation/devicetree/bindings/clock/qcom,videocc.yaml
>> index 6999e36ace1b..68bac801adb0 100644
>> --- a/Documentation/devicetree/bindings/clock/qcom,videocc.yaml
>> +++ b/Documentation/devicetree/bindings/clock/qcom,videocc.yaml
>> @@ -75,7 +75,6 @@ allOf:
>> enum:
>> - qcom,sc7180-videocc
>> - qcom,sdm845-videocc
>> - - qcom,sm8150-videocc
>> then:
>> properties:
>> clocks:
>> @@ -101,6 +100,22 @@ allOf:
>> - const: bi_tcxo
>> - const: bi_tcxo_ao
>>
>> + - if:
>> + properties:
>> + compatible:
>> + enum:
>> + - qcom,sm8150-videocc
>> + then:
>> + properties:
>> + clocks:
>> + items:
>> + - description: AHB
>> + - description: Board XO source
>> + clock-names:
>> + items:
>> + - const: iface
>> + - const: bi_tcxo
>> +
>> - if:
>> properties:
>> compatible:
>>
>> --
>> 2.25.1
>>