mbox series

[0/5] clk: qcom: Add clocks for the QDU1000 and QRU1000 SoCs

Message ID 20221001030403.27659-1-quic_molvera@quicinc.com
Headers show
Series clk: qcom: Add clocks for the QDU1000 and QRU1000 SoCs | expand

Message

Melody Olvera Oct. 1, 2022, 3:03 a.m. UTC
This series adds the GCC, RPMh, and PDC clock support required for the
QDU1000 and QRU1000 SoCs along with the devicetree bindings for them.

The Qualcomm Technologies, Inc. Distributed Unit 1000 and Radio Unit
1000 are new SoCs meant for enabling Open RAN solutions. See more at
https://www.qualcomm.com/content/dam/qcomm-martech/dm-assets/documents/qualcomm_5g_ran_platforms_product_brief.pdf

This patchset is based on the YAML conversion patch [1] submitted already.

[1] https://lore.kernel.org/r/20220103074348.6039-1-luca.weiss@fairphone.com

Melody Olvera (4):
  dt-bindings: clock: Add QDU1000 and QRU1000 GCC clock bindings
  dt-bindings: clock: Add RPMHCC bindings for QDU1000 and QRU1000
  clk: qcom: Add support for QDU1000 and QRU1000 RPMh clocks
  dt-bindings: clock: Introduce pdc bindings for QDU1000 and QRU1000

Taniya Das (1):
  clk: qcom: Add QDU1000 and QRU1000 GCC support

 .../bindings/clock/qcom,gcc-qdru1000.yaml     |   74 +
 .../bindings/clock/qcom,rpmhcc.yaml           |    2 +
 .../interrupt-controller/qcom,pdc.yaml        |    2 +
 drivers/clk/qcom/Kconfig                      |    8 +
 drivers/clk/qcom/Makefile                     |    1 +
 drivers/clk/qcom/clk-branch.c                 |    5 +
 drivers/clk/qcom/clk-branch.h                 |    2 +
 drivers/clk/qcom/clk-rpmh.c                   |   14 +
 drivers/clk/qcom/gcc-qdru1000.c               | 2649 +++++++++++++++++
 include/dt-bindings/clock/qcom,gcc-qdru1000.h |  170 ++
 10 files changed, 2927 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/clock/qcom,gcc-qdru1000.yaml
 create mode 100644 drivers/clk/qcom/gcc-qdru1000.c
 create mode 100644 include/dt-bindings/clock/qcom,gcc-qdru1000.h


base-commit: 987a926c1d8a40e4256953b04771fbdb63bc7938
prerequisite-patch-id: d3a56569439f223ee220dee951400e18983fee3e

Comments

Melody Olvera Oct. 3, 2022, 6:55 p.m. UTC | #1
On 10/1/2022 1:59 AM, Dmitry Baryshkov wrote:
> On Sat, 1 Oct 2022 at 06:05, Melody Olvera <quic_molvera@quicinc.com> wrote:
>> Add compatible strings for RPMHCC for QDU1000 and QRU1000.
>>
>> Signed-off-by: Melody Olvera <quic_molvera@quicinc.com>
>> ---
>>  Documentation/devicetree/bindings/clock/qcom,rpmhcc.yaml | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/clock/qcom,rpmhcc.yaml b/Documentation/devicetree/bindings/clock/qcom,rpmhcc.yaml
>> index 8fcaf418f84a..d613156eadb0 100644
>> --- a/Documentation/devicetree/bindings/clock/qcom,rpmhcc.yaml
>> +++ b/Documentation/devicetree/bindings/clock/qcom,rpmhcc.yaml
>> @@ -29,6 +29,8 @@ properties:
>>        - qcom,sm8250-rpmh-clk
>>        - qcom,sm8350-rpmh-clk
>>        - qcom,sm8450-rpmh-clk
>> +      - qcom,qdu1000-rpmh-clk
>> +      - qcom,qru1000-rpmh-clk
> Alphabetic sorting please. Q comes before s.
Will do.
>>    clocks:
>>      maxItems: 1
>> --
>> 2.37.3
>>

Thanks,

Melody
Melody Olvera Oct. 3, 2022, 7:47 p.m. UTC | #2
On 10/1/2022 4:22 AM, Marc Zyngier wrote:
> On 2022-10-01 04:04, Melody Olvera wrote:
>> Add compatible fields for QDU1000 and QRU1000 pdcs.
>>
>> Signed-off-by: Melody Olvera <quic_molvera@quicinc.com>
>> ---
>>  .../devicetree/bindings/interrupt-controller/qcom,pdc.yaml      | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git
>> a/Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.yaml
>> b/Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.yaml
>> index b6f56cf5fbe3..5c7b790db7e0 100644
>> --- a/Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.yaml
>> +++ b/Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.yaml
>> @@ -33,6 +33,8 @@ properties:
>>            - qcom,sm8150-pdc
>>            - qcom,sm8250-pdc
>>            - qcom,sm8350-pdc
>> +          - qcom,qdu1000-pdc
>> +          - qcom,qru1000-pdc
>>        - const: qcom,pdc
>>
>>    reg:
>
> Please fix the title of the commit, as this has little to do with clocks.

Will do.

>
>         M.

Thanks,

Melody
Dmitry Baryshkov Oct. 3, 2022, 9:32 p.m. UTC | #3
On Mon, 3 Oct 2022 at 21:47, Melody Olvera <quic_molvera@quicinc.com> wrote:
>
>
> On 10/1/2022 4:24 AM, Krzysztof Kozlowski wrote:
> > On 01/10/2022 05:03, Melody Olvera wrote:
> >> Add device tree bindings for global clock controller on QDU1000 and
> >> QRU1000 SoCs.
> >>
> >> Signed-off-by: Melody Olvera <quic_molvera@quicinc.com>
> >> ---
> >>  .../bindings/clock/qcom,gcc-qdru1000.yaml     |  74 ++++++++
> >>  include/dt-bindings/clock/qcom,gcc-qdru1000.h | 170 ++++++++++++++++++
> >>  2 files changed, 244 insertions(+)
> >>  create mode 100644 Documentation/devicetree/bindings/clock/qcom,gcc-qdru1000.yaml
> >>  create mode 100644 include/dt-bindings/clock/qcom,gcc-qdru1000.h
> >>
> >> diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-qdru1000.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-qdru1000.yaml
> >> new file mode 100644
> >> index 000000000000..d92f558d547c
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/clock/qcom,gcc-qdru1000.yaml
> >> @@ -0,0 +1,74 @@
> >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> >> +%YAML 1.2
> >> +---
> >> +$id: http://devicetree.org/schemas/clock/qcom,gcc-qdru.yaml#
> >> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> >> +
> >> +title: Qualcomm Global Clock & Reset Controller Binding for QDU1000 and QRU1000
> > Drop "Binding"
>
> Will do in v2.
>
> >
> >> +
> >> +maintainers:
> >> +  - Melody Olvera <quic_molvera@quicinc.com>
> >> +
> >> +description: |
> >> +  Qualcomm global clock control module which supports the clocks, resets and
> >> +  power domains on QDU1000 and QRU1000
> >> +
> >> +  See also:
> >> +  - dt-bindings/clock/qcom,gcc-qdru1000.h
> > Full path
> Understood.
> >
> >> +
> >> +properties:
> >> +  compatible:
> >> +    enum:
> >> +      - qcom,gcc-qdu1000
> >> +      - qcom,gcc-qru1000
> >> +
> >> +  clocks:
> >> +    items:
> >> +      - description: Board XO source
> >> +      - description: Sleep clock source
> >> +      - description: PCIE 0 Pipe clock source (Optional clock)
> > Skip "Optional clock"
> >
> >> +      - description: PCIE 0 Phy Auxiliary clock source (Optional clock)
> >> +      - description: USB3 Phy wrapper pipe clock source (Optional clock)
> >> +    minItems: 2
> >> +
> >> +  clock-names:
> >> +    items:
> >> +      - const: bi_tcxo
> >> +      - const: sleep_clk
> >> +      - const: pcie_0_pipe_clk # Optional clock
> > Skip "Optional clock"
>
> Will remove all optional clock instances.

Drop the 'optional clock' words, not the clocks themselves. See
existing examples, which have optional clocks.