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 > > 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: http://devicetree.org/schemas/bindings/clock/imx8mq-clock.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +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... > + > + 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 >