devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Lorenzo Bianconi <lorenzo@kernel.org>
Cc: nbd@nbd.name, linux-wireless@vger.kernel.org,
	lorenzo.bianconi@redhat.com, sean.wang@mediatek.com,
	ryder.lee@mediatek.com, devicetree@vger.kernel.org
Subject: Re: [PATCH] dt-bindings:net:wireless:mediatek,mt76: txt to yaml conversion
Date: Mon, 8 Mar 2021 16:08:10 -0700	[thread overview]
Message-ID: <20210308230810.GA3111033@robh.at.kernel.org> (raw)
In-Reply-To: <b78122c8ddcbf4ac66adc2c0280665a84e7e9010.1615151665.git.lorenzo@kernel.org>

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
> 

  reply	other threads:[~2021-03-08 23:08 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-07 21:20 [PATCH] dt-bindings:net:wireless:mediatek,mt76: txt to yaml conversion Lorenzo Bianconi
2021-03-08 23:08 ` Rob Herring [this message]
2021-03-09 12:20   ` Lorenzo Bianconi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210308230810.GA3111033@robh.at.kernel.org \
    --to=robh@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=lorenzo.bianconi@redhat.com \
    --cc=lorenzo@kernel.org \
    --cc=nbd@nbd.name \
    --cc=ryder.lee@mediatek.com \
    --cc=sean.wang@mediatek.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).