Commit d1a3f409 authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files

Merge tag 'wireless-drivers-next-2021-10-22' of...

Merge tag 'wireless-drivers-next-2021-10-22' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next

Kalle Valo says:

====================
wireless-drivers-next patches for v5.16

Second set of patches for v5.16 and this time we have a big one. We
have the new Realtek driver rtw89 with over 90 kLOC and also over 150
patches for mt76. ath9k also got few new small features. And the usual
cleanups and fixes all over.

Major changes:

rtw89
 * new Realtek 802.11ax driver
 * supports Realtek 8852AE 802.11ax 2x2 chip

ath9k
 * add option to reset the wifi chip via debugfs
 * convert Device Tree bindings to the json-schema
 * support Device Tree ieee80211-freq-limit property to limit channels

mt76
 * mt7921 aspm support
 * mt7921 testmode support
 * mt7915 LED support
 * mt7921 6GHz band support
 * support for eeprom data in DT
 * mt7915 TWT support
 * mt7921s SDIO support

* tag 'wireless-drivers-next-2021-10-22' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next: (213 commits)
  zd1201: use eth_hw_addr_set()
  wl3501_cs: use eth_hw_addr_set()
  ray_cs: use eth_hw_addr_set()
  ...
====================

Link: https://lore.kernel.org/r/20211022075845.0E679C4360D@smtp.codeaurora.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents 24f7cf9b 9bc0b1aa
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -47,6 +47,11 @@ properties:

  ieee80211-freq-limit: true

  mediatek,eeprom-data:
    $ref: /schemas/types.yaml#/definitions/uint32-array
    description:
      EEPROM data embedded as array.

  mediatek,mtd-eeprom:
    $ref: /schemas/types.yaml#/definitions/phandle-array
    description:
+0 −48
Original line number Diff line number Diff line
* Qualcomm Atheros ath9k wireless devices

This node provides properties for configuring the ath9k wireless device. The
node is expected to be specified as a child node of the PCI controller to
which the wireless chip is connected.

Required properties:
- compatible: For PCI and PCIe devices this should be an identifier following
		the format as defined in "PCI Bus Binding to Open Firmware"
		Revision 2.1. One of the possible formats is "pciVVVV,DDDD"
		where VVVV is the PCI vendor ID and DDDD is PCI device ID.
		Typically QCA's PCI vendor ID 168c is used while the PCI device
		ID depends on the chipset - see the following (possibly
		incomplete) list:
			- 0023 for AR5416
			- 0024 for AR5418
			- 0027 for AR9160
			- 0029 for AR9220 and AR9223
			- 002a for AR9280 and AR9283
			- 002b for AR9285
			- 002c for AR2427
			- 002d for AR9227
			- 002e for AR9287
			- 0030 for AR9380, AR9381 and AR9382
			- 0032 for AR9485
			- 0033 for AR9580 and AR9590
			- 0034 for AR9462
			- 0036 for AR9565
			- 0037 for AR9485
- reg: Address and length of the register set for the device.

Optional properties:
- qca,no-eeprom: Indicates that there is no physical EEPROM connected to the
			ath9k wireless chip (in this case the calibration /
			EEPROM data will be loaded from userspace using the
			kernel firmware loader).

The MAC address will be determined using the optional properties defined in
net/ethernet.txt.

In this example, the node is defined as child node of the PCI controller:
&pci0 {
	wifi@168c,002d {
		compatible = "pci168c,002d";
		reg = <0x7000 0 0 0 0x1000>;
		qca,no-eeprom;
	};
};
+90 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/wireless/qca,ath9k.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm Atheros ath9k wireless devices Generic Binding

maintainers:
  - Kalle Valo <kvalo@codeaurora.org>

description: |
  This node provides properties for configuring the ath9k wireless device.
  The node is expected to be specified as a child node of the PCI controller
  to which the wireless chip is connected.

allOf:
  - $ref: ieee80211.yaml#

properties:
  compatible:
    enum:
      - pci168c,0023  # AR5416
      - pci168c,0024  # AR5418
      - pci168c,0027  # AR9160
      - pci168c,0029  # AR9220 and AR9223
      - pci168c,002a  # AR9280 and AR9283
      - pci168c,002b  # AR9285
      - pci168c,002c  # AR2427 - 802.11n bonded out
      - pci168c,002d  # AR9227
      - pci168c,002e  # AR9287
      - pci168c,0030  # AR9380, AR9381 and AR9382
      - pci168c,0032  # AR9485
      - pci168c,0033  # AR9580 and AR9590
      - pci168c,0034  # AR9462
      - pci168c,0036  # AR9565
      - pci168c,0037  # AR1111 and AR9485

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  ieee80211-freq-limit: true

  qca,no-eeprom:
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      Indicates that there is no physical EEPROM connected

  nvmem-cells:
    items:
      - description: Reference to an nvmem node for the MAC address
      - description: Reference to an nvmem node for calibration data

  nvmem-cell-names:
    items:
      - const: mac-address
      - const: calibration

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    pcie0 {
      #address-cells = <3>;
      #size-cells = <2>;
      wifi@0,0 {
        compatible = "pci168c,002d";
        reg = <0 0 0 0 0>;
        interrupts = <3>;
        qca,no-eeprom;
      };
    };
  - |
    pci0 {
      #address-cells = <3>;
      #size-cells = <2>;
      wifi@0,11 {
        compatible = "pci168c,0029";
        reg = <0x8800 0 0 0 0>;
        nvmem-cells = <&macaddr_art_c>, <&cal_art_1000>;
        nvmem-cell-names = "mac-address", "calibration";
      };
    };
+10 −1
Original line number Diff line number Diff line
@@ -11830,7 +11830,9 @@ F: drivers/mmc/host/mtk-sd.c
MEDIATEK MT76 WIRELESS LAN DRIVER
M:	Felix Fietkau <nbd@nbd.name>
M:	Lorenzo Bianconi <lorenzo.bianconi83@gmail.com>
R:	Ryder Lee <ryder.lee@mediatek.com>
M:	Ryder Lee <ryder.lee@mediatek.com>
R:	Shayne Chen <shayne.chen@mediatek.com>
R:	Sean Wang <sean.wang@mediatek.com>
L:	linux-wireless@vger.kernel.org
S:	Maintained
F:	drivers/net/wireless/mediatek/mt76/
@@ -15469,6 +15471,7 @@ M: ath9k-devel@qca.qualcomm.com
L:	linux-wireless@vger.kernel.org
S:	Supported
W:	https://wireless.wiki.kernel.org/en/users/Drivers/ath9k
F:	Documentation/devicetree/bindings/net/wireless/qca,ath9k.yaml
F:	drivers/net/wireless/ath/ath9k/
QUALCOMM CAMERA SUBSYSTEM DRIVER
@@ -15890,6 +15893,12 @@ L: linux-wireless@vger.kernel.org
S:	Maintained
F:	drivers/net/wireless/realtek/rtw88/
REALTEK WIRELESS DRIVER (rtw89)
M:	Ping-Ke Shih <pkshih@realtek.com>
L:	linux-wireless@vger.kernel.org
S:	Maintained
F:	drivers/net/wireless/realtek/rtw89/
REDPINE WIRELESS DRIVER
M:	Amitkumar Karwar <amitkarwar@gmail.com>
M:	Siva Rebbagondla <siva8118@gmail.com>
+0 −3
Original line number Diff line number Diff line
@@ -3520,13 +3520,10 @@ EXPORT_SYMBOL(ath10k_core_create);

void ath10k_core_destroy(struct ath10k *ar)
{
	flush_workqueue(ar->workqueue);
	destroy_workqueue(ar->workqueue);

	flush_workqueue(ar->workqueue_aux);
	destroy_workqueue(ar->workqueue_aux);

	flush_workqueue(ar->workqueue_tx_complete);
	destroy_workqueue(ar->workqueue_tx_complete);

	ath10k_debug_destroy(ar);
Loading