devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] dt-bindings: misc: Convert IDT 89HPESx to DT schema
@ 2022-10-05 21:26 Rob Herring
  2022-10-06  5:13 ` Serge Semin
  2022-10-14 21:43 ` Rob Herring
  0 siblings, 2 replies; 3+ messages in thread
From: Rob Herring @ 2022-10-05 21:26 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Serge Semin; +Cc: devicetree, linux-kernel

Convert the IDT 89HPESx device binding to DT schema format.

"onsemi,24c64" was not a documented compatible string, so update the
example to "atmel,24c64". It's not clear what's in use here as no
upstream dts files have the eeprom child node.

Signed-off-by: Rob Herring <robh@kernel.org>
---
Serge, Okay with dual licensing?
---
 .../devicetree/bindings/misc/idt,89hpesx.yaml | 72 +++++++++++++++++++
 .../devicetree/bindings/misc/idt_89hpesx.txt  | 44 ------------
 2 files changed, 72 insertions(+), 44 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/misc/idt,89hpesx.yaml
 delete mode 100644 Documentation/devicetree/bindings/misc/idt_89hpesx.txt

diff --git a/Documentation/devicetree/bindings/misc/idt,89hpesx.yaml b/Documentation/devicetree/bindings/misc/idt,89hpesx.yaml
new file mode 100644
index 000000000000..452236e79354
--- /dev/null
+++ b/Documentation/devicetree/bindings/misc/idt,89hpesx.yaml
@@ -0,0 +1,72 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/misc/idt,89hpesx.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: EEPROM / CSR SMBus-slave interface of IDT 89HPESx devices
+
+maintainers:
+  - Serge Semin <fancer.lancer@gmail.com>
+
+select:
+  properties:
+    compatible:
+      contains:
+        pattern: '^idt,89hpes'
+  required:
+    - compatible
+
+properties:
+  compatible:
+    oneOf:
+      - pattern: '^idt,89hpes(8nt2|12nt3|12n3a?|24n3a?|(12|24)t3g2|4t4g2|10t4g2|[56]t5|8t5a?)$'
+      - pattern: '^idt,89hpes(6t6g2|16t7|(24t6|32t8|48t12|16t4a?)(g2)?)$'
+      - pattern: '^idt,89hpes(24nt6a|32nt8[ab]|12nt12|16nt16|24nt24|32nt24[ab])g2$'
+      - pattern: '^idt,89hpes((32h8|48h12a?|22h16|34h16|64h16a?)(g2)?|16h16)$'
+
+  reg:
+    maxItems: 1
+
+  '#address-cells':
+    const: 1
+  
+  '#size-cells':
+    const: 0
+
+patternProperties:
+  '^eeprom@':
+    $ref: /schemas/eeprom/at24.yaml#
+    unevaluatedProperties: false
+
+    properties:
+      compatible:
+        description: Only a subset of devices are supported
+        pattern: ',24c(32|64|128|256|512)$'
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        idt@74 {
+            compatible = "idt,89hpes32nt8ag2";
+            reg = <0x74>;
+            #address-cells = <1>;
+            #size-cells = <0>;
+
+            eeprom@50 {
+                compatible = "atmel,24c64";
+                reg = <0x50>;
+                read-only;
+            };
+        };
+    };
+...
diff --git a/Documentation/devicetree/bindings/misc/idt_89hpesx.txt b/Documentation/devicetree/bindings/misc/idt_89hpesx.txt
deleted file mode 100644
index b9093b79ab7d..000000000000
--- a/Documentation/devicetree/bindings/misc/idt_89hpesx.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-EEPROM / CSR SMBus-slave interface of IDT 89HPESx devices
-
-Required properties:
-  - compatible : should be "<manufacturer>,<type>"
-		 Basically there is only one manufacturer: idt, but some
-		 compatible devices may be produced in future. Following devices
-		 are supported: 89hpes8nt2, 89hpes12nt3, 89hpes24nt6ag2,
-		 89hpes32nt8ag2, 89hpes32nt8bg2, 89hpes12nt12g2, 89hpes16nt16g2,
-		 89hpes24nt24g2, 89hpes32nt24ag2, 89hpes32nt24bg2;
-		 89hpes12n3, 89hpes12n3a, 89hpes24n3, 89hpes24n3a;
-		 89hpes32h8, 89hpes32h8g2, 89hpes48h12, 89hpes48h12g2,
-		 89hpes48h12ag2, 89hpes16h16, 89hpes22h16, 89hpes22h16g2,
-		 89hpes34h16, 89hpes34h16g2, 89hpes64h16, 89hpes64h16g2,
-		 89hpes64h16ag2;
-		 89hpes12t3g2, 89hpes24t3g2, 89hpes16t4, 89hpes4t4g2,
-		 89hpes10t4g2, 89hpes16t4g2, 89hpes16t4ag2, 89hpes5t5,
-		 89hpes6t5, 89hpes8t5, 89hpes8t5a, 89hpes24t6, 89hpes6t6g2,
-		 89hpes24t6g2, 89hpes16t7, 89hpes32t8, 89hpes32t8g2,
-		 89hpes48t12, 89hpes48t12g2.
-  - reg :	 I2C address of the IDT 89HPESx device.
-
-Optionally there can be EEPROM-compatible subnode:
-  - compatible:  There are five EEPROM devices supported: 24c32, 24c64, 24c128,
-		 24c256 and 24c512 differed by size.
-  - reg:         Custom address of EEPROM device (If not specified IDT 89HPESx
-    (optional)	 device will try to communicate with EEPROM sited by default
-		 address - 0x50)
-  - read-only :	 Parameterless property disables writes to the EEPROM
-    (optional)
-
-Example:
-	idt@60 {
-		compatible = "idt,89hpes32nt8ag2";
-		reg = <0x74>;
-		#address-cells = <1>;
-		#size-cells = <0>;
-
-		eeprom@50 {
-			compatible = "onsemi,24c64";
-			reg = <0x50>;
-			read-only;
-		};
-	};
-
-- 
2.35.1


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

* Re: [PATCH] dt-bindings: misc: Convert IDT 89HPESx to DT schema
  2022-10-05 21:26 [PATCH] dt-bindings: misc: Convert IDT 89HPESx to DT schema Rob Herring
@ 2022-10-06  5:13 ` Serge Semin
  2022-10-14 21:43 ` Rob Herring
  1 sibling, 0 replies; 3+ messages in thread
From: Serge Semin @ 2022-10-06  5:13 UTC (permalink / raw)
  To: Rob Herring; +Cc: Krzysztof Kozlowski, devicetree, linux-kernel

On Wed, Oct 05, 2022 at 04:26:31PM -0500, Rob Herring wrote:
> Convert the IDT 89HPESx device binding to DT schema format.
> 
> "onsemi,24c64" was not a documented compatible string, so update the
> example to "atmel,24c64". It's not clear what's in use here as no
> upstream dts files have the eeprom child node.

HW manual claims the 24c32, 24c64, 24c128, 24c256, 24c512 serial
EEPROMs can be used to save the IDT 89HPESx switch firmware. So there
is no any particular EEPROM-vendor requirement. Onsemi-version of one
was just in-use on the platform for which the driver was originally
created.

> 
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
> Serge, Okay with dual licensing?

Ok. Thanks for the conversion.

Acked-by: Serge Semin <fancer.lancer@gmail.com>

-Sergey

> ---
>  .../devicetree/bindings/misc/idt,89hpesx.yaml | 72 +++++++++++++++++++
>  .../devicetree/bindings/misc/idt_89hpesx.txt  | 44 ------------
>  2 files changed, 72 insertions(+), 44 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/misc/idt,89hpesx.yaml
>  delete mode 100644 Documentation/devicetree/bindings/misc/idt_89hpesx.txt
> 
> diff --git a/Documentation/devicetree/bindings/misc/idt,89hpesx.yaml b/Documentation/devicetree/bindings/misc/idt,89hpesx.yaml
> new file mode 100644
> index 000000000000..452236e79354
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/misc/idt,89hpesx.yaml
> @@ -0,0 +1,72 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/misc/idt,89hpesx.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: EEPROM / CSR SMBus-slave interface of IDT 89HPESx devices
> +
> +maintainers:
> +  - Serge Semin <fancer.lancer@gmail.com>
> +
> +select:
> +  properties:
> +    compatible:
> +      contains:
> +        pattern: '^idt,89hpes'
> +  required:
> +    - compatible
> +
> +properties:
> +  compatible:
> +    oneOf:
> +      - pattern: '^idt,89hpes(8nt2|12nt3|12n3a?|24n3a?|(12|24)t3g2|4t4g2|10t4g2|[56]t5|8t5a?)$'
> +      - pattern: '^idt,89hpes(6t6g2|16t7|(24t6|32t8|48t12|16t4a?)(g2)?)$'
> +      - pattern: '^idt,89hpes(24nt6a|32nt8[ab]|12nt12|16nt16|24nt24|32nt24[ab])g2$'
> +      - pattern: '^idt,89hpes((32h8|48h12a?|22h16|34h16|64h16a?)(g2)?|16h16)$'
> +
> +  reg:
> +    maxItems: 1
> +
> +  '#address-cells':
> +    const: 1
> +  
> +  '#size-cells':
> +    const: 0
> +
> +patternProperties:
> +  '^eeprom@':
> +    $ref: /schemas/eeprom/at24.yaml#
> +    unevaluatedProperties: false
> +
> +    properties:
> +      compatible:
> +        description: Only a subset of devices are supported
> +        pattern: ',24c(32|64|128|256|512)$'
> +
> +required:
> +  - compatible
> +  - reg
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    i2c {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        idt@74 {
> +            compatible = "idt,89hpes32nt8ag2";
> +            reg = <0x74>;
> +            #address-cells = <1>;
> +            #size-cells = <0>;
> +
> +            eeprom@50 {
> +                compatible = "atmel,24c64";
> +                reg = <0x50>;
> +                read-only;
> +            };
> +        };
> +    };
> +...
> diff --git a/Documentation/devicetree/bindings/misc/idt_89hpesx.txt b/Documentation/devicetree/bindings/misc/idt_89hpesx.txt
> deleted file mode 100644
> index b9093b79ab7d..000000000000
> --- a/Documentation/devicetree/bindings/misc/idt_89hpesx.txt
> +++ /dev/null
> @@ -1,44 +0,0 @@
> -EEPROM / CSR SMBus-slave interface of IDT 89HPESx devices
> -
> -Required properties:
> -  - compatible : should be "<manufacturer>,<type>"
> -		 Basically there is only one manufacturer: idt, but some
> -		 compatible devices may be produced in future. Following devices
> -		 are supported: 89hpes8nt2, 89hpes12nt3, 89hpes24nt6ag2,
> -		 89hpes32nt8ag2, 89hpes32nt8bg2, 89hpes12nt12g2, 89hpes16nt16g2,
> -		 89hpes24nt24g2, 89hpes32nt24ag2, 89hpes32nt24bg2;
> -		 89hpes12n3, 89hpes12n3a, 89hpes24n3, 89hpes24n3a;
> -		 89hpes32h8, 89hpes32h8g2, 89hpes48h12, 89hpes48h12g2,
> -		 89hpes48h12ag2, 89hpes16h16, 89hpes22h16, 89hpes22h16g2,
> -		 89hpes34h16, 89hpes34h16g2, 89hpes64h16, 89hpes64h16g2,
> -		 89hpes64h16ag2;
> -		 89hpes12t3g2, 89hpes24t3g2, 89hpes16t4, 89hpes4t4g2,
> -		 89hpes10t4g2, 89hpes16t4g2, 89hpes16t4ag2, 89hpes5t5,
> -		 89hpes6t5, 89hpes8t5, 89hpes8t5a, 89hpes24t6, 89hpes6t6g2,
> -		 89hpes24t6g2, 89hpes16t7, 89hpes32t8, 89hpes32t8g2,
> -		 89hpes48t12, 89hpes48t12g2.
> -  - reg :	 I2C address of the IDT 89HPESx device.
> -
> -Optionally there can be EEPROM-compatible subnode:
> -  - compatible:  There are five EEPROM devices supported: 24c32, 24c64, 24c128,
> -		 24c256 and 24c512 differed by size.
> -  - reg:         Custom address of EEPROM device (If not specified IDT 89HPESx
> -    (optional)	 device will try to communicate with EEPROM sited by default
> -		 address - 0x50)
> -  - read-only :	 Parameterless property disables writes to the EEPROM
> -    (optional)
> -
> -Example:
> -	idt@60 {
> -		compatible = "idt,89hpes32nt8ag2";
> -		reg = <0x74>;
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> -
> -		eeprom@50 {
> -			compatible = "onsemi,24c64";
> -			reg = <0x50>;
> -			read-only;
> -		};
> -	};
> -
> -- 
> 2.35.1
> 

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

* Re: [PATCH] dt-bindings: misc: Convert IDT 89HPESx to DT schema
  2022-10-05 21:26 [PATCH] dt-bindings: misc: Convert IDT 89HPESx to DT schema Rob Herring
  2022-10-06  5:13 ` Serge Semin
@ 2022-10-14 21:43 ` Rob Herring
  1 sibling, 0 replies; 3+ messages in thread
From: Rob Herring @ 2022-10-14 21:43 UTC (permalink / raw)
  To: Rob Herring; +Cc: linux-kernel, Serge Semin, devicetree, Krzysztof Kozlowski

On Wed, 05 Oct 2022 16:26:31 -0500, Rob Herring wrote:
> Convert the IDT 89HPESx device binding to DT schema format.
> 
> "onsemi,24c64" was not a documented compatible string, so update the
> example to "atmel,24c64". It's not clear what's in use here as no
> upstream dts files have the eeprom child node.
> 
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
> Serge, Okay with dual licensing?
> ---
>  .../devicetree/bindings/misc/idt,89hpesx.yaml | 72 +++++++++++++++++++
>  .../devicetree/bindings/misc/idt_89hpesx.txt  | 44 ------------
>  2 files changed, 72 insertions(+), 44 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/misc/idt,89hpesx.yaml
>  delete mode 100644 Documentation/devicetree/bindings/misc/idt_89hpesx.txt
> 

Applied, thanks!

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

end of thread, other threads:[~2022-10-14 21:43 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-05 21:26 [PATCH] dt-bindings: misc: Convert IDT 89HPESx to DT schema Rob Herring
2022-10-06  5:13 ` Serge Semin
2022-10-14 21:43 ` 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).