diff mbox series

dt-bindings:net:wireless:mediatek,mt76: txt to yaml conversion

Message ID b78122c8ddcbf4ac66adc2c0280665a84e7e9010.1615151665.git.lorenzo@kernel.org
State Superseded
Headers show
Series dt-bindings:net:wireless:mediatek,mt76: txt to yaml conversion | expand

Commit Message

Lorenzo Bianconi March 7, 2021, 9:20 p.m. UTC
Convert mt76 dts bindings from .txt to .yaml

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
---
 .../bindings/net/wireless/mediatek,mt76.txt   |  78 -----------
 .../bindings/net/wireless/mediatek,mt76.yaml  | 125 ++++++++++++++++++
 2 files changed, 125 insertions(+), 78 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/net/wireless/mediatek,mt76.txt
 create mode 100644 Documentation/devicetree/bindings/net/wireless/mediatek,mt76.yaml

Comments

Rob Herring March 8, 2021, 11:08 p.m. UTC | #1
On Sun, Mar 07, 2021 at 10:20:44PM +0100, Lorenzo Bianconi wrote:
> Convert mt76 dts bindings from .txt to .yaml

> 

> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>

> ---

>  .../bindings/net/wireless/mediatek,mt76.txt   |  78 -----------

>  .../bindings/net/wireless/mediatek,mt76.yaml  | 125 ++++++++++++++++++

>  2 files changed, 125 insertions(+), 78 deletions(-)

>  delete mode 100644 Documentation/devicetree/bindings/net/wireless/mediatek,mt76.txt

>  create mode 100644 Documentation/devicetree/bindings/net/wireless/mediatek,mt76.yaml

> 

> diff --git a/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.txt b/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.txt

> deleted file mode 100644

> index ab7e7a00e534..000000000000

> --- a/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.txt

> +++ /dev/null

> @@ -1,78 +0,0 @@

> -* MediaTek mt76xx devices

> -

> -This node provides properties for configuring the MediaTek mt76xx wireless

> -device. The node is expected to be specified as a child node of the PCI

> -controller to which the wireless chip is connected.

> -

> -Alternatively, it can specify the wireless part of the MT7628/MT7688 or

> -MT7622 SoC. For SoC, use the following compatible strings:

> -

> -compatible:

> -- "mediatek,mt7628-wmac" for MT7628/MT7688

> -- "mediatek,mt7622-wmac" for MT7622

> -

> -properties:

> -- reg: Address and length of the register set for the device.

> -- interrupts: Main device interrupt

> -

> -MT7622 specific properties:

> -- power-domains: phandle to the power domain that the WMAC is part of

> -- mediatek,infracfg: phandle to the infrastructure bus fabric syscon node

> -

> -Optional properties:

> -

> -- ieee80211-freq-limit: See ieee80211.txt

> -- mediatek,mtd-eeprom: Specify a MTD partition + offset containing EEPROM data

> -- big-endian: if the radio eeprom partition is written in big-endian, specify

> -  this property

> -- mediatek,eeprom-merge-otp: Merge EEPROM data with OTP data. Can be used on

> -  boards where the flash calibration data is generic and specific calibration

> -  data should be pulled from the OTP ROM

> -

> -The MAC address can as well be set with corresponding optional properties

> -defined in net/ethernet.txt.

> -

> -Optional nodes:

> -- led: Properties for a connected LED

> -  Optional properties:

> -    - led-sources: See Documentation/devicetree/bindings/leds/common.txt

> -

> -&pcie {

> -	pcie0 {

> -		wifi@0,0 {

> -			compatible = "mediatek,mt76";

> -			reg = <0x0000 0 0 0 0>;

> -			ieee80211-freq-limit = <5000000 6000000>;

> -			mediatek,mtd-eeprom = <&factory 0x8000>;

> -			big-endian;

> -

> -			led {

> -				led-sources = <2>;

> -			};

> -		};

> -	};

> -};

> -

> -MT7628 example:

> -

> -wmac: wmac@10300000 {

> -	compatible = "mediatek,mt7628-wmac";

> -	reg = <0x10300000 0x100000>;

> -

> -	interrupt-parent = <&cpuintc>;

> -	interrupts = <6>;

> -

> -	mediatek,mtd-eeprom = <&factory 0x0000>;

> -};

> -

> -MT7622 example:

> -

> -wmac: wmac@18000000 {

> -	compatible = "mediatek,mt7622-wmac";

> -	reg = <0 0x18000000 0 0x100000>;

> -	interrupts = <GIC_SPI 211 IRQ_TYPE_LEVEL_LOW>;

> -

> -	mediatek,infracfg = <&infracfg>;

> -

> -	power-domains = <&scpsys MT7622_POWER_DOMAIN_WB>;

> -};

> diff --git a/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.yaml b/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.yaml

> new file mode 100644

> index 000000000000..1a6e3d36944f

> --- /dev/null

> +++ b/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.yaml

> @@ -0,0 +1,125 @@

> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)

> +# Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.

> +

> +%YAML 1.2

> +---

> +$id: http://devicetree.org/schemas/net/wireless/mediatek,mt76.yaml#

> +$schema: http://devicetree.org/meta-schemas/core.yaml#

> +

> +title: MediaTek mt76 wireless devices Generic Binding

> +

> +maintainers:

> +  - Felix Fietkau <nbd@nbd.name>

> +  - Lorenzo Bianconi <lorenzo@kernel.org>

> +

> +description: |

> +  This node provides properties for configuring the MediaTek mt76xx

> +  wireless device. The node is expected to be specified as a child

> +  node of the PCI controller to which the wireless chip is connected.

> +  Alternatively, it can specify the wireless part of the MT7628/MT7688

> +  or MT7622 SoC.

> +

> +properties:

> +  compatible:

> +    enum:

> +      - mediatek,mt76

> +      - mediatek,mt7628-wmac

> +      - mediatek,mt7622-wmac

> +

> +  reg:

> +    maxItems: 1

> +    description:

> +      Address and length of the register set for the device


That's every reg, drop.

> +

> +  interrupts:

> +    maxItems: 1

> +    description:

> +      Main device interrupt


Are there others besides 'main'? If not, drop description.

> +

> +  power-domains:

> +    $ref: /schemas/types.yaml#/definitions/phandle-array


Don't need a type for common properties.

> +    description:

> +      Phandle to the power domain that the WMAC is part of.


That's every 'power-domains'. Just need to define how many: 'maxItems: 1'

> +      This property is MT7622 specific


This can be a schema.

> +

> +  mediatek,infracfg:

> +    $ref: /schemas/types.yaml#/definitions/phandle

> +    description:

> +      Phandle to the infrastructure bus fabric syscon node.

> +      This property is MT7622 specific

> +

> +  ieee80211-freq-limit:

> +    maxItems: 1


Just make sure, only 1 freq supported?

> +    description:

> +      List of supported frequency ranges in KHz

> +

> +  mediatek,mtd-eeprom:

> +    $ref: /schemas/types.yaml#/definitions/phandle-array

> +    description:

> +      Phandle to a MTD partition + offset containing EEPROM data

> +

> +  big-endian:

> +    type: boolean

> +    description:

> +      Specify if the radio eeprom partition is written in big-endian

> +

> +  mediatek,eeprom-merge-otp:

> +    type: boolean

> +    description:

> +      Merge EEPROM data with OTP data. Can be used on boards where the flash

> +      calibration data is generic and specific calibration data should be

> +      pulled from the OTP ROM

> +

> +  led:

> +    type: object

> +    properties:

> +      led-sources:

> +        $ref: /schemas/types.yaml#/definitions/uint32-array


No constraints for how many array entries?

> +        description:

> +          List of device current outputs the LED is connected to

> +

> +required:

> +  - compatible

> +  - reg

> +

> +additionalProperties: false

> +

> +examples:

> +  - |

> +    pcie0 {

> +      #address-cells = <3>;

> +      #size-cells = <2>;

> +      wifi@0,0 {

> +        compatible = "mediatek,mt76";

> +        reg = <0x0000 0 0 0 0>;

> +        ieee80211-freq-limit = <5000000 6000000>;

> +        mediatek,mtd-eeprom = <&factory 0x8000>;

> +        big-endian;

> +

> +        led {

> +          led-sources = <2>;

> +        };

> +      };

> +    };

> +

> +  - |

> +    wmac: wmac@10300000 {

> +      compatible = "mediatek,mt7628-wmac";

> +      reg = <0x10300000 0x100000>;

> +

> +      interrupt-parent = <&cpuintc>;

> +      interrupts = <6>;

> +

> +      mediatek,mtd-eeprom = <&factory 0x0>;

> +    };

> +

> +  - |

> +    wlmac: wmac@18000000 {

> +      compatible = "mediatek,mt7622-wmac";

> +      reg = <0x10300000 0x100000>;

> +      interrupts = <0 211 8>;

> +

> +      mediatek,infracfg = <&infracfg>;

> +

> +      power-domains = <&scpsys 3>;

> +    };

> -- 

> 2.29.2

>
Lorenzo Bianconi March 9, 2021, 12:20 p.m. UTC | #2
> On Sun, Mar 07, 2021 at 10:20:44PM +0100, Lorenzo Bianconi wrote:

> > Convert mt76 dts bindings from .txt to .yaml


[...]

Hi Rob,

thx for the review.

> > +  reg:

> > +    maxItems: 1

> > +    description:

> > +      Address and length of the register set for the device

> 

> That's every reg, drop.


ack, I will fix it in v2

> 

> > +

> > +  interrupts:

> > +    maxItems: 1

> > +    description:

> > +      Main device interrupt

> 

> Are there others besides 'main'? If not, drop description.


right. I will fix it in v2

> 

> > +

> > +  power-domains:

> > +    $ref: /schemas/types.yaml#/definitions/phandle-array

> 

> Don't need a type for common properties.


ack,  I will fix it in v2

> 

> > +    description:

> > +      Phandle to the power domain that the WMAC is part of.

> 

> That's every 'power-domains'. Just need to define how many: 'maxItems: 1'


ack,  I will fix it in v2

> 

> > +      This property is MT7622 specific

> 

> This can be a schema.


Can you please specify what you mean here?

> 

> > +

> > +  mediatek,infracfg:

> > +    $ref: /schemas/types.yaml#/definitions/phandle

> > +    description:

> > +      Phandle to the infrastructure bus fabric syscon node.

> > +      This property is MT7622 specific

> > +

> > +  ieee80211-freq-limit:

> > +    maxItems: 1

> 

> Just make sure, only 1 freq supported?


here we can convert ieee80211.txt in ieee80211.yaml and just refer to it,
right?

> 

> > +    description:

> > +      List of supported frequency ranges in KHz

> > +

> > +  mediatek,mtd-eeprom:

> > +    $ref: /schemas/types.yaml#/definitions/phandle-array

> > +    description:

> > +      Phandle to a MTD partition + offset containing EEPROM data

> > +

> > +  big-endian:

> > +    type: boolean

> > +    description:

> > +      Specify if the radio eeprom partition is written in big-endian

> > +

> > +  mediatek,eeprom-merge-otp:

> > +    type: boolean

> > +    description:

> > +      Merge EEPROM data with OTP data. Can be used on boards where the flash

> > +      calibration data is generic and specific calibration data should be

> > +      pulled from the OTP ROM

> > +

> > +  led:

> > +    type: object

> > +    properties:

> > +      led-sources:

> > +        $ref: /schemas/types.yaml#/definitions/uint32-array

> 

> No constraints for how many array entries?


ack, I will fix in v2.

Regards,
Lorenzo

> 

> > +        description:

> > +          List of device current outputs the LED is connected to

> > +

> > +required:

> > +  - compatible

> > +  - reg

> > +

> > +additionalProperties: false

> > +

> > +examples:

> > +  - |

> > +    pcie0 {

> > +      #address-cells = <3>;

> > +      #size-cells = <2>;

> > +      wifi@0,0 {

> > +        compatible = "mediatek,mt76";

> > +        reg = <0x0000 0 0 0 0>;

> > +        ieee80211-freq-limit = <5000000 6000000>;

> > +        mediatek,mtd-eeprom = <&factory 0x8000>;

> > +        big-endian;

> > +

> > +        led {

> > +          led-sources = <2>;

> > +        };

> > +      };

> > +    };

> > +

> > +  - |

> > +    wmac: wmac@10300000 {

> > +      compatible = "mediatek,mt7628-wmac";

> > +      reg = <0x10300000 0x100000>;

> > +

> > +      interrupt-parent = <&cpuintc>;

> > +      interrupts = <6>;

> > +

> > +      mediatek,mtd-eeprom = <&factory 0x0>;

> > +    };

> > +

> > +  - |

> > +    wlmac: wmac@18000000 {

> > +      compatible = "mediatek,mt7622-wmac";

> > +      reg = <0x10300000 0x100000>;

> > +      interrupts = <0 211 8>;

> > +

> > +      mediatek,infracfg = <&infracfg>;

> > +

> > +      power-domains = <&scpsys 3>;

> > +    };

> > -- 

> > 2.29.2

> >
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.txt b/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.txt
deleted file mode 100644
index ab7e7a00e534..000000000000
--- a/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.txt
+++ /dev/null
@@ -1,78 +0,0 @@ 
-* MediaTek mt76xx devices
-
-This node provides properties for configuring the MediaTek mt76xx wireless
-device. The node is expected to be specified as a child node of the PCI
-controller to which the wireless chip is connected.
-
-Alternatively, it can specify the wireless part of the MT7628/MT7688 or
-MT7622 SoC. For SoC, use the following compatible strings:
-
-compatible:
-- "mediatek,mt7628-wmac" for MT7628/MT7688
-- "mediatek,mt7622-wmac" for MT7622
-
-properties:
-- reg: Address and length of the register set for the device.
-- interrupts: Main device interrupt
-
-MT7622 specific properties:
-- power-domains: phandle to the power domain that the WMAC is part of
-- mediatek,infracfg: phandle to the infrastructure bus fabric syscon node
-
-Optional properties:
-
-- ieee80211-freq-limit: See ieee80211.txt
-- mediatek,mtd-eeprom: Specify a MTD partition + offset containing EEPROM data
-- big-endian: if the radio eeprom partition is written in big-endian, specify
-  this property
-- mediatek,eeprom-merge-otp: Merge EEPROM data with OTP data. Can be used on
-  boards where the flash calibration data is generic and specific calibration
-  data should be pulled from the OTP ROM
-
-The MAC address can as well be set with corresponding optional properties
-defined in net/ethernet.txt.
-
-Optional nodes:
-- led: Properties for a connected LED
-  Optional properties:
-    - led-sources: See Documentation/devicetree/bindings/leds/common.txt
-
-&pcie {
-	pcie0 {
-		wifi@0,0 {
-			compatible = "mediatek,mt76";
-			reg = <0x0000 0 0 0 0>;
-			ieee80211-freq-limit = <5000000 6000000>;
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			big-endian;
-
-			led {
-				led-sources = <2>;
-			};
-		};
-	};
-};
-
-MT7628 example:
-
-wmac: wmac@10300000 {
-	compatible = "mediatek,mt7628-wmac";
-	reg = <0x10300000 0x100000>;
-
-	interrupt-parent = <&cpuintc>;
-	interrupts = <6>;
-
-	mediatek,mtd-eeprom = <&factory 0x0000>;
-};
-
-MT7622 example:
-
-wmac: wmac@18000000 {
-	compatible = "mediatek,mt7622-wmac";
-	reg = <0 0x18000000 0 0x100000>;
-	interrupts = <GIC_SPI 211 IRQ_TYPE_LEVEL_LOW>;
-
-	mediatek,infracfg = <&infracfg>;
-
-	power-domains = <&scpsys MT7622_POWER_DOMAIN_WB>;
-};
diff --git a/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.yaml b/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.yaml
new file mode 100644
index 000000000000..1a6e3d36944f
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.yaml
@@ -0,0 +1,125 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
+
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/wireless/mediatek,mt76.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MediaTek mt76 wireless devices Generic Binding
+
+maintainers:
+  - Felix Fietkau <nbd@nbd.name>
+  - Lorenzo Bianconi <lorenzo@kernel.org>
+
+description: |
+  This node provides properties for configuring the MediaTek mt76xx
+  wireless device. The node is expected to be specified as a child
+  node of the PCI controller to which the wireless chip is connected.
+  Alternatively, it can specify the wireless part of the MT7628/MT7688
+  or MT7622 SoC.
+
+properties:
+  compatible:
+    enum:
+      - mediatek,mt76
+      - mediatek,mt7628-wmac
+      - mediatek,mt7622-wmac
+
+  reg:
+    maxItems: 1
+    description:
+      Address and length of the register set for the device
+
+  interrupts:
+    maxItems: 1
+    description:
+      Main device interrupt
+
+  power-domains:
+    $ref: /schemas/types.yaml#/definitions/phandle-array
+    description:
+      Phandle to the power domain that the WMAC is part of.
+      This property is MT7622 specific
+
+  mediatek,infracfg:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description:
+      Phandle to the infrastructure bus fabric syscon node.
+      This property is MT7622 specific
+
+  ieee80211-freq-limit:
+    maxItems: 1
+    description:
+      List of supported frequency ranges in KHz
+
+  mediatek,mtd-eeprom:
+    $ref: /schemas/types.yaml#/definitions/phandle-array
+    description:
+      Phandle to a MTD partition + offset containing EEPROM data
+
+  big-endian:
+    type: boolean
+    description:
+      Specify if the radio eeprom partition is written in big-endian
+
+  mediatek,eeprom-merge-otp:
+    type: boolean
+    description:
+      Merge EEPROM data with OTP data. Can be used on boards where the flash
+      calibration data is generic and specific calibration data should be
+      pulled from the OTP ROM
+
+  led:
+    type: object
+    properties:
+      led-sources:
+        $ref: /schemas/types.yaml#/definitions/uint32-array
+        description:
+          List of device current outputs the LED is connected to
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    pcie0 {
+      #address-cells = <3>;
+      #size-cells = <2>;
+      wifi@0,0 {
+        compatible = "mediatek,mt76";
+        reg = <0x0000 0 0 0 0>;
+        ieee80211-freq-limit = <5000000 6000000>;
+        mediatek,mtd-eeprom = <&factory 0x8000>;
+        big-endian;
+
+        led {
+          led-sources = <2>;
+        };
+      };
+    };
+
+  - |
+    wmac: wmac@10300000 {
+      compatible = "mediatek,mt7628-wmac";
+      reg = <0x10300000 0x100000>;
+
+      interrupt-parent = <&cpuintc>;
+      interrupts = <6>;
+
+      mediatek,mtd-eeprom = <&factory 0x0>;
+    };
+
+  - |
+    wlmac: wmac@18000000 {
+      compatible = "mediatek,mt7622-wmac";
+      reg = <0x10300000 0x100000>;
+      interrupts = <0 211 8>;
+
+      mediatek,infracfg = <&infracfg>;
+
+      power-domains = <&scpsys 3>;
+    };