Commit 1735e44d authored by Lorenzo Bianconi's avatar Lorenzo Bianconi Committed by Felix Fietkau
Browse files

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



Convert mt76 dts bindings from .txt to .yaml

Signed-off-by: default avatarLorenzo Bianconi <lorenzo@kernel.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
parent 7c82bbb1
Loading
Loading
Loading
Loading
+0 −78
Original line number Diff line number Diff line
* 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>;
};
+121 −0
Original line number Diff line number Diff line
# 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>
  - Ryder Lee <ryder.lee@mediatek.com>

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.

allOf:
  - $ref: ieee80211.yaml#

properties:
  compatible:
    enum:
      - mediatek,mt76
      - mediatek,mt7628-wmac
      - mediatek,mt7622-wmac

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  power-domains:
    maxItems: 1

  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: true

  mediatek,mtd-eeprom:
    $ref: /schemas/types.yaml#/definitions/phandle-array
    description:
      Phandle to a MTD partition + offset containing EEPROM data

  big-endian:
    $ref: /schemas/types.yaml#/definitions/flag
    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
    $ref: /schemas/leds/common.yaml#
    additionalProperties: false
    properties:
      led-sources:
        maxItems: 1

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>;
        };
      };
    };

  - |
    wifi@10300000 {
      compatible = "mediatek,mt7628-wmac";
      reg = <0x10300000 0x100000>;

      interrupt-parent = <&cpuintc>;
      interrupts = <6>;

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

  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    wifi@18000000 {
      compatible = "mediatek,mt7622-wmac";
      reg = <0x10300000 0x100000>;
      interrupts = <GIC_SPI 211 IRQ_TYPE_LEVEL_LOW>;

      mediatek,infracfg = <&infracfg>;

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