On Thu, Apr 30, 2020 at 08:51:58AM +0800, Anson Huang wrote: > Convert the i.MX6SX clock binding to DT schema format using json-schema. > > Signed-off-by: Anson Huang <Anson.Huang@xxxxxxx> > --- > Changes since V3: > - update license to be with (GPL-2.0-only OR BSD-2-Clause); > - remove unnecessary minItem for interrupts; > - remove label in example. > --- > .../devicetree/bindings/clock/imx6sx-clock.txt | 13 ----- > .../devicetree/bindings/clock/imx6sx-clock.yaml | 64 ++++++++++++++++++++++ > 2 files changed, 64 insertions(+), 13 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/clock/imx6sx-clock.txt > create mode 100644 Documentation/devicetree/bindings/clock/imx6sx-clock.yaml > > diff --git a/Documentation/devicetree/bindings/clock/imx6sx-clock.txt b/Documentation/devicetree/bindings/clock/imx6sx-clock.txt > deleted file mode 100644 > index 22362b9..0000000 > --- a/Documentation/devicetree/bindings/clock/imx6sx-clock.txt > +++ /dev/null > @@ -1,13 +0,0 @@ > -* Clock bindings for Freescale i.MX6 SoloX > - > -Required properties: > -- compatible: Should be "fsl,imx6sx-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 entries "ckil", "osc", "ipp_di0" and "ipp_di1" > - > -The clock consumer should specify the desired clock by having the clock > -ID in its "clocks" phandle cell. See include/dt-bindings/clock/imx6sx-clock.h > -for the full list of i.MX6 SoloX clock IDs. > diff --git a/Documentation/devicetree/bindings/clock/imx6sx-clock.yaml b/Documentation/devicetree/bindings/clock/imx6sx-clock.yaml > new file mode 100644 > index 0000000..2c7f625 > --- /dev/null > +++ b/Documentation/devicetree/bindings/clock/imx6sx-clock.yaml > @@ -0,0 +1,64 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/clock/imx6sx-clock.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Clock bindings for Freescale i.MX6 SoloX > + > +maintainers: > + - Anson Huang <Anson.Huang@xxxxxxx> > + > +properties: > + compatible: > + const: fsl,imx6sx-ccm > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 2 Need to define what each one is: interrupts: items: - description: ... - description: ... And you should explain why this was added. > + > + '#clock-cells': > + const: 1 > + > + clocks: > + items: > + - description: 32k osc > + - description: 24m osc > + - description: ipp_di0 clock input > + - description: ipp_di1 clock input > + - description: anaclk1 clock input > + - description: anaclk2 clock input > + > + clock-names: > + items: > + - const: ckil > + - const: osc > + - const: ipp_di0 > + - const: ipp_di1 > + - const: anaclk1 > + - const: anaclk2 > + > +required: > + - compatible > + - reg > + - interrupts > + - '#clock-cells' > + - clocks > + - clock-names > + > +examples: > + # Clock Control Module node: > + - | > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + > + clock-controller@20c4000 { > + compatible = "fsl,imx6sx-ccm"; > + reg = <0x020c4000 0x4000>; > + interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; > + #clock-cells = <1>; > + clocks = <&ckil>, <&osc>, <&ipp_di0>, <&ipp_di1>, <&anaclk1>, <&anaclk2>; > + clock-names = "ckil", "osc", "ipp_di0", "ipp_di1", "anaclk1", "anaclk2"; > + }; > -- > 2.7.4 >