Re: [PATCH v4 06/13] dt-bindings: clock: imx: Add documentation for i.MXRT clock

Giulio Benetti
2021-12-13T18:55:54Z

Hi Jesse,

On 07/12/21 03:32, Jesse Taube wrote:
>
>
> On 12/6/21 17:38, Stephen Boyd wrote:
>> Quoting Jesse Taube (2021-12-03 22:10:35)
>>> diff --git a/Documentation/devicetree/bindings/clock/imxrt-clock.yaml b/Documentation/devicetree/bindings/clock/imxrt-clock.yaml
>>> new file mode 100644
>>> index 000000000000..8af48c59ff99
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/clock/imxrt-clock.yaml

here the file name should be imxrt1050-clock.yaml

>>> @@ -0,0 +1,67 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/clock/imxrt-clock.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Clock bindings for Freescale i.MXRT
>>> +
>>> +maintainers:
>>> + - Giulio Benetti <giulio.benetti@benettiengineering.com>
>>> + - Jesse Taube <Mr.Bossman075@gmail.com>
>>> +
>>> +description: |
>>> + The clock consumer should specify the desired clock by having the clock
>>> + ID in its "clocks" phandle cell. See include/dt-bindings/clock/imxrt*-clock.h
>>> + for the full list of i.MXRT clock IDs.
>>> +
>>> +properties:
>>> + compatible:
>>> + const: fsl,imxrt1050-ccm
>>> +
>>> + reg:
>>> + maxItems: 1
>>> +
>>> + interrupts:
>>> + maxItems: 2
>>> +
>>> + clocks:
>>> + minItems: 1
>>> +
>>> + clock-names:
>>> + minItems: 1
>>
>> Why minitems vs. exactly 1 for osc?
> because i don't understand yaml yet.
> I'll look into this.

on clocks and clock-names you have to specify the only available clocks
that can be an input to ccm, in our case only "osc", which description
will be "24m osc".

Check this file as reference:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/clock/imx6ul-clock.yaml

Kind regards
--
Giulio Benetti
Benetti Engineering sas

>>> +
>>> + '#clock-cells':
>>> + const: 1
>>> +
>>> +required:
>>> + - compatible
>>> + - reg
>>> + - interrupts
>>> + - clocks
>>> + - clock-names
>>> + - '#clock-cells'
>>> +
>>> +additionalProperties: false
>>> +
>>> +examples:
>>> + - |
>>> + #include <dt-bindings/clock/imxrt1050-clock.h>
>>> +
>>> + ccm@400fc000 {
>>
>> s/ccm/clock-controller/
>
> This made my day!
>
>>
>>> + compatible = "fsl,imxrt1050-ccm";
>>> + reg = <0x400fc000 0x4000>;
>>> + interrupts = <95>, <96>;
>>> + clocks = <&osc>;
>>> + clock-names = "osc";
>>> + #clock-cells = <1>;
>>> + };
>>> +
>>> +
>>
>> Nitpick: Drop extra newline
> sorry will fix.
>>
>>> + lpuart1: serial@40184000 {
>>> + compatible = "fsl,imxrt1050-lpuart";
>>> + reg = <0x40184000 0x4000>;
>>> + interrupts = <20>;
>>> + clocks = <&clks IMXRT1050_CLK_LPUART1>;
>>> + clock-names = "ipg";
>>> + };
>>> --
>>> 2.34.0
>>>