Re: [PATCH 1/7] dt-bindings: clock: split qcom,gcc-ipq4019 to separate file

From: Krzysztof Kozlowski
Date: Thu Feb 16 2023 - 05:44:25 EST


On 16/02/2023 11:41, Robert Marko wrote:
> On Thu, Feb 16, 2023 at 11:16 AM Krzysztof Kozlowski
> <krzysztof.kozlowski@xxxxxxxxxx> wrote:
>>
>> On 14/02/2023 17:23, Robert Marko wrote:
>>> Move schema for the GCC on IPQ4019 platform to a separate file to be able
>>> to allow passing XO and sleep clks directly to GCC.
>>>
>>> Signed-off-by: Robert Marko <robert.marko@xxxxxxxxxx>
>>> ---
>>> .../bindings/clock/qcom,gcc-ipq4019.yaml | 53 +++++++++++++++++++
>>> .../bindings/clock/qcom,gcc-other.yaml | 2 -
>>> 2 files changed, 53 insertions(+), 2 deletions(-)
>>> create mode 100644 Documentation/devicetree/bindings/clock/qcom,gcc-ipq4019.yaml
>>>
>>> diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-ipq4019.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-ipq4019.yaml
>>> new file mode 100644
>>> index 0000000000000..6ebaef2288fa3
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/clock/qcom,gcc-ipq4019.yaml
>>> @@ -0,0 +1,53 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/clock/qcom,gcc-ipq4019.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Qualcomm Global Clock & Reset Controller on IPQ4019
>>> +
>>> +maintainers:
>>> + - Stephen Boyd <sboyd@xxxxxxxxxx>
>>> + - Taniya Das <tdas@xxxxxxxxxxxxxx>
>>> + - Robert Marko <robert.markoo@xxxxxxxxxx>
>>> +
>>> +description: |
>>> + Qualcomm global clock control module provides the clocks, resets and power
>>> + domains on IPQ4019.
>>> +
>>> + See also:: include/dt-bindings/clock/qcom,gcc-ipq4019.h
>>> +
>>> +allOf:
>>> + - $ref: qcom,gcc.yaml#
>>> +
>>> +properties:
>>> + compatible:
>>> + const: qcom,gcc-ipq4019
>>> +
>>> + clocks:
>>> + items:
>>> + - description: board XO clock
>>> + - description: sleep clock
>>> +
>>> + clock-names:
>>> + items:
>>> + - const: xo
>>> + - const: sleep_clk
>>> +
>>> +required:
>>> + - compatible
>>
>> Aren't the clocks now required? Will it keep working without them?
>
> There are not required, this just allows passing them but the driver is
> still using global matching until in patch 2 XO and sleep clocks are converted
> to use parent data and in patch 3 they are passed via phandles to GCC,
> however, even then global matching by name is preserved in the driver
> as a fallback
> to keep backward compatibility.
>
> However, I see your point, after parent data conversion they should be
> required by
> schema as that is preferred over global matching.

Yes. Especially that these clock inputs must be there for the device to
operate, so regardless of how Linux implements this, the hardware
requires them, I think.

Best regards,
Krzysztof