RE: [PATCH 1/3] dt-bindings: clock: Convert i.MX8MQ to json-schema

From: Anson Huang
Date: Mon Jan 13 2020 - 20:25:45 EST


Hi, Rob

> Subject: Re: [PATCH 1/3] dt-bindings: clock: Convert i.MX8MQ to json-schema
>
> On Fri, Jan 10, 2020 at 03:55:12PM +0800, Anson Huang wrote:
> > Convert the i.MX8MQ clock binding to DT schema format using
> > json-schema
> >
> > Signed-off-by: Anson Huang <Anson.Huang@xxxxxxx>
> > ---
> > .../devicetree/bindings/clock/imx8mq-clock.txt | 20 ------
> > .../devicetree/bindings/clock/imx8mq-clock.yaml | 72
> ++++++++++++++++++++++
> > 2 files changed, 72 insertions(+), 20 deletions(-) delete mode
> > 100644 Documentation/devicetree/bindings/clock/imx8mq-clock.txt
> > create mode 100644
> > Documentation/devicetree/bindings/clock/imx8mq-clock.yaml
>
> Fails 'make dt_binding_check':
>
> /builds/robherring/linux-dt-
> review/Documentation/devicetree/bindings/clock/imx8mn-
> clock.example.dt.yaml:
> clock-controller@30380000: clock-names:0: 'ckil' was expected
> /builds/robherring/linux-dt-
> review/Documentation/devicetree/bindings/clock/imx8mn-
> clock.example.dt.yaml:
> clock-controller@30380000: clock-names:1: 'osc_25m' was expected
> /builds/robherring/linux-dt-
> review/Documentation/devicetree/bindings/clock/imx8mn-
> clock.example.dt.yaml:
> clock-controller@30380000: clock-names:2: 'osc_27m' was expected
> /builds/robherring/linux-dt-
> review/Documentation/devicetree/bindings/clock/imx8mn-
> clock.example.dt.yaml:
> clock-controller@30380000: clock-names:3: 'clk_ext1' was expected
> /builds/robherring/linux-dt-
> review/Documentation/devicetree/bindings/clock/imx8mn-
> clock.example.dt.yaml:
> clock-controller@30380000: clock-names:4: 'clk_ext2' was expected
> /builds/robherring/linux-dt-
> review/Documentation/devicetree/bindings/clock/imx8mn-
> clock.example.dt.yaml:
> clock-controller@30380000: clock-names:5: 'clk_ext3' was expected
> /builds/robherring/linux-dt-
> review/Documentation/devicetree/bindings/clock/imx8mn-
> clock.example.dt.yaml:
> clock-controller@30380000: clock-names: ['osc_32k', 'osc_24m', 'clk_ext1',
> 'clk_ext2', 'clk_ext3', 'clk_ext4'] is too short
> /builds/robherring/linux-dt-
> review/Documentation/devicetree/bindings/clock/imx8mn-
> clock.example.dt.yaml:
> clock-controller@30380000: clocks: [[1], [2], [3], [4], [5], [6]] is too short

I did NOT see build fail on my side, anything missed in my environment setup? The failure
log is for i.MX8MN, while this binding doc is i.MX8MQ, is it caused by the incorrect compatible
string which should be "fsl,imx8mq-ccm", but I made it "fsl,imx8mn-ccm" by mistake?

anson@anson-OptiPlex-790:~/workspace/stash/linux-next$ ./zeus.sh
*** Default configuration is based on 'defconfig'
#
# No change to .config
#
CHKDT Documentation/devicetree/bindings/clock/imx8mq-clock.yaml
SCHEMA Documentation/devicetree/bindings/processed-schema.yaml
DTC Documentation/devicetree/bindings/clock/imx8mq-clock.example.dt.yaml
CHECK Documentation/devicetree/bindings/clock/imx8mq-clock.example.dt.yaml
anson@anson-OptiPlex-790:~/workspace/stash/linux-next$



>
> >
> > diff --git a/Documentation/devicetree/bindings/clock/imx8mq-clock.txt
> > b/Documentation/devicetree/bindings/clock/imx8mq-clock.txt
> > deleted file mode 100644
> > index 52de826..0000000
> > --- a/Documentation/devicetree/bindings/clock/imx8mq-clock.txt
> > +++ /dev/null
> > @@ -1,20 +0,0 @@
> > -* Clock bindings for NXP i.MX8M Quad
> > -
> > -Required properties:
> > -- compatible: Should be "fsl,imx8mq-ccm"
> > -- reg: Address and length of the register set
> > -- #clock-cells: Should be <1>
> > -- clocks: list of clock specifiers, must contain an entry for each required
> > - entry in clock-names
> > -- clock-names: should include the following entries:
> > - - "ckil"
> > - - "osc_25m"
> > - - "osc_27m"
> > - - "clk_ext1"
> > - - "clk_ext2"
> > - - "clk_ext3"
> > - - "clk_ext4"
> > -
> > -The clock consumer should specify the desired clock by having the
> > clock -ID in its "clocks" phandle cell. See
> > include/dt-bindings/clock/imx8mq-clock.h
> > -for the full list of i.MX8M Quad clock IDs.
> > diff --git a/Documentation/devicetree/bindings/clock/imx8mq-clock.yaml
> > b/Documentation/devicetree/bindings/clock/imx8mq-clock.yaml
> > new file mode 100644
> > index 0000000..881c01c
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/clock/imx8mq-clock.yaml
> > @@ -0,0 +1,72 @@
> > +# SPDX-License-Identifier: GPL-2.0
> > +%YAML 1.2
> > +---
> > +$id:
> > +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevi
> > +cetree.org%2Fschemas%2Fbindings%2Fclock%2Fimx8mq-
> clock.yaml%23&amp;da
> >
> +ta=02%7C01%7CAnson.Huang%40nxp.com%7C716f35d49b1b4a91be7308d
> 7986f6a81
> >
> +%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637145476602540
> 776&amp;
> >
> +sdata=vzAWrWQgmAz%2FnWaU%2BMKd%2FpbhHs6U1%2FOGljRQQXIp9S
> Q%3D&amp;rese
> > +rved=0
> > +$schema:
> > +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevi
> > +cetree.org%2Fmeta-
> schemas%2Fcore.yaml%23&amp;data=02%7C01%7CAnson.Hua
> >
> +ng%40nxp.com%7C716f35d49b1b4a91be7308d7986f6a81%7C686ea1d3bc2
> b4c6fa92
> >
> +cd99c5c301635%7C0%7C0%7C637145476602540776&amp;sdata=QTYQ6Bh
> %2BLsbGjR
> > +8pU8tTsV9MM2GOT23OnholQfgaxa0%3D&amp;reserved=0
> > +
> > +title: NXP i.MX8M Quad Clock Control Module Binding
> > +
> > +maintainers:
> > + - Anson Huang <Anson.Huang@xxxxxxx>
> > +
> > +description: |
> > + NXP i.MX8M Quad clock control module is an integrated clock
> > +controller, which
> > + generates and supplies to all modules.
> > +
> > +properties:
> > + compatible:
> > + const: fsl,imx8mn-ccm
>
> Wrong compatible...

Oops, my mistake, I reviewed many times before sending out the patch, but still miss this...
Sorry for that.

Anson

>
> > +
> > + reg:
> > + maxItems: 1
> > +
> > + clocks:
> > + items:
> > + - description: 32k osc
> > + - description: 25m osc
> > + - description: 27m osc
> > + - description: ext1 clock input
> > + - description: ext2 clock input
> > + - description: ext3 clock input
> > + - description: ext4 clock input
> > +
> > + clock-names:
> > + items:
> > + - const: ckil
> > + - const: osc_25m
> > + - const: osc_27m
> > + - const: clk_ext1
> > + - const: clk_ext2
> > + - const: clk_ext3
> > + - const: clk_ext4
> > +
> > + '#clock-cells':
> > + const: 1
> > + description:
> > + The clock consumer should specify the desired clock by having the
> clock
> > + ID in its "clocks" phandle cell. See include/dt-bindings/clock/imx8mq-
> clock.h
> > + for the full list of i.MX8M Quad clock IDs.
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - clocks
> > + - clock-names
> > + - '#clock-cells'
> > +
> > +examples:
> > + # Clock Control Module node:
> > + - |
> > + clk: clock-controller@30380000 {
> > + compatible = "fsl,imx8mq-ccm";
> > + reg = <0x30380000 0x10000>;
> > + #clock-cells = <1>;
> > + clocks = <&ckil>, <&osc_25m>, <&osc_27m>,
> > + <&clk_ext1>, <&clk_ext2>,
> > + <&clk_ext3>, <&clk_ext4>;
> > + clock-names = "ckil", "osc_25m", "osc_27m",
> > + "clk_ext1", "clk_ext2",
> > + "clk_ext3", "clk_ext4";
> > + };
> > +
> > +...
> > --
> > 2.7.4
> >