1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/net/wireless/qca,ath9k.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm Atheros ath9k wireless devices Generic Binding
8
9maintainers:
10  - Kalle Valo <kvalo@codeaurora.org>
11
12description: |
13  This node provides properties for configuring the ath9k wireless device.
14  The node is expected to be specified as a child node of the PCI controller
15  to which the wireless chip is connected.
16
17allOf:
18  - $ref: ieee80211.yaml#
19
20properties:
21  compatible:
22    enum:
23      - pci168c,0023  # AR5416
24      - pci168c,0024  # AR5418
25      - pci168c,0027  # AR9160
26      - pci168c,0029  # AR9220 and AR9223
27      - pci168c,002a  # AR9280 and AR9283
28      - pci168c,002b  # AR9285
29      - pci168c,002c  # AR2427 - 802.11n bonded out
30      - pci168c,002d  # AR9227
31      - pci168c,002e  # AR9287
32      - pci168c,0030  # AR9380, AR9381 and AR9382
33      - pci168c,0032  # AR9485
34      - pci168c,0033  # AR9580 and AR9590
35      - pci168c,0034  # AR9462
36      - pci168c,0036  # AR9565
37      - pci168c,0037  # AR1111 and AR9485
38
39  reg:
40    maxItems: 1
41
42  interrupts:
43    maxItems: 1
44
45  ieee80211-freq-limit: true
46
47  qca,no-eeprom:
48    $ref: /schemas/types.yaml#/definitions/flag
49    description:
50      Indicates that there is no physical EEPROM connected
51
52  nvmem-cells:
53    items:
54      - description: Reference to an nvmem node for the MAC address
55      - description: Reference to an nvmem node for calibration data
56
57  nvmem-cell-names:
58    items:
59      - const: mac-address
60      - const: calibration
61
62required:
63  - compatible
64  - reg
65
66additionalProperties: false
67
68examples:
69  - |
70    pcie0 {
71      #address-cells = <3>;
72      #size-cells = <2>;
73      wifi@0,0 {
74        compatible = "pci168c,002d";
75        reg = <0 0 0 0 0>;
76        interrupts = <3>;
77        qca,no-eeprom;
78      };
79    };
80  - |
81    pci0 {
82      #address-cells = <3>;
83      #size-cells = <2>;
84      wifi@0,11 {
85        compatible = "pci168c,0029";
86        reg = <0x8800 0 0 0 0>;
87        nvmem-cells = <&macaddr_art_c>, <&cal_art_1000>;
88        nvmem-cell-names = "mac-address", "calibration";
89      };
90    };
91