[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4dcd5e10-817e-0a12-6922-5e3f8dcf09bf@codeaurora.org>
Date: Wed, 13 Nov 2019 08:02:32 -0700
From: Jeffrey Hugo <jhugo@...eaurora.org>
To: Taniya Das <tdas@...eaurora.org>, mturquette@...libre.com,
sboyd@...nel.org, robh+dt@...nel.org, mark.rutland@....com
Cc: agross@...nel.org, bjorn.andersson@...aro.org,
marc.w.gonzalez@...e.fr, linux-arm-msm@...r.kernel.org,
linux-clk@...r.kernel.org, linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org
Subject: Re: [PATCH v9 1/4] dt-bindings: clock: Document external clocks for
MSM8998 gcc
On 11/13/2019 4:20 AM, Taniya Das wrote:
> Hi Jeffrey,
>
> On 11/13/2019 2:14 AM, Jeffrey Hugo wrote:
>> The global clock controller on MSM8998 can consume a number of external
>> clocks. Document them.
>>
>> For 7180 and 8150, the hardware always exists, so no clocks are truly
>> optional. Therefore, simplify the binding by removing the min/max
>> qualifiers to clocks. Also, fixup an example so that dt_binding_check
>> passes.
>>
>> Signed-off-by: Jeffrey Hugo <jhugo@...eaurora.org>
>> ---
>> .../devicetree/bindings/clock/qcom,gcc.yaml | 47
>> +++++++++++++++-------
>> 1 file changed, 33 insertions(+), 14 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc.yaml
>> b/Documentation/devicetree/bindings/clock/qcom,gcc.yaml
>> index e73a56f..2f3512b 100644
>> --- a/Documentation/devicetree/bindings/clock/qcom,gcc.yaml
>> +++ b/Documentation/devicetree/bindings/clock/qcom,gcc.yaml
>> @@ -40,20 +40,38 @@ properties:
>> - qcom,gcc-sm8150
>> clocks:
>> - minItems: 1
>> - maxItems: 3
>> - items:
>> - - description: Board XO source
>> - - description: Board active XO source
>> - - description: Sleep clock source
>> + oneOf:
>> + #qcom,gcc-sm8150
>> + #qcom,gcc-sc7180
>> + - items:
>> + - description: Board XO source
>> + - description: Board active XO source
>> + - description: Sleep clock source
>> + #qcom,gcc-msm8998
>> + - items:
>> + - description: Board XO source
>> + - description: USB 3.0 phy pipe clock
>> + - description: UFS phy rx symbol clock for pipe 0
>> + - description: UFS phy rx symbol clock for pipe 1
>> + - description: UFS phy tx symbol clock
>> + - description: PCIE phy pipe clock
>
> Would it be possible to add an example for MSM8998?
It doesn't seem to be materially different that the existing examples,
but sure, that's something that can be done.
>
>> clock-names:
>> - minItems: 1
>> - maxItems: 3
>> - items:
>> - - const: bi_tcxo
>> - - const: bi_tcxo_ao
>> - - const: sleep_clk
>> + oneOf:
>> + #qcom,gcc-sm8150
>> + #qcom,gcc-sc7180
>> + - items:
>> + - const: bi_tcxo
>> + - const: bi_tcxo_ao
>> + - const: sleep_clk
>
> Not required for SC7180.
How are you determining this?
Per the earlier discussion with Stephen, if the hardware exists, it
should be represented in DT. According to the documentation I see, the
sleep clock is routed to the GCC on SC7180. The driver is not required
to make use of it. Thus its required from the DT perspective.
>
>> + #qcom,gcc-msm8998
>> + - items:
>> + - const: xo
>> + - const: usb3_pipe
>> + - const: ufs_rx_symbol0
>> + - const: ufs_rx_symbol1
>> + - const: ufs_tx_symbol0
>> + - const: pcie0_pipe
>> '#clock-cells':
>> const: 1
>> @@ -118,6 +136,7 @@ else:
>> compatible:
>> contains:
>> enum:
>> + - qcom,gcc-msm8998
>> - qcom,gcc-sm8150
>> - qcom,gcc-sc7180
>> then:
>> @@ -179,8 +198,8 @@ examples:
>> clock-controller@...000 {
>> compatible = "qcom,gcc-sc7180";
>> reg = <0x100000 0x1f0000>;
>> - clocks = <&rpmhcc 0>, <&rpmhcc 1>;
>> - clock-names = "bi_tcxo", "bi_tcxo_ao";
>> + clocks = <&rpmhcc 0>, <&rpmhcc 1>, <0>;
>> + clock-names = "bi_tcxo", "bi_tcxo_ao", "sleep_clk";
>
> SC7180 does not require a sleep clock.
>
>> #clock-cells = <1>;
>> #reset-cells = <1>;
>> #power-domain-cells = <1>;
>>
>
--
Jeffrey Hugo
Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.
Powered by blists - more mailing lists