diff mbox series

[V2,1/5] dt-bindings: clock: Convert i.MX6Q clock to json-schema

Message ID 1587019158-12143-1-git-send-email-Anson.Huang@nxp.com (mailing list archive)
State New, archived
Headers show
Series [V2,1/5] dt-bindings: clock: Convert i.MX6Q clock to json-schema | expand

Commit Message

Anson Huang April 16, 2020, 6:39 a.m. UTC
Convert the i.MX6Q clock binding to DT schema format using json-schema.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
---
Changes since V1:
	- remove minItem of interrupts;
	- remove '...' at the end of file
---
 .../devicetree/bindings/clock/imx6q-clock.txt      | 41 --------------
 .../devicetree/bindings/clock/imx6q-clock.yaml     | 66 ++++++++++++++++++++++
 2 files changed, 66 insertions(+), 41 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/clock/imx6q-clock.txt
 create mode 100644 Documentation/devicetree/bindings/clock/imx6q-clock.yaml

Comments

Marco Felsch April 16, 2020, 9:39 a.m. UTC | #1
Hi Anson,

On 20-04-16 14:39, Anson Huang wrote:

...

> diff --git a/Documentation/devicetree/bindings/clock/imx6q-clock.yaml b/Documentation/devicetree/bindings/clock/imx6q-clock.yaml
> new file mode 100644
> index 0000000..1c6e600
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/clock/imx6q-clock.yaml
> @@ -0,0 +1,66 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/clock/imx6q-clock.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Clock bindings for Freescale i.MX6 Quad
> +
> +maintainers:
> +  - Anson Huang <Anson.Huang@nxp.com>
> +
> +properties:
> +  compatible:
> +    const: fsl,imx6q-ccm
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 2

IMHO I would force them to have exactly two so we need
minItems: 2 too here.

Regards,
  Marco
Anson Huang April 16, 2020, 9:48 a.m. UTC | #2
Hi, Marco

> Subject: Re: [PATCH V2 1/5] dt-bindings: clock: Convert i.MX6Q clock to
> json-schema
> 
> Hi Anson,
> 
> On 20-04-16 14:39, Anson Huang wrote:
> 
> ...
> 
> > diff --git a/Documentation/devicetree/bindings/clock/imx6q-clock.yaml
> b/Documentation/devicetree/bindings/clock/imx6q-clock.yaml
> > new file mode 100644
> > index 0000000..1c6e600
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/clock/imx6q-clock.yaml
> > @@ -0,0 +1,66 @@
> > +# SPDX-License-Identifier: GPL-2.0
> > +%YAML 1.2
> > +---
> > +$id:
> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevicetr
> ee.org%2Fschemas%2Fclock%2Fimx6q-clock.yaml%23&amp;data=02%7C01%
> 7Canson.huang%40nxp.com%7Ca840fd5be8c94d4d950608d7e1ea16a2%7C6
> 86ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C1%7C637226267845578228&
> amp;sdata=Iw1CkVBMqw3m6sox6C3khcMy0BHNCQ9v2k72q3CM6Xs%3D&a
> mp;reserved=0
> > +$schema:
> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevicetr
> ee.org%2Fmeta-schemas%2Fcore.yaml%23&amp;data=02%7C01%7Canson.hu
> ang%40nxp.com%7Ca840fd5be8c94d4d950608d7e1ea16a2%7C686ea1d3bc2
> b4c6fa92cd99c5c301635%7C0%7C1%7C637226267845578228&amp;sdata=P
> Be2CEoDdMo9I1m3DHbITCyYxB4GF%2FigP%2FNd7YCopCQ%3D&amp;reserve
> d=0
> > +
> > +title: Clock bindings for Freescale i.MX6 Quad
> > +
> > +maintainers:
> > +  - Anson Huang <Anson.Huang@nxp.com>
> > +
> > +properties:
> > +  compatible:
> > +    const: fsl,imx6q-ccm
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +  interrupts:
> > +    maxItems: 2
> 
> IMHO I would force them to have exactly two so we need
> minItems: 2 too here.

Actually, those 2 interrupts are NOT necessary for some platforms, such as i.MX platforms
do NOT enable them at all, so is it OK to force them to be '2' here?

Thanks,
Anson
Marco Felsch April 16, 2020, 10:38 a.m. UTC | #3
On 20-04-16 09:48, Anson Huang wrote:
> Hi, Marco
> 
> > Subject: Re: [PATCH V2 1/5] dt-bindings: clock: Convert i.MX6Q clock to
> > json-schema
> > 
> > Hi Anson,
> > 
> > On 20-04-16 14:39, Anson Huang wrote:
> > 
> > ...
> > 
> > > diff --git a/Documentation/devicetree/bindings/clock/imx6q-clock.yaml
> > b/Documentation/devicetree/bindings/clock/imx6q-clock.yaml
> > > new file mode 100644
> > > index 0000000..1c6e600
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/clock/imx6q-clock.yaml
> > > @@ -0,0 +1,66 @@
> > > +# SPDX-License-Identifier: GPL-2.0
> > > +%YAML 1.2
> > > +---
> > > +$id:
> > https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevicetr
> > ee.org%2Fschemas%2Fclock%2Fimx6q-clock.yaml%23&amp;data=02%7C01%
> > 7Canson.huang%40nxp.com%7Ca840fd5be8c94d4d950608d7e1ea16a2%7C6
> > 86ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C1%7C637226267845578228&
> > amp;sdata=Iw1CkVBMqw3m6sox6C3khcMy0BHNCQ9v2k72q3CM6Xs%3D&a
> > mp;reserved=0
> > > +$schema:
> > https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevicetr
> > ee.org%2Fmeta-schemas%2Fcore.yaml%23&amp;data=02%7C01%7Canson.hu
> > ang%40nxp.com%7Ca840fd5be8c94d4d950608d7e1ea16a2%7C686ea1d3bc2
> > b4c6fa92cd99c5c301635%7C0%7C1%7C637226267845578228&amp;sdata=P
> > Be2CEoDdMo9I1m3DHbITCyYxB4GF%2FigP%2FNd7YCopCQ%3D&amp;reserve
> > d=0
> > > +
> > > +title: Clock bindings for Freescale i.MX6 Quad
> > > +
> > > +maintainers:
> > > +  - Anson Huang <Anson.Huang@nxp.com>
> > > +
> > > +properties:
> > > +  compatible:
> > > +    const: fsl,imx6q-ccm
> > > +
> > > +  reg:
> > > +    maxItems: 1
> > > +
> > > +  interrupts:
> > > +    maxItems: 2
> > 
> > IMHO I would force them to have exactly two so we need
> > minItems: 2 too here.
> 
> Actually, those 2 interrupts are NOT necessary for some platforms, such as i.MX platforms
> do NOT enable them at all, so is it OK to force them to be '2' here?

Why do we list them as required if they are not required? Currently all
5 platforms adding both irqs so this won't break anything here.

Regards,
  Marco

> Thanks,
> Anson
Anson Huang April 16, 2020, 10:41 a.m. UTC | #4
> Subject: Re: [PATCH V2 1/5] dt-bindings: clock: Convert i.MX6Q clock to
> json-schema
> 
> On 20-04-16 09:48, Anson Huang wrote:
> > Hi, Marco
> >
> > > Subject: Re: [PATCH V2 1/5] dt-bindings: clock: Convert i.MX6Q clock
> > > to json-schema
> > >
> > > Hi Anson,
> > >
> > > On 20-04-16 14:39, Anson Huang wrote:
> > >
> > > ...
> > >
> > > > diff --git
> > > > a/Documentation/devicetree/bindings/clock/imx6q-clock.yaml
> > > b/Documentation/devicetree/bindings/clock/imx6q-clock.yaml
> > > > new file mode 100644
> > > > index 0000000..1c6e600
> > > > --- /dev/null
> > > > +++ b/Documentation/devicetree/bindings/clock/imx6q-clock.yaml
> > > > @@ -0,0 +1,66 @@
> > > > +# SPDX-License-Identifier: GPL-2.0 %YAML 1.2
> > > > +---
> > > > +$id:
> > > https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdev
> > > icetr
> > >
> ee.org%2Fschemas%2Fclock%2Fimx6q-clock.yaml%23&amp;data=02%7C01%
> > >
> 7Canson.huang%40nxp.com%7Ca840fd5be8c94d4d950608d7e1ea16a2%7C6
> > >
> 86ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C1%7C637226267845578228&
> > >
> amp;sdata=Iw1CkVBMqw3m6sox6C3khcMy0BHNCQ9v2k72q3CM6Xs%3D&a
> > > mp;reserved=0
> > > > +$schema:
> > > https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdev
> > > icetr
> > >
> ee.org%2Fmeta-schemas%2Fcore.yaml%23&amp;data=02%7C01%7Canson.hu
> > >
> ang%40nxp.com%7Ca840fd5be8c94d4d950608d7e1ea16a2%7C686ea1d3bc2
> > >
> b4c6fa92cd99c5c301635%7C0%7C1%7C637226267845578228&amp;sdata=P
> > >
> Be2CEoDdMo9I1m3DHbITCyYxB4GF%2FigP%2FNd7YCopCQ%3D&amp;reserve
> > > d=0
> > > > +
> > > > +title: Clock bindings for Freescale i.MX6 Quad
> > > > +
> > > > +maintainers:
> > > > +  - Anson Huang <Anson.Huang@nxp.com>
> > > > +
> > > > +properties:
> > > > +  compatible:
> > > > +    const: fsl,imx6q-ccm
> > > > +
> > > > +  reg:
> > > > +    maxItems: 1
> > > > +
> > > > +  interrupts:
> > > > +    maxItems: 2
> > >
> > > IMHO I would force them to have exactly two so we need
> > > minItems: 2 too here.
> >
> > Actually, those 2 interrupts are NOT necessary for some platforms,
> > such as i.MX platforms do NOT enable them at all, so is it OK to force them
> to be '2' here?
> 
> Why do we list them as required if they are not required? Currently all
> 5 platforms adding both irqs so this won't break anything here.

OK, I will make the minItem/maxItem to 2 in next version.

Thanks,
Anson
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/clock/imx6q-clock.txt b/Documentation/devicetree/bindings/clock/imx6q-clock.txt
deleted file mode 100644
index 13d36d4..0000000
--- a/Documentation/devicetree/bindings/clock/imx6q-clock.txt
+++ /dev/null
@@ -1,41 +0,0 @@ 
-* Clock bindings for Freescale i.MX6 Quad
-
-Required properties:
-- compatible: Should be "fsl,imx6q-ccm"
-- reg: Address and length of the register set
-- interrupts: Should contain CCM interrupt
-- #clock-cells: Should be <1>
-
-Optional properties:
-- fsl,pmic-stby-poweroff: Configure CCM to assert PMIC_STBY_REQ signal
-  on power off.
-  Use this property if the SoC should be powered off by external power
-  management IC (PMIC) triggered via PMIC_STBY_REQ signal.
-  Boards that are designed to initiate poweroff on PMIC_ON_REQ signal should
-  be using "syscon-poweroff" driver instead.
-- clocks: list of clock specifiers, must contain an entry for each entry
-          in clock-names
-- clock-names: valid names are "osc", "ckil", "ckih1", "anaclk1" and "anaclk2"
-
-The clock consumer should specify the desired clock by having the clock
-ID in its "clocks" phandle cell.  See include/dt-bindings/clock/imx6qdl-clock.h
-for the full list of i.MX6 Quad and DualLite clock IDs.
-
-Examples:
-
-#include <dt-bindings/clock/imx6qdl-clock.h>
-
-clks: ccm@20c4000 {
-	compatible = "fsl,imx6q-ccm";
-	reg = <0x020c4000 0x4000>;
-	interrupts = <0 87 0x04 0 88 0x04>;
-	#clock-cells = <1>;
-};
-
-uart1: serial@2020000 {
-	compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
-	reg = <0x02020000 0x4000>;
-	interrupts = <0 26 0x04>;
-	clocks = <&clks IMX6QDL_CLK_UART_IPG>, <&clks IMX6QDL_CLK_UART_SERIAL>;
-	clock-names = "ipg", "per";
-};
diff --git a/Documentation/devicetree/bindings/clock/imx6q-clock.yaml b/Documentation/devicetree/bindings/clock/imx6q-clock.yaml
new file mode 100644
index 0000000..1c6e600
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/imx6q-clock.yaml
@@ -0,0 +1,66 @@ 
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/clock/imx6q-clock.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Clock bindings for Freescale i.MX6 Quad
+
+maintainers:
+  - Anson Huang <Anson.Huang@nxp.com>
+
+properties:
+  compatible:
+    const: fsl,imx6q-ccm
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 2
+
+  '#clock-cells':
+    const: 1
+
+  clocks:
+    items:
+      - description: 24m osc
+      - description: 32k osc
+      - description: ckih1 clock input
+      - description: anaclk1 clock input
+      - description: anaclk2 clock input
+
+  clock-names:
+    items:
+      - const: osc
+      - const: ckil
+      - const: ckih1
+      - const: anaclk1
+      - const: anaclk2
+
+  fsl,pmic-stby-poweroff:
+    $ref: /schemas/types.yaml#/definitions/flag
+    description: |
+      Use this property if the SoC should be powered off by external power
+      management IC (PMIC) triggered via PMIC_STBY_REQ signal.
+      Boards that are designed to initiate poweroff on PMIC_ON_REQ signal should
+      be using "syscon-poweroff" driver instead.
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - '#clock-cells'
+
+examples:
+  # Clock Control Module node:
+  - |
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+    clks: clock-controller@20c4000 {
+        compatible = "fsl,imx6q-ccm";
+        reg = <0x020c4000 0x4000>;
+        interrupts = <0 87 IRQ_TYPE_LEVEL_HIGH>,
+                     <0 88 IRQ_TYPE_LEVEL_HIGH>;
+        #clock-cells = <1>;
+    };