linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 1/4] dt-bindings: i2c: imx-lpi2c: Add properties and use unevaluatedProperties
@ 2020-09-10 18:22 Krzysztof Kozlowski
  2020-09-10 18:22 ` [PATCH v3 2/4] dt-bindings: i2c: imx-lpi2c: Fix i.MX 8QXP compatible matching Krzysztof Kozlowski
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2020-09-10 18:22 UTC (permalink / raw)
  To: Rob Herring, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
	Fabio Estevam, NXP Linux Team, Krzysztof Kozlowski, Wolfram Sang,
	linux-i2c, devicetree, linux-arm-kernel, linux-kernel

Additional properties actually might appear (e.g. power-domains) so
describe all typical properties, reference generic i2c schema and use
unevaluatedProperties to fix dtbs_check warnings like:

  arch/arm64/boot/dts/freescale/imx8qxp-ai_ml.dt.yaml: i2c@5a800000:
    'assigned-clock-rates', 'assigned-clocks', 'clock-names', 'power-domains' do not match any of the regexes: 'pinctrl-[0-9]+'

  arch/arm64/boot/dts/freescale/imx8qxp-colibri-eval-v3.dt.yaml: i2c@5a800000:
    'touchscreen@2c' does not match any of the regexes: 'pinctrl-[0-9]+'

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>

---

Changes since v2:
1. Add assigned-clock-parents

Changes since v1:
1. Add more properties and include /schemas/i2c/i2c-controller.yaml#
---
 .../bindings/i2c/i2c-imx-lpi2c.yaml           | 20 +++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.yaml b/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.yaml
index ac0bc5dd64d6..918535b33384 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.yaml
+++ b/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.yaml
@@ -9,6 +9,9 @@ title: Freescale Low Power Inter IC (LPI2C) for i.MX
 maintainers:
   - Anson Huang <Anson.Huang@nxp.com>
 
+allOf:
+  - $ref: /schemas/i2c/i2c-controller.yaml#
+
 properties:
   compatible:
     enum:
@@ -16,29 +19,42 @@ properties:
       - fsl,imx8qxp-lpi2c
       - fsl,imx8qm-lpi2c
 
+  '#address-cells': true
+  '#size-cells': true
+
   reg:
     maxItems: 1
 
   interrupts:
     maxItems: 1
 
+  assigned-clock-parents: true
+  assigned-clock-rates: true
+  assigned-clocks: true
+  clock-frequency: true
+
+  clock-names:
+    maxItems: 1
+
   clocks:
     maxItems: 1
 
+  power-domains: true
+
 required:
   - compatible
   - reg
   - interrupts
   - clocks
 
-additionalProperties: false
+unevaluatedProperties: false
 
 examples:
   - |
     #include <dt-bindings/clock/imx7ulp-clock.h>
     #include <dt-bindings/interrupt-controller/arm-gic.h>
 
-    lpi2c7@40a50000 {
+    i2c@40a50000 {
         compatible = "fsl,imx7ulp-lpi2c";
         reg = <0x40A50000 0x10000>;
         interrupt-parent = <&intc>;
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v3 2/4] dt-bindings: i2c: imx-lpi2c: Fix i.MX 8QXP compatible matching
  2020-09-10 18:22 [PATCH v3 1/4] dt-bindings: i2c: imx-lpi2c: Add properties and use unevaluatedProperties Krzysztof Kozlowski
@ 2020-09-10 18:22 ` Krzysztof Kozlowski
  2020-09-10 18:22 ` [PATCH v3 3/4] dt-bindings: i2c: imx: Add properties and use unevaluatedProperties Krzysztof Kozlowski
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2020-09-10 18:22 UTC (permalink / raw)
  To: Rob Herring, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
	Fabio Estevam, NXP Linux Team, Krzysztof Kozlowski, Wolfram Sang,
	linux-i2c, devicetree, linux-arm-kernel, linux-kernel

The i.MX 8QXP DTSes use two compatibles so update the binding to fix
dtbs_check warnings like:

  arch/arm64/boot/dts/freescale/imx8qxp-mek.dt.yaml: i2c@5a820000:
    compatible: ['fsl,imx8qxp-lpi2c', 'fsl,imx7ulp-lpi2c'] is too long

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 .../devicetree/bindings/i2c/i2c-imx-lpi2c.yaml        | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.yaml b/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.yaml
index 918535b33384..8b088a34a8e6 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.yaml
+++ b/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.yaml
@@ -14,10 +14,13 @@ allOf:
 
 properties:
   compatible:
-    enum:
-      - fsl,imx7ulp-lpi2c
-      - fsl,imx8qxp-lpi2c
-      - fsl,imx8qm-lpi2c
+    oneOf:
+      - enum:
+          - fsl,imx7ulp-lpi2c
+          - fsl,imx8qm-lpi2c
+      - items:
+          - const: fsl,imx8qxp-lpi2c
+          - const: fsl,imx7ulp-lpi2c
 
   '#address-cells': true
   '#size-cells': true
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v3 3/4] dt-bindings: i2c: imx: Add properties and use unevaluatedProperties
  2020-09-10 18:22 [PATCH v3 1/4] dt-bindings: i2c: imx-lpi2c: Add properties and use unevaluatedProperties Krzysztof Kozlowski
  2020-09-10 18:22 ` [PATCH v3 2/4] dt-bindings: i2c: imx-lpi2c: Fix i.MX 8QXP compatible matching Krzysztof Kozlowski
@ 2020-09-10 18:22 ` Krzysztof Kozlowski
  2020-09-15 19:43   ` Rob Herring
  2020-09-10 18:22 ` [PATCH v3 4/4] dt-bindings: i2c: imx: Fix i.MX 7 compatible matching Krzysztof Kozlowski
  2020-09-15 19:41 ` [PATCH v3 1/4] dt-bindings: i2c: imx-lpi2c: Add properties and use unevaluatedProperties Rob Herring
  3 siblings, 1 reply; 6+ messages in thread
From: Krzysztof Kozlowski @ 2020-09-10 18:22 UTC (permalink / raw)
  To: Rob Herring, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
	Fabio Estevam, NXP Linux Team, Krzysztof Kozlowski, Wolfram Sang,
	linux-i2c, devicetree, linux-arm-kernel, linux-kernel

Additional properties actually might appear (e.g. power-domains) so
describe all typical properties, reference generic i2c schema and use
unevaluatedProperties to fix dtbs_check warnings like:

  arch/arm64/boot/dts/freescale/imx8mn-evk.dt.yaml: i2c@30a20000:
    '#address-cells', '#size-cells', 'pmic@25' do not match any of the regexes: 'pinctrl-[0-9]+'

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>

---

Changes since v2:
1. None

Changes since v1:
1. Add more properties and include /schemas/i2c/i2c-controller.yaml#
---
 Documentation/devicetree/bindings/i2c/i2c-imx.yaml | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/i2c/i2c-imx.yaml b/Documentation/devicetree/bindings/i2c/i2c-imx.yaml
index 810536953177..19c9daba6e9f 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-imx.yaml
+++ b/Documentation/devicetree/bindings/i2c/i2c-imx.yaml
@@ -9,6 +9,9 @@ title: Freescale Inter IC (I2C) and High Speed Inter IC (HS-I2C) for i.MX
 maintainers:
   - Wolfram Sang <wolfram@the-dreams.de>
 
+allOf:
+  - $ref: /schemas/i2c/i2c-controller.yaml#
+
 properties:
   compatible:
     oneOf:
@@ -38,6 +41,9 @@ properties:
               - fsl,imx8mp-i2c
           - const: fsl,imx21-i2c
 
+  '#address-cells': true
+  '#size-cells': true
+
   reg:
     maxItems: 1
 
@@ -75,7 +81,7 @@ required:
   - interrupts
   - clocks
 
-additionalProperties: false
+unevaluatedProperties: false
 
 examples:
   - |
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v3 4/4] dt-bindings: i2c: imx: Fix i.MX 7 compatible matching
  2020-09-10 18:22 [PATCH v3 1/4] dt-bindings: i2c: imx-lpi2c: Add properties and use unevaluatedProperties Krzysztof Kozlowski
  2020-09-10 18:22 ` [PATCH v3 2/4] dt-bindings: i2c: imx-lpi2c: Fix i.MX 8QXP compatible matching Krzysztof Kozlowski
  2020-09-10 18:22 ` [PATCH v3 3/4] dt-bindings: i2c: imx: Add properties and use unevaluatedProperties Krzysztof Kozlowski
@ 2020-09-10 18:22 ` Krzysztof Kozlowski
  2020-09-15 19:41 ` [PATCH v3 1/4] dt-bindings: i2c: imx-lpi2c: Add properties and use unevaluatedProperties Rob Herring
  3 siblings, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2020-09-10 18:22 UTC (permalink / raw)
  To: Rob Herring, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
	Fabio Estevam, NXP Linux Team, Krzysztof Kozlowski, Wolfram Sang,
	linux-i2c, devicetree, linux-arm-kernel, linux-kernel

The i.MX 7 DTSes use two compatibles so update the binding to fix
dtbs_check warnings like:

  arch/arm/boot/dts/imx7d-cl-som-imx7.dt.yaml: i2c@30a20000:
    compatible: ['fsl,imx7d-i2c', 'fsl,imx21-i2c'] is not valid under any of the given schemas (Possible causes of the failure):

  arch/arm/boot/dts/imx7d-cl-som-imx7.dt.yaml: i2c@30a20000:
    compatible: ['fsl,imx7d-i2c', 'fsl,imx21-i2c'] is too long

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 Documentation/devicetree/bindings/i2c/i2c-imx.yaml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Documentation/devicetree/bindings/i2c/i2c-imx.yaml b/Documentation/devicetree/bindings/i2c/i2c-imx.yaml
index 19c9daba6e9f..3a0fbeea7aaf 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-imx.yaml
+++ b/Documentation/devicetree/bindings/i2c/i2c-imx.yaml
@@ -21,6 +21,9 @@ properties:
       - items:
           - const: fsl,imx35-i2c
           - const: fsl,imx1-i2c
+      - items:
+          - const: fsl,imx7d-i2c
+          - const: fsl,imx21-i2c
       - items:
           - enum:
               - fsl,imx25-i2c
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v3 1/4] dt-bindings: i2c: imx-lpi2c: Add properties and use unevaluatedProperties
  2020-09-10 18:22 [PATCH v3 1/4] dt-bindings: i2c: imx-lpi2c: Add properties and use unevaluatedProperties Krzysztof Kozlowski
                   ` (2 preceding siblings ...)
  2020-09-10 18:22 ` [PATCH v3 4/4] dt-bindings: i2c: imx: Fix i.MX 7 compatible matching Krzysztof Kozlowski
@ 2020-09-15 19:41 ` Rob Herring
  3 siblings, 0 replies; 6+ messages in thread
From: Rob Herring @ 2020-09-15 19:41 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	NXP Linux Team, Wolfram Sang, linux-i2c, devicetree,
	linux-arm-kernel, linux-kernel

On Thu, Sep 10, 2020 at 08:22:41PM +0200, Krzysztof Kozlowski wrote:
> Additional properties actually might appear (e.g. power-domains) so
> describe all typical properties, reference generic i2c schema and use
> unevaluatedProperties to fix dtbs_check warnings like:
> 
>   arch/arm64/boot/dts/freescale/imx8qxp-ai_ml.dt.yaml: i2c@5a800000:
>     'assigned-clock-rates', 'assigned-clocks', 'clock-names', 'power-domains' do not match any of the regexes: 'pinctrl-[0-9]+'
> 
>   arch/arm64/boot/dts/freescale/imx8qxp-colibri-eval-v3.dt.yaml: i2c@5a800000:
>     'touchscreen@2c' does not match any of the regexes: 'pinctrl-[0-9]+'
> 
> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
> 
> ---
> 
> Changes since v2:
> 1. Add assigned-clock-parents
> 
> Changes since v1:
> 1. Add more properties and include /schemas/i2c/i2c-controller.yaml#
> ---
>  .../bindings/i2c/i2c-imx-lpi2c.yaml           | 20 +++++++++++++++++--
>  1 file changed, 18 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.yaml b/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.yaml
> index ac0bc5dd64d6..918535b33384 100644
> --- a/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.yaml
> +++ b/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.yaml
> @@ -9,6 +9,9 @@ title: Freescale Low Power Inter IC (LPI2C) for i.MX
>  maintainers:
>    - Anson Huang <Anson.Huang@nxp.com>
>  
> +allOf:
> +  - $ref: /schemas/i2c/i2c-controller.yaml#
> +
>  properties:
>    compatible:
>      enum:
> @@ -16,29 +19,42 @@ properties:
>        - fsl,imx8qxp-lpi2c
>        - fsl,imx8qm-lpi2c
>  
> +  '#address-cells': true
> +  '#size-cells': true

Can drop these as they are in i2c-controller.yaml.

> +
>    reg:
>      maxItems: 1
>  
>    interrupts:
>      maxItems: 1
>  
> +  assigned-clock-parents: true
> +  assigned-clock-rates: true
> +  assigned-clocks: true
> +  clock-frequency: true
> +
> +  clock-names:
> +    maxItems: 1
> +
>    clocks:
>      maxItems: 1
>  
> +  power-domains: true

How many?

> +
>  required:
>    - compatible
>    - reg
>    - interrupts
>    - clocks
>  
> -additionalProperties: false
> +unevaluatedProperties: false
>  
>  examples:
>    - |
>      #include <dt-bindings/clock/imx7ulp-clock.h>
>      #include <dt-bindings/interrupt-controller/arm-gic.h>
>  
> -    lpi2c7@40a50000 {
> +    i2c@40a50000 {
>          compatible = "fsl,imx7ulp-lpi2c";
>          reg = <0x40A50000 0x10000>;
>          interrupt-parent = <&intc>;
> -- 
> 2.17.1
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v3 3/4] dt-bindings: i2c: imx: Add properties and use unevaluatedProperties
  2020-09-10 18:22 ` [PATCH v3 3/4] dt-bindings: i2c: imx: Add properties and use unevaluatedProperties Krzysztof Kozlowski
@ 2020-09-15 19:43   ` Rob Herring
  0 siblings, 0 replies; 6+ messages in thread
From: Rob Herring @ 2020-09-15 19:43 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	NXP Linux Team, Wolfram Sang, linux-i2c, devicetree,
	linux-arm-kernel, linux-kernel

On Thu, Sep 10, 2020 at 08:22:43PM +0200, Krzysztof Kozlowski wrote:
> Additional properties actually might appear (e.g. power-domains) so
> describe all typical properties, reference generic i2c schema and use
> unevaluatedProperties to fix dtbs_check warnings like:
> 
>   arch/arm64/boot/dts/freescale/imx8mn-evk.dt.yaml: i2c@30a20000:
>     '#address-cells', '#size-cells', 'pmic@25' do not match any of the regexes: 'pinctrl-[0-9]+'
> 
> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
> 
> ---
> 
> Changes since v2:
> 1. None
> 
> Changes since v1:
> 1. Add more properties and include /schemas/i2c/i2c-controller.yaml#
> ---
>  Documentation/devicetree/bindings/i2c/i2c-imx.yaml | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/i2c/i2c-imx.yaml b/Documentation/devicetree/bindings/i2c/i2c-imx.yaml
> index 810536953177..19c9daba6e9f 100644
> --- a/Documentation/devicetree/bindings/i2c/i2c-imx.yaml
> +++ b/Documentation/devicetree/bindings/i2c/i2c-imx.yaml
> @@ -9,6 +9,9 @@ title: Freescale Inter IC (I2C) and High Speed Inter IC (HS-I2C) for i.MX
>  maintainers:
>    - Wolfram Sang <wolfram@the-dreams.de>
>  
> +allOf:
> +  - $ref: /schemas/i2c/i2c-controller.yaml#
> +
>  properties:
>    compatible:
>      oneOf:
> @@ -38,6 +41,9 @@ properties:
>                - fsl,imx8mp-i2c
>            - const: fsl,imx21-i2c
>  
> +  '#address-cells': true
> +  '#size-cells': true

Drop these.

> +
>    reg:
>      maxItems: 1
>  
> @@ -75,7 +81,7 @@ required:
>    - interrupts
>    - clocks
>  
> -additionalProperties: false
> +unevaluatedProperties: false
>  
>  examples:
>    - |
> -- 
> 2.17.1
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-09-15 19:45 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-10 18:22 [PATCH v3 1/4] dt-bindings: i2c: imx-lpi2c: Add properties and use unevaluatedProperties Krzysztof Kozlowski
2020-09-10 18:22 ` [PATCH v3 2/4] dt-bindings: i2c: imx-lpi2c: Fix i.MX 8QXP compatible matching Krzysztof Kozlowski
2020-09-10 18:22 ` [PATCH v3 3/4] dt-bindings: i2c: imx: Add properties and use unevaluatedProperties Krzysztof Kozlowski
2020-09-15 19:43   ` Rob Herring
2020-09-10 18:22 ` [PATCH v3 4/4] dt-bindings: i2c: imx: Fix i.MX 7 compatible matching Krzysztof Kozlowski
2020-09-15 19:41 ` [PATCH v3 1/4] dt-bindings: i2c: imx-lpi2c: Add properties and use unevaluatedProperties Rob Herring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).