dt-bindings: net: wireless: qca,ath9k: convert to the json-schema
This replaces the existing .txt binding file. Furthermore, this also helps with validating DTS files. Introduced binding changes: 1. added inherited mac-address nvmem property 2. added inherited ieee80211-freq-limit property 3. added new calibration nvmem property 4. added second example (taken from the Netgear WNDR3700v2) Reason: Setting qca,no-eeprom; takes presedence over nvmem-cells. I think a different example is needed, because the driver can only reads from one calibration source per device. 5. (re-added) chip list (based on data from ath9k's pci.c) Added binding .yaml to MAINTAINERS. Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Link: https://lore.kernel.org/r/20210924223509.52525-1-chunkeey@gmail.com
This commit is contained in:
parent
4925642d54
commit
57bb2398bd
@ -1,48 +0,0 @@
|
||||
* 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;
|
||||
};
|
||||
};
|
@ -0,0 +1,90 @@
|
||||
# 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";
|
||||
};
|
||||
};
|
@ -15456,6 +15456,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
|
||||
|
Loading…
Reference in New Issue
Block a user