* [PATCH v5 1/3] mailbox: qcom-apcs-ipc: add IPQ8074 APSS clock controller support
@ 2022-07-05 19:13 Robert Marko
2022-07-05 19:13 ` [PATCH v5 2/3] dt-bindings: mailbox: qcom: set correct #clock-cells Robert Marko
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Robert Marko @ 2022-07-05 19:13 UTC (permalink / raw)
To: agross, bjorn.andersson, konrad.dybcio, jassisinghbrar, robh+dt,
krzysztof.kozlowski+dt, linux-arm-msm, linux-kernel, devicetree
Cc: Robert Marko
IPQ8074 has the APSS clock controller utilizing the same register space as
the APCS, so provide access to the APSS utilizing a child device like
IPQ6018 does as well, but just by utilizing the IPQ8074 specific APSS
clock driver.
Also, APCS register space in IPQ8074 is 0x6000 so max_register needs to be
updated to 0x5ffc.
Signed-off-by: Robert Marko <robimarko@gmail.com>
---
Changes in v5:
* Use lower case hex for max_register
* Update the APSS clock name to match the new one without commas
---
drivers/mailbox/qcom-apcs-ipc-mailbox.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/mailbox/qcom-apcs-ipc-mailbox.c b/drivers/mailbox/qcom-apcs-ipc-mailbox.c
index 80a54d81412e..4ef7e917a911 100644
--- a/drivers/mailbox/qcom-apcs-ipc-mailbox.c
+++ b/drivers/mailbox/qcom-apcs-ipc-mailbox.c
@@ -33,6 +33,10 @@ static const struct qcom_apcs_ipc_data ipq6018_apcs_data = {
.offset = 8, .clk_name = "qcom,apss-ipq6018-clk"
};
+static const struct qcom_apcs_ipc_data ipq8074_apcs_data = {
+ .offset = 8, .clk_name = "qcom-apss-ipq8074-clk"
+};
+
static const struct qcom_apcs_ipc_data msm8916_apcs_data = {
.offset = 8, .clk_name = "qcom-apcs-msm8916-clk"
};
@@ -57,7 +61,7 @@ static const struct regmap_config apcs_regmap_config = {
.reg_bits = 32,
.reg_stride = 4,
.val_bits = 32,
- .max_register = 0x1008,
+ .max_register = 0x5ffc,
.fast_io = true,
};
@@ -142,7 +146,7 @@ static int qcom_apcs_ipc_remove(struct platform_device *pdev)
/* .data is the offset of the ipc register within the global block */
static const struct of_device_id qcom_apcs_ipc_of_match[] = {
{ .compatible = "qcom,ipq6018-apcs-apps-global", .data = &ipq6018_apcs_data },
- { .compatible = "qcom,ipq8074-apcs-apps-global", .data = &msm8994_apcs_data },
+ { .compatible = "qcom,ipq8074-apcs-apps-global", .data = &ipq8074_apcs_data },
{ .compatible = "qcom,msm8916-apcs-kpss-global", .data = &msm8916_apcs_data },
{ .compatible = "qcom,msm8939-apcs-kpss-global", .data = &msm8916_apcs_data },
{ .compatible = "qcom,msm8953-apcs-kpss-global", .data = &msm8994_apcs_data },
--
2.36.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH v5 2/3] dt-bindings: mailbox: qcom: set correct #clock-cells
2022-07-05 19:13 [PATCH v5 1/3] mailbox: qcom-apcs-ipc: add IPQ8074 APSS clock controller support Robert Marko
@ 2022-07-05 19:13 ` Robert Marko
2022-07-05 19:13 ` [PATCH v5 3/3] arm64: dts: ipq8074: add APCS node Robert Marko
2022-07-06 8:38 ` [PATCH v5 1/3] mailbox: qcom-apcs-ipc: add IPQ8074 APSS clock controller support Dmitry Baryshkov
2 siblings, 0 replies; 5+ messages in thread
From: Robert Marko @ 2022-07-05 19:13 UTC (permalink / raw)
To: agross, bjorn.andersson, konrad.dybcio, jassisinghbrar, robh+dt,
krzysztof.kozlowski+dt, linux-arm-msm, linux-kernel, devicetree
Cc: Robert Marko, Krzysztof Kozlowski
IPQ6018 and IPQ8074 require #clock-cells to be set to 1 as their APSS
clock driver provides multiple clock outputs.
So allow setting 1 as #clock-cells and check that its set to 1 for IPQ6018
and IPQ8074, check others for 0 as its currently.
Signed-off-by: Robert Marko <robimarko@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
Changes in v3:
* Drop not needed blank line
Changes in v2:
* Correct subject name
---
.../bindings/mailbox/qcom,apcs-kpss-global.yaml | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml b/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml
index 3b5ba7ecc19d..95ecb84e3278 100644
--- a/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml
+++ b/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml
@@ -50,7 +50,7 @@ properties:
const: 1
'#clock-cells':
- const: 0
+ enum: [0, 1]
clock-names:
minItems: 2
@@ -96,6 +96,21 @@ allOf:
properties:
clocks:
maxItems: 3
+ - if:
+ properties:
+ compatible:
+ enum:
+ - qcom,ipq6018-apcs-apps-global
+ - qcom,ipq8074-apcs-apps-global
+ then:
+ properties:
+ '#clock-cells':
+ const: 1
+ else:
+ properties:
+ '#clock-cells':
+ const: 0
+
examples:
# Example apcs with msm8996
--
2.36.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH v5 3/3] arm64: dts: ipq8074: add APCS node
2022-07-05 19:13 [PATCH v5 1/3] mailbox: qcom-apcs-ipc: add IPQ8074 APSS clock controller support Robert Marko
2022-07-05 19:13 ` [PATCH v5 2/3] dt-bindings: mailbox: qcom: set correct #clock-cells Robert Marko
@ 2022-07-05 19:13 ` Robert Marko
2022-07-06 8:39 ` Dmitry Baryshkov
2022-07-06 8:38 ` [PATCH v5 1/3] mailbox: qcom-apcs-ipc: add IPQ8074 APSS clock controller support Dmitry Baryshkov
2 siblings, 1 reply; 5+ messages in thread
From: Robert Marko @ 2022-07-05 19:13 UTC (permalink / raw)
To: agross, bjorn.andersson, konrad.dybcio, jassisinghbrar, robh+dt,
krzysztof.kozlowski+dt, linux-arm-msm, linux-kernel, devicetree
Cc: Robert Marko
APCS now has support for providing the APSS clocks as the child device
for IPQ8074.
So, add the required DT node for it as it will later be used as the CPU
clocksource.
Signed-off-by: Robert Marko <robimarko@gmail.com>
---
Changes in v3:
* Node does not currently exist in the upstream kernel, so add it instead
of modifying.
---
arch/arm64/boot/dts/qcom/ipq8074.dtsi | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
index b4ae13f16398..76707b9f9845 100644
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
@@ -886,5 +886,13 @@ IRQ_TYPE_LEVEL_HIGH>, /* int_c */
"axi_m_sticky";
status = "disabled";
};
+
+ apcs_glb: mailbox@b111000 {
+ compatible = "qcom,ipq8074-apcs-apps-global";
+ reg = <0x0b111000 0x6000>;
+
+ #clock-cells = <1>;
+ #mbox-cells = <1>;
+ };
};
};
--
2.36.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH v5 3/3] arm64: dts: ipq8074: add APCS node
2022-07-05 19:13 ` [PATCH v5 3/3] arm64: dts: ipq8074: add APCS node Robert Marko
@ 2022-07-06 8:39 ` Dmitry Baryshkov
0 siblings, 0 replies; 5+ messages in thread
From: Dmitry Baryshkov @ 2022-07-06 8:39 UTC (permalink / raw)
To: Robert Marko
Cc: agross, bjorn.andersson, konrad.dybcio, jassisinghbrar, robh+dt,
krzysztof.kozlowski+dt, linux-arm-msm, linux-kernel, devicetree
On Tue, 5 Jul 2022 at 22:13, Robert Marko <robimarko@gmail.com> wrote:
>
> APCS now has support for providing the APSS clocks as the child device
> for IPQ8074.
>
> So, add the required DT node for it as it will later be used as the CPU
> clocksource.
>
> Signed-off-by: Robert Marko <robimarko@gmail.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
> Changes in v3:
> * Node does not currently exist in the upstream kernel, so add it instead
> of modifying.
> ---
> arch/arm64/boot/dts/qcom/ipq8074.dtsi | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
> index b4ae13f16398..76707b9f9845 100644
> --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
> +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
> @@ -886,5 +886,13 @@ IRQ_TYPE_LEVEL_HIGH>, /* int_c */
> "axi_m_sticky";
> status = "disabled";
> };
> +
> + apcs_glb: mailbox@b111000 {
> + compatible = "qcom,ipq8074-apcs-apps-global";
> + reg = <0x0b111000 0x6000>;
> +
> + #clock-cells = <1>;
> + #mbox-cells = <1>;
> + };
> };
> };
> --
> 2.36.1
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v5 1/3] mailbox: qcom-apcs-ipc: add IPQ8074 APSS clock controller support
2022-07-05 19:13 [PATCH v5 1/3] mailbox: qcom-apcs-ipc: add IPQ8074 APSS clock controller support Robert Marko
2022-07-05 19:13 ` [PATCH v5 2/3] dt-bindings: mailbox: qcom: set correct #clock-cells Robert Marko
2022-07-05 19:13 ` [PATCH v5 3/3] arm64: dts: ipq8074: add APCS node Robert Marko
@ 2022-07-06 8:38 ` Dmitry Baryshkov
2 siblings, 0 replies; 5+ messages in thread
From: Dmitry Baryshkov @ 2022-07-06 8:38 UTC (permalink / raw)
To: Robert Marko
Cc: agross, bjorn.andersson, konrad.dybcio, jassisinghbrar, robh+dt,
krzysztof.kozlowski+dt, linux-arm-msm, linux-kernel, devicetree
On Tue, 5 Jul 2022 at 22:13, Robert Marko <robimarko@gmail.com> wrote:
>
> IPQ8074 has the APSS clock controller utilizing the same register space as
> the APCS, so provide access to the APSS utilizing a child device like
> IPQ6018 does as well, but just by utilizing the IPQ8074 specific APSS
> clock driver.
>
> Also, APCS register space in IPQ8074 is 0x6000 so max_register needs to be
> updated to 0x5ffc.
As you can see, this was changed to support SDX55. Please either make
this configurable, or leave it as it is.
>
> Signed-off-by: Robert Marko <robimarko@gmail.com>
> ---
> Changes in v5:
> * Use lower case hex for max_register
> * Update the APSS clock name to match the new one without commas
> ---
> drivers/mailbox/qcom-apcs-ipc-mailbox.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-07-06 8:39 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-05 19:13 [PATCH v5 1/3] mailbox: qcom-apcs-ipc: add IPQ8074 APSS clock controller support Robert Marko
2022-07-05 19:13 ` [PATCH v5 2/3] dt-bindings: mailbox: qcom: set correct #clock-cells Robert Marko
2022-07-05 19:13 ` [PATCH v5 3/3] arm64: dts: ipq8074: add APCS node Robert Marko
2022-07-06 8:39 ` Dmitry Baryshkov
2022-07-06 8:38 ` [PATCH v5 1/3] mailbox: qcom-apcs-ipc: add IPQ8074 APSS clock controller support Dmitry Baryshkov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).