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

Giulio Benetti giulio.benetti at benettiengineering.com
Mon Dec 13 10:55:46 PST 2021


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 at benettiengineering.com>
>>> +  - Jesse Taube <Mr.Bossman075 at 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 at 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 at 40184000 {
>>> +        compatible = "fsl,imxrt1050-lpuart";
>>> +        reg = <0x40184000 0x4000>;
>>> +        interrupts = <20>;
>>> +        clocks = <&clks IMXRT1050_CLK_LPUART1>;
>>> +        clock-names = "ipg";
>>> +    };
>>> -- 
>>> 2.34.0
>>>




More information about the linux-arm-kernel mailing list