Skip to contentSkip to conversation

dt-bindings: net: wireless: intel,iwlwifi: add binding

PATCH Superseded Avinash Bhatt 3 participants 7 messages Apr 29 – Apr 30

Subsystems (2)

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

cover dt-bindings: net: wireless: intel,iwlwifi: add binding

Add Device Tree binding schema for Intel discrete Wi-Fi 7 BE200 PCIe adapters. The binding documents optional OEM platform configuration properties for platforms using Device Tree instead of ACPI/UEFI firmware methods.

Link to RFC: https://patchwork.kernel.org/project/devicetree/patch/[email protected]/

Avinash Bhatt (1):
dt-bindings: net: wireless: intel,iwlwifi: add binding

 .../bindings/net/wireless/intel,iwlwifi.yaml  | 445 ++++++++++++++++++
 1 file changed, 445 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml
Signature · 1 line
2.34.1
#1 lore raw

PATCH 1/1 dt-bindings: net: wireless: intel,iwlwifi: add binding

Add a devicetree schema binding for Intel discrete Wi-Fi 7 BE200 PCIe adapters.

The binding documents OEM platform configuration properties for platforms that use Device Tree instead of platform firmware methods. All properties mirror the existing equivalents in structure and semantics, covering SAR power limits (intel,wrds), 6 GHz AP type support (intel,uats), static power limit (intel,splc), channel puncturing (intel,wcpe), 320 MHz per-MCC enablement (intel,wbem), ETSI SRD channel configuration (intel,srd), 6-7 GHz UHB country enable bitmask (intel,6e-uhb), and additional regulatory override properties.

---
 .../bindings/net/wireless/intel,iwlwifi.yaml  | 445 ++++++++++++++++++
 1 file changed, 445 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml
Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml new file +445 -0
new file mode 100644
index 000000000000..d97be6cc35d8
@@ -0,0 +1,445 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright (c) 2026 Intel Corporation
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/wireless/intel,iwlwifi.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Intel iwlwifi PCIe Wi-Fi devices
+
+maintainers:
+  - Avinash Bhatt <[email protected]>
+  - [email protected]
+
+description:
+  Intel iwlwifi IEEE 802.11be discrete Wi-Fi adapters connected over PCIe.
+  These bindings provide OEM platform configuration for platforms that use Device Tree.
+
+properties:
+  compatible:
+    enum:
+      - pci8086,272b
+
+  reg:
+    maxItems: 1
+
+  intel,wrds:
+    description: |
+      Wi-Fi Regulatory Domain Settings (WRDS). SAR (Specific Absorption Rate)
+      transmit power limits per antenna chain and frequency subband. Values
+      are 8-bit unsigned in units of 0.125 dBm.
+
+      Revision 3 layout: 4 chains x 12 subbands = 50 cells total.
+      Chain A and Chain B are the two physical antenna paths; CDB Chain A
+      and CDB Chain B carry separate limits for simultaneous dual-band
+      operation.
+
+      Header (2 cells):
+        [0] revision - structure revision, must be 0x03
+        [1] mode     - bit 0: 0 = SAR disabled, 1 = SAR enabled; bits [8:1]: set to 0
+
+      Followed by 4 chains in order: chain_a, chain_b, cdb_chain_a,
+      cdb_chain_b, each containing 12 subband values:
+
+      Subband index to frequency range mapping:
+        [0]  2.4 GHz  ch  1-13   (2412-2472 MHz)
+        [1]  5 GHz    ch 36-64   (5180-5320 MHz, UNII-1/2)
+        [2]  5 GHz    ch 68-96   (5340-5480 MHz, UNII-2)
+        [3]  5 GHz    ch 100-144 (5500-5720 MHz, UNII-2e)
+        [4]  5 GHz    ch 149-188 (5745-5940 MHz, UNII-3/4)
+        [5]  6 GHz    ch  1-45   (5955-6175 MHz, UNII-5 lower)
+        [6]  6 GHz    ch 49-93   (6195-6415 MHz, UNII-5 upper)
+        [7]  6 GHz    ch 97-115  (6435-6525 MHz, UNII-6)
+        [8]  6 GHz    ch 117-151 (6535-6705 MHz, UNII-7 lower)
+        [9]  6 GHz    ch 153-183 (6715-6865 MHz, UNII-7 upper)
+        [10] 6 GHz    ch 185-233 (6875-7115 MHz, UNII-8)
+        [11] 6 GHz    ch 237-253 (7135-7215 MHz, UNII-9)
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32-array
+      - minItems: 50
+        maxItems: 50
+        items:
+          - const: 3
+
+  intel,uats:
+    description: |
+      UHB (Ultra High Band / 6 GHz) AP Type Support (UATS). Per-country
+      enablement matrix for 6 GHz AP types. Uses byte array format
+      (DTS [ ... ] notation).
+
+      In the 6 GHz band, regulatory rules differ per country and per AP
+      type: AFC (Standard Power), LPI (Low Power Indoor), and VLP (Very
+      Low Power). This matrix encodes which AP types are permitted to
+      operate in each country.
+
+      Revision 1 layout (339 bytes total):
+        [0]   revision    - structure revision, must be 0x01
+        [1+]  country_map - 338-byte matrix encoding AP type allowances
+                            per country.
+
+                            Countries are identified by their ISO 3166-1
+                            alpha-2 code (two letters, A-Z each). The
+                            matrix covers all 26x26 = 676 possible
+                            two-letter combinations (AA..ZZ), most of
+                            which are unused (set to 0x0).
+
+                            Each country entry is 4 bits (a nibble). Two
+                            entries are packed per byte: the low nibble
+                            holds the even-indexed entry, the high nibble
+                            holds the odd-indexed entry. For example,
+                            byte value 0x53 means: entry[even]=0x3,
+                            entry[odd]=0x5.
+
+                            The matrix is stored column-major by first
+                            letter: all 26 second-letter variants for
+                            first letter 'A' occupy bytes [0..12], then
+                            first letter 'B' occupies bytes [13..25],
+                            and so on for all 26 first letters.
+                            26 columns x 13 bytes = 338 bytes total.
+
+                            Each 4-bit nibble encodes AP type allowances
+                            for one country:
+                              bit 0: AFC (Standard Power AP) allowed
+                              bit 1: VLP (Very Low Power AP) allowed
+                              bit 2: LPI (Low Power Indoor AP) allowed
+                              bit 3: reserved, must be 0
+
+                            Note: each bit is only effective when the
+                            corresponding control bit in intel,6e-uhb
+                            is also set (bit 30 for AFC, bit 29
+                            for VLP, bit 31 for LPI country-by-country
+                            mode).
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint8-array
+      - minItems: 339
+        maxItems: 339
+        items:
+          - const: 1
+
+  intel,srd:
+    description: |
+      ETSI 5.8 GHz SRD (Short Range Device) channel configuration.
+      Controls how the driver handles the 5725-5875 MHz (5.8 GHz) SRD
+      channels in ETSI regulatory domains.
+
+      Layout (2 cells):
+        [0] revision - structure revision, must be 0x00
+        [1] value    - channel configuration:
+                       0 = active scan permitted (default behaviour)
+                       1 = passive scan only; device may associate and
+                           transfer data but must not transmit probe
+                           requests on SRD channels
+                       2 = SRD channels fully disabled; the device must
+                           not scan, associate, or operate on any of the
+                           5725-5875 MHz SRD channels
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32-array
+      - minItems: 2
+        maxItems: 2
+        items:
+          - const: 0
+          - enum: [0, 1, 2]
+
+  intel,6e-uhb:
+    description: |
+      6-7 GHz Ultra-High Band (UHB) per-country enable bitmask.
+
+      Layout (2 cells):
+        [0] revision - structure revision, must be 0x00
+        [1] bitmap   - UHB enablement control:
+                       bit 0:     override control; 0 = use device defaults,
+                                  1 = force-disable all countries not
+                                  explicitly enabled in bits 1-25
+                       bits 1-25: per-country/region enable flags:
+                                  bit  1 = USA
+                                  bit  2 = Rest of World (ROW)
+                                  bit  3 = EU
+                                  bit  4 = South Korea
+                                  bit  5 = Brazil
+                                  bit  6 = Chile
+                                  bit  7 = Japan
+                                  bit  8 = Canada
+                                  bit  9 = Morocco
+                                  bit 10 = Mongolia
+                                  bit 11 = Malaysia
+                                  bit 12 = Saudi Arabia
+                                  bit 13 = Mexico
+                                  bit 14 = Nigeria
+                                  bit 15 = Thailand
+                                  bit 16 = Singapore
+                                  bit 17 = Taiwan
+                                  bit 18 = South Africa
+                                  bit 19 = Philippines
+                                  bit 20 = Serbia
+                                  bit 21 = Indonesia
+                                  bit 22 = Azerbaijan
+                                  bit 23 = Paraguay
+                                  bit 24 = Vietnam
+                                  bit 25 = India
+                       bit 26:    reserved, must be 0
+                       bit 27:    enable VLP active scan, SoftAP, and
+                                  P2P-GO operation in Japan
+                       bit 28:    reserved, must be 0
+                       bit 29:    enable VLP (Very Low Power) mode per
+                                  country-by-country table
+                       bit 30:    enable AFC (Standard Power) mode per
+                                  country-by-country table
+                       bit 31:    LPI override mode; 0 = use grouping
+                                  mechanism, 1 = use country-by-country table
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32-array
+      - minItems: 2
+        maxItems: 2
+        items:
+          - const: 0
+
+  intel,regulatory-special:
+    description: |
+      Regulatory Special Configurations.
+
+      Layout (2 cells):
+        [0] revision - structure revision, must be 0x00
+        [1] bitmap   - configuration flags:
+                       bits 0-3: reserved, must be 0
+                       bit 4 = Australia UHB extension
+                       bits 5-31: reserved, must be 0
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32-array
+      - minItems: 2
+        maxItems: 2
+        items:
+          - const: 0
+
+  intel,activate-channel:
+    description: |
+      Indoor channel activation bitmask. Sets specific frequency bands to
+      active (rather than passive or disabled) when the platform is
+      confirmed to be operating indoors.
+
+      Layout (2 cells):
+        [0] revision - structure revision, must be 0x00
+        [1] bitmap   - per-region indoor activation flags:
+                       bit 0 = enable EU U-NII-1 (5.2 GHz) for indoors only
+                       bit 1 = enable Japan U-NII-1 (5.2 GHz) for indoors only
+                       bit 2 = enable China Mainland U-NII-1 (5.2 GHz) for indoors only
+                       bit 3 = enable USA U-NII-4 (5.9 GHz) for indoors only
+                       bit 4 = enable WW U-NII-1 (5.2 GHz) for indoors in any
+                               country where the band is permitted
+                       bit 5 = enable Canada U-NII-4 (5.9 GHz) for indoors only
+                       bit 6 = enable USA + Canada + WW U-NII-4 (5.9 GHz) for
+                               indoors only
+                       bits 7-31: reserved, must be 0
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32-array
+      - minItems: 2
+        maxItems: 2
+        items:
+          - const: 0
+
+  intel,force-disable-channels:
+    description: |
+      Selective Wi-Fi band force-disable bitmask. Allows the platform to
+      permanently disable specific frequency bands regardless of regulatory
+      domain.
+
+      Layout (2 cells):
+        [0] revision - structure revision, must be 0x00
+        [1] bitmap   - per-band force-disable flags:
+                       bit 0  = force disable 2.4 GHz (channels 1-13)
+                       bit 1  = force disable 5.2 GHz (channels 36-48)
+                       bit 2  = force disable 5.3 GHz (channels 52-64)
+                       bit 3  = force disable 5.5 GHz (channels 100-144)
+                       bit 4  = force disable 5.8 GHz (channels 149-165)
+                       bit 5  = force disable 5.9 GHz (channels 169-177)
+                       bit 6  = force disable 6.2 GHz (channels 1-93)
+                       bit 7  = force disable 6.5 GHz (channels 97-113)
+                       bit 8  = force disable 6.6 GHz (channels 117-153)
+                       bit 9  = force disable 6.8 GHz (channels 157-185)
+                       bit 10 = force disable 7.0 GHz (channels 185-233)
+                       bits 11-31: reserved, must be 0
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32-array
+      - minItems: 2
+        maxItems: 2
+        items:
+          - const: 0
+
+  intel,11be:
+    description: |
+      802.11be (Wi-Fi 7) per-country enable bitmask. Controls whether
+      802.11be operation is permitted in specific countries.
+
+      Layout (2 cells):
+        [0] revision - structure revision, must be 0x00
+        [1] bitmap   - per-country enable flags:
+                       bit 0 = enable 802.11be in China (CB/CN)
+                       bit 1 = enable 802.11be in South Korea
+                       bits 2-31: reserved, must be 0
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32-array
+      - minItems: 2
+        maxItems: 2
+        items:
+          - const: 0
+
+  intel,splc:
+    description: |
+      Wi-Fi Static Power Limit Capabilities (SPLC). Sets the platform thermal
+      power limit for the Wi-Fi core in mW. Omit this property entirely if
+      no platform power limit applies; the device will use its certified
+      maximum in that case.
+
+      Layout (2 cells):
+        [0] revision    - structure revision, must be 0x00
+        [1] power_limit - maximum platform power budget in mW, must be
+                          non-zero (a zero value is equivalent to omitting
+                          the property)
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32-array
+      - minItems: 2
+        maxItems: 2
+        items:
+          - const: 0
+          - minimum: 1
+
+  intel,wcpe:
+    description: |
+      Wi-Fi Channel Puncturing Enablement (WCPE). Enables 802.11be channel
+      puncturing for specific regulatory domains.
+
+      Layout (2 cells):
+        [0] revision   - structure revision, must be 0x00
+        [1] puncturing - per-country enable bitmask:
+                         bit 0: 1 = channel puncturing enabled for USA
+                         bit 1: 1 = channel puncturing enabled for Canada
+                         bits 2-31: reserved, must be 0
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32-array
+      - minItems: 2
+        maxItems: 2
+        items:
+          - const: 0
+
+  intel,wbem:
+    description: |
+      Wi-Fi 320 MHz Bandwidth Enablement per MCC (WBEM). Controls whether
+      320 MHz operation is permitted in specific countries.
+
+      Layout (2 cells):
+        [0] revision       - structure revision, must be 0x00
+        [1] wifi320mhz_mcc - per-country enable bitmask:
+                             bit 0: 1 = 320 MHz enabled for Japan
+                             bit 1: 1 = 320 MHz enabled for South Korea
+                             bits 2-31: reserved, must be 0
+
+                             Each bit takes effect only if the installed
+                             module is certified for 320 MHz in that country.
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32-array
+      - minItems: 2
+        maxItems: 2
+        items:
+          - const: 0
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    /* ARM64 platform with Intel Wi-Fi 7 BE200 as discrete PCIe device */
+    pcie {
+        #address-cells = <3>;
+        #size-cells = <2>;
+
+        pcie@0 {
+            device_type = "pci";
+            reg = <0x0 0x0 0x0 0x0 0x0>;
+            #address-cells = <3>;
+            #size-cells = <2>;
+            ranges;
+            bus-range = <0x01 0xff>;
+
+            wifi@0 {
+                compatible = "pci8086,272b";
+                reg = <0x10000 0x0 0x0 0x0 0x0>;
+
+                /*
+                 * Wi-Fi Regulatory Domain Settings (SAR power limits).
+                 * Revision 3: 4 chains x 12 subbands = 50 cells total.
+                 * Layout: revision, mode, then 4 x chain[12].
+                 */
+                intel,wrds = <
+                    0x03 0x01
+                    /* Chain A: 12 subbands */
+                    0x38 0x38 0x38 0x38 0x38 0x38 0x38 0x38 0x38 0x38 0x38 0x38
+                    /* Chain B: 12 subbands */
+                    0x38 0x38 0x38 0x38 0x38 0x38 0x38 0x38 0x38 0x38 0x38 0x38
+                    /* CDB Chain A: 12 subbands */
+                    0x3c 0x3c 0x3c 0x3c 0x3c 0x3c 0x3c 0x3c 0x3c 0x3c 0x3c 0x3c
+                    /* CDB Chain B: 12 subbands */
+                    0x3c 0x3c 0x3c 0x3c 0x3c 0x3c 0x3c 0x3c 0x3c 0x3c 0x3c 0x3c
+                >;
+
+                /*
+                 * Static Power Limit: 4500 mW cap on this platform.
+                 * 2 u32 cells: revision, power_limit_mw.
+                 */
+                intel,splc = <0x00 0x1194>;
+
+                /*
+                 * Channel Puncturing: enabled for USA and Canada.
+                 * 2 u32 cells: revision, puncturing bitmask (bits 0+1).
+                 */
+                intel,wcpe = <0x00 0x03>;
+
+                /*
+                 * 320 MHz per MCC: Japan and South Korea enabled.
+                 * 2 u32 cells: revision, wifi320mhz_mcc.
+                 */
+                intel,wbem = <0x00 0x03>;
+
+                /* OEM regulatory configuration properties. */
+                intel,srd = <0x00 1>;            /* revision=0, passive scan only */
+                intel,activate-channel = <0x00 0x01>; /* revision=0, EU 5.2 GHz indoors */
+                intel,force-disable-channels = <0x00 0x00>; /* revision=0, no bands disabled */
+                intel,6e-uhb = <0x00 0x06>;      /* revision=0, USA (bit1) + Rest-of-World (bit2) */
+
+                /*
+                 * UHB AP Type Support (6 GHz country matrix).
+                 * Byte array: revision (0x01), then
+                 * 338 bytes of the 26x13 country enable map (all zeros
+                 * in this example = no countries enabled).
+                 */
+                intel,uats = [01
+                    00 00 00 00 00 00 00 00 00 00 00 00 00
+                    00 00 00 00 00 00 00 00 00 00 00 00 00
+                    00 00 00 00 00 00 00 00 00 00 00 00 00
+                    00 00 00 00 00 00 00 00 00 00 00 00 00
+                    00 00 00 00 00 00 00 00 00 00 00 00 00
+                    00 00 00 00 00 00 00 00 00 00 00 00 00
+                    00 00 00 00 00 00 00 00 00 00 00 00 00
+                    00 00 00 00 00 00 00 00 00 00 00 00 00
+                    00 00 00 00 00 00 00 00 00 00 00 00 00
+                    00 00 00 00 00 00 00 00 00 00 00 00 00
+                    00 00 00 00 00 00 00 00 00 00 00 00 00
+                    00 00 00 00 00 00 00 00 00 00 00 00 00
+                    00 00 00 00 00 00 00 00 00 00 00 00 00
+                    00 00 00 00 00 00 00 00 00 00 00 00 00
+                    00 00 00 00 00 00 00 00 00 00 00 00 00
+                    00 00 00 00 00 00 00 00 00 00 00 00 00
+                    00 00 00 00 00 00 00 00 00 00 00 00 00
+                    00 00 00 00 00 00 00 00 00 00 00 00 00
+                    00 00 00 00 00 00 00 00 00 00 00 00 00
+                    00 00 00 00 00 00 00 00 00 00 00 00 00
+                    00 00 00 00 00 00 00 00 00 00 00 00 00
+                    00 00 00 00 00 00 00 00 00 00 00 00 00
+                    00 00 00 00 00 00 00 00 00 00 00 00 00
+                    00 00 00 00 00 00 00 00 00 00 00 00 00
+                    00 00 00 00 00 00 00 00 00 00 00 00 00
+                    00 00 00 00 00 00 00 00 00 00 00 00 00];
+            };
+        };
+    };
Signature · 1 line
2.34.1
#2 lore raw
Quoted 2 lines · Avinash Bhatt

Add a devicetree schema binding for Intel discrete Wi-Fi 7 BE200 PCIe adapters.

Why? Where is any user of that?

Quoted 25 lines

The binding documents OEM platform configuration properties for platforms that use Device Tree instead of platform firmware methods. All properties mirror the existing equivalents in structure and semantics, covering SAR power limits (intel,wrds), 6 GHz AP type support (intel,uats), static power limit (intel,splc), channel puncturing (intel,wcpe), 320 MHz per-MCC enablement (intel,wbem), ETSI SRD channel configuration (intel,srd), 6-7 GHz UHB country enable bitmask (intel,6e-uhb), and additional regulatory override properties.

---
 .../bindings/net/wireless/intel,iwlwifi.yaml  | 445 ++++++++++++++++++
 1 file changed, 445 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml
Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml new file +2 -0
new file mode 100644
index 000000000000..d97be6cc35d8
@@ -0,0 +1,445 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright (c) 2026 Intel Corporation

Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml line 12

Quoted 10 lines
Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml new file +10 -0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/wireless/intel,iwlwifi.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Intel iwlwifi PCIe Wi-Fi devices
+
+maintainers:
+  - Avinash Bhatt <[email protected]>
+  - [email protected]

Drop this one.

Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml line 15

Quoted 3 lines
Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml new file +3 -0
+
+description:
+  Intel iwlwifi IEEE 802.11be discrete Wi-Fi adapters connected over PCIe.

Please wrap code according to the preferred limit expressed in Kernel coding style (checkpatch is not a coding style description, but only a tool). However don't wrap blindly (see Kernel coding style).

Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml line 16

Quoted 1 line
Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml new file +1 -0
+  These bindings provide OEM platform configuration for platforms that use Device Tree.

Drop. Describe hardware.

Quoted 6 lines
Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml new file +6 -0
+
+properties:
+  compatible:
+    enum:
+      - pci8086,272b
+

...

Quoted 18 lines
Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml new file +18 -0
+
+  intel,activate-channel:
+    description: |
+      Indoor channel activation bitmask. Sets specific frequency bands to
+      active (rather than passive or disabled) when the platform is
+      confirmed to be operating indoors.
+
+      Layout (2 cells):
+        [0] revision - structure revision, must be 0x00
+        [1] bitmap   - per-region indoor activation flags:
+                       bit 0 = enable EU U-NII-1 (5.2 GHz) for indoors only
+                       bit 1 = enable Japan U-NII-1 (5.2 GHz) for indoors only
+                       bit 2 = enable China Mainland U-NII-1 (5.2 GHz) for indoors only
+                       bit 3 = enable USA U-NII-4 (5.9 GHz) for indoors only
+                       bit 4 = enable WW U-NII-1 (5.2 GHz) for indoors in any
+                               country where the band is permitted
+                       bit 5 = enable Canada U-NII-4 (5.9 GHz) for indoors only
+                       bit 6 = enable USA + Canada + WW U-NII-4 (5.9 GHz) for

Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml line 239

Quoted 10 lines
Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml new file +10 -0
+                               indoors only
+                       bits 7-31: reserved, must be 0
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32-array
+      - minItems: 2
+        maxItems: 2
+        items:
+          - const: 0
+
+  intel,force-disable-channels:

I don't see how this is a DT property. Actually most of the properties do not look either. Do you want to say, that if I go with my device from EU to US on a business trip, I will need to recompile DTB? Obviously no...

Best regards,
Krzysztof

#3 lore raw

Hi Krzysztof,

Thank you for the review. Responses inline.

Quoted 5 lines · Krzysztof Kozlowski
Quoted 2 lines · Avinash Bhatt

Add a devicetree schema binding for Intel discrete Wi-Fi 7 BE200 PCIe adapters.

Why? Where is any user of that?

The driver implementation consuming these properties exists and will be submitted as a companion series together with v2 of this binding.

Quoted 3 lines
Quoted 1 line

+ - [email protected]

Drop this one.

Ack. Will address in PATCH v2.

Quoted 6 lines

Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml line 15

Quoted 2 lines
Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml new file +2 -0
+description:
+  Intel iwlwifi IEEE 802.11be discrete Wi-Fi adapters connected over PCIe.

Please wrap code according to the preferred limit expressed in Kernel coding style (checkpatch is not a coding style description, but only a tool). However don't wrap blindly (see Kernel coding style).

Ack. Will address in PATCH v2.

Quoted 4 lines

Review

Quoted 2 lines
(quoted diff) +2 -0
+  These bindings provide OEM platform configuration for platforms that
+  use Device Tree.

Drop. Describe hardware.

Ack. Will address in PATCH v2.

Quoted 8 lines

Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml line 239

Quoted 3 lines
Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml new file +2 -0
+  intel,activate-channel:
...
+  intel,force-disable-channels:

I don't see how this is a DT property. Actually most of the properties do not look either. Do you want to say, that if I go with my device from EU to US on a business trip, I will need to recompile DTB? Obviously no...

These properties describe how the WiFi NIC was integrated into the system by the OEM — specifically, which regulatory certifications were obtained for this hardware SKU at manufacturing time. That is a fixed hardware property of the board, no different from describing antenna configuration or RF front-end capabilities.

To clarify the travel analogy: the regulatory domain (which country the device is currently operating in) is determined at runtime by the kernel regulatory subsystem, independently of these properties. What these properties encode is what the hardware itself has been certified for. For example, bit 0 of intel,activate-channel means "the OEM of this board obtained EU indoor channel certification for this SKU." That certification does not change when the device travels — it is a property of the hardware, not of its location.

The per-country granularity exists because regulatory certifications are issued independently by each country's agency (FCC for the USA, ISED for Canada, etc.), so each country's enablement is a separate OEM decision reflected in the board design.

Best regards,
Avinash

-----Original Message-----
From: Krzysztof Kozlowski <[email protected]>
Sent: 29 April 2026 13:49
To: Bhatt, Avinash <[email protected]>; [email protected]
Cc: [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; Korenblit, Miriam Rachel <[email protected]>; Guetta, Kobi <[email protected]>; Grumbach, Emmanuel <[email protected]>
Subject: Re: [PATCH 1/1] dt-bindings: net: wireless: intel,iwlwifi: add binding

Quoted 2 lines · Avinash Bhatt

Add a devicetree schema binding for Intel discrete Wi-Fi 7 BE200 PCIe adapters.

Why? Where is any user of that?

Quoted 29 lines

The binding documents OEM platform configuration properties for platforms that use Device Tree instead of platform firmware methods. All properties mirror the existing equivalents in structure and semantics, covering SAR power limits (intel,wrds),
6 GHz AP type support (intel,uats), static power limit (intel,splc), channel puncturing (intel,wcpe), 320 MHz per-MCC enablement (intel,wbem), ETSI SRD channel configuration (intel,srd), 6-7 GHz UHB country enable bitmask (intel,6e-uhb), and additional regulatory override properties.

---
 .../bindings/net/wireless/intel,iwlwifi.yaml  | 445 
++++++++++++++++++
 1 file changed, 445 insertions(+)
 create mode 100644 

Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml

(quoted diff) +0 -0

a/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml b/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml new file mode 100644
index 000000000000..d97be6cc35d8

Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yam new file +2 -0
+++ l
@@ -0,0 +1,445 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) # Copyright 

Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yam line 11

Quoted 10 lines
Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yam new file +10 -0
+(c) 2026 Intel Corporation %YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/wireless/intel,iwlwifi.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Intel iwlwifi PCIe Wi-Fi devices
+
+maintainers:
+  - Avinash Bhatt <[email protected]>
+  - [email protected]

Drop this one.

Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yam line 14

Quoted 3 lines
Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yam new file +3 -0
+
+description:
+  Intel iwlwifi IEEE 802.11be discrete Wi-Fi adapters connected over PCIe.

Please wrap code according to the preferred limit expressed in Kernel coding style (checkpatch is not a coding style description, but only a tool). However don't wrap blindly (see Kernel coding style).

Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yam line 15

Quoted 1 line
Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yam new file +1 -0
+  These bindings provide OEM platform configuration for platforms that use Device Tree.

Drop. Describe hardware.

Quoted 6 lines
Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yam new file +6 -0
+
+properties:
+  compatible:
+    enum:
+      - pci8086,272b
+

...

Quoted 18 lines
Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yam new file +18 -0
+
+  intel,activate-channel:
+    description: |
+      Indoor channel activation bitmask. Sets specific frequency bands to
+      active (rather than passive or disabled) when the platform is
+      confirmed to be operating indoors.
+
+      Layout (2 cells):
+        [0] revision - structure revision, must be 0x00
+        [1] bitmap   - per-region indoor activation flags:
+                       bit 0 = enable EU U-NII-1 (5.2 GHz) for indoors only
+                       bit 1 = enable Japan U-NII-1 (5.2 GHz) for indoors only
+                       bit 2 = enable China Mainland U-NII-1 (5.2 GHz) for indoors only
+                       bit 3 = enable USA U-NII-4 (5.9 GHz) for indoors only
+                       bit 4 = enable WW U-NII-1 (5.2 GHz) for indoors in any
+                               country where the band is permitted
+                       bit 5 = enable Canada U-NII-4 (5.9 GHz) for indoors only
+                       bit 6 = enable USA + Canada + WW U-NII-4 (5.9 GHz) for

Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yam

Quoted 10 lines
Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yam new file +10 -0
+                               indoors only
+                       bits 7-31: reserved, must be 0
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32-array
+      - minItems: 2
+        maxItems: 2
+        items:
+          - const: 0
+
+  intel,force-disable-channels:

I don't see how this is a DT property. Actually most of the properties do not look either. Do you want to say, that if I go with my device from EU to US on a business trip, I will need to recompile DTB? Obviously no...

Best regards,
Krzysztof

#4 lore raw
In reply to Avinash Bhatt
Quoted 13 lines · Avinash Bhatt

Add a devicetree schema binding for Intel discrete Wi-Fi 7 BE200 PCIe adapters.

The binding documents OEM platform configuration properties for platforms that use Device Tree instead of platform firmware methods. All properties mirror the existing equivalents in structure and semantics, covering SAR power limits (intel,wrds), 6 GHz AP type support (intel,uats), static power limit (intel,splc), channel puncturing (intel,wcpe), 320 MHz per-MCC enablement (intel,wbem), ETSI SRD channel configuration (intel,srd), 6-7 GHz UHB country enable bitmask (intel,6e-uhb), and additional regulatory override properties.

Quoted 6 lines
---
 .../bindings/net/wireless/intel,iwlwifi.yaml  | 445 ++++++++++++++++++
 1 file changed, 445 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,splc:allOf:1: {'minItems': 2, 'maxItems': 2, 'items': [{'const': 0}, {'minimum': 1}]} should not be valid under {'required': ['maxItems']}
hint: "maxItems" is not needed with an "items" list
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,splc:allOf:1: 'oneOf' conditional failed, one must be fixed:
False schema does not allow 2
[{'const': 0}, {'minimum': 1}] is too long
[{'const': 0}, {'minimum': 1}] is too short
1 was expected
hint: "minItems" is only needed if less than the "items" list length
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,splc:allOf:1: {'minItems': 2, 'maxItems': 2, 'items': [{'const': 0}, {'minimum': 1}]} should not be valid under {'required': ['maxItems']}
hint: "maxItems" is not needed with an "items" list
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,splc:allOf:1: 'oneOf' conditional failed, one must be fixed:
False schema does not allow 2
[{'const': 0}, {'minimum': 1}] is too long
[{'const': 0}, {'minimum': 1}] is too short
1 was expected
hint: "minItems" is only needed if less than the "items" list length
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,wcpe:allOf:1: {'minItems': 2, 'maxItems': 2, 'items': [{'const': 0}]} should not be valid under {'required': ['maxItems']}
hint: "maxItems" is not needed with an "items" list
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,wcpe:allOf:1: 'oneOf' conditional failed, one must be fixed:
False schema does not allow 2
[{'const': 0}] is too short
1 was expected
hint: "minItems" is only needed if less than the "items" list length
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,wcpe:allOf:1: {'minItems': 2, 'maxItems': 2, 'items': [{'const': 0}]} should not be valid under {'required': ['maxItems']}
hint: "maxItems" is not needed with an "items" list
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,wcpe:allOf:1: 'oneOf' conditional failed, one must be fixed:
False schema does not allow 2
[{'const': 0}] is too short
1 was expected
hint: "minItems" is only needed if less than the "items" list length
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,6e-uhb:allOf:1: {'minItems': 2, 'maxItems': 2, 'items': [{'const': 0}]} should not be valid under {'required': ['maxItems']}
hint: "maxItems" is not needed with an "items" list
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,6e-uhb:allOf:1: 'oneOf' conditional failed, one must be fixed:
False schema does not allow 2
[{'const': 0}] is too short
1 was expected
hint: "minItems" is only needed if less than the "items" list length
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,6e-uhb:allOf:1: {'minItems': 2, 'maxItems': 2, 'items': [{'const': 0}]} should not be valid under {'required': ['maxItems']}
hint: "maxItems" is not needed with an "items" list
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,6e-uhb:allOf:1: 'oneOf' conditional failed, one must be fixed:
False schema does not allow 2
[{'const': 0}] is too short
1 was expected
hint: "minItems" is only needed if less than the "items" list length
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,regulatory-special:allOf:1: {'minItems': 2, 'maxItems': 2, 'items': [{'const': 0}]} should not be valid under {'required': ['maxItems']}
hint: "maxItems" is not needed with an "items" list
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,regulatory-special:allOf:1: 'oneOf' conditional failed, one must be fixed:
False schema does not allow 2
[{'const': 0}] is too short
1 was expected
hint: "minItems" is only needed if less than the "items" list length
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,regulatory-special:allOf:1: {'minItems': 2, 'maxItems': 2, 'items': [{'const': 0}]} should not be valid under {'required': ['maxItems']}
hint: "maxItems" is not needed with an "items" list
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,regulatory-special:allOf:1: 'oneOf' conditional failed, one must be fixed:
False schema does not allow 2
[{'const': 0}] is too short
1 was expected
hint: "minItems" is only needed if less than the "items" list length
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,uats:allOf:1: {'minItems': 339, 'maxItems': 339, 'items': [{'const': 1}]} should not be valid under {'required': ['maxItems']}
hint: "maxItems" is not needed with an "items" list
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,uats:allOf:1: 'oneOf' conditional failed, one must be fixed:
False schema does not allow 339
[{'const': 1}] is too short
1 was expected
339 is greater than the maximum of 2
339 is greater than the maximum of 3
339 is greater than the maximum of 4
339 is greater than the maximum of 5
339 is greater than the maximum of 6
339 is greater than the maximum of 7
339 is greater than the maximum of 8
339 is greater than the maximum of 9
339 is greater than the maximum of 10
339 is greater than the maximum of 11
hint: "minItems" is only needed if less than the "items" list length
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,uats:allOf:1: {'minItems': 339, 'maxItems': 339, 'items': [{'const': 1}]} should not be valid under {'required': ['maxItems']}
hint: "maxItems" is not needed with an "items" list
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,uats:allOf:1: 'oneOf' conditional failed, one must be fixed:
False schema does not allow 339
[{'const': 1}] is too short
1 was expected
339 is greater than the maximum of 2
339 is greater than the maximum of 3
339 is greater than the maximum of 4
339 is greater than the maximum of 5
339 is greater than the maximum of 6
339 is greater than the maximum of 7
339 is greater than the maximum of 8
339 is greater than the maximum of 9
339 is greater than the maximum of 10
339 is greater than the maximum of 11
hint: "minItems" is only needed if less than the "items" list length
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,force-disable-channels:allOf:1: {'minItems': 2, 'maxItems': 2, 'items': [{'const': 0}]} should not be valid under {'required': ['maxItems']}
hint: "maxItems" is not needed with an "items" list
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,force-disable-channels:allOf:1: 'oneOf' conditional failed, one must be fixed:
False schema does not allow 2
[{'const': 0}] is too short
1 was expected
hint: "minItems" is only needed if less than the "items" list length
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,force-disable-channels:allOf:1: {'minItems': 2, 'maxItems': 2, 'items': [{'const': 0}]} should not be valid under {'required': ['maxItems']}
hint: "maxItems" is not needed with an "items" list
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,force-disable-channels:allOf:1: 'oneOf' conditional failed, one must be fixed:
False schema does not allow 2
[{'const': 0}] is too short
1 was expected
hint: "minItems" is only needed if less than the "items" list length
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,wrds:allOf:1: {'minItems': 50, 'maxItems': 50, 'items': [{'const': 3}]} should not be valid under {'required': ['maxItems']}
hint: "maxItems" is not needed with an "items" list
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,wrds:allOf:1: 'oneOf' conditional failed, one must be fixed:
False schema does not allow 50
[{'const': 3}] is too short
1 was expected
50 is greater than the maximum of 2
50 is greater than the maximum of 3
50 is greater than the maximum of 4
50 is greater than the maximum of 5
50 is greater than the maximum of 6
50 is greater than the maximum of 7
50 is greater than the maximum of 8
50 is greater than the maximum of 9
50 is greater than the maximum of 10
50 is greater than the maximum of 11
hint: "minItems" is only needed if less than the "items" list length
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,wrds:allOf:1: {'minItems': 50, 'maxItems': 50, 'items': [{'const': 3}]} should not be valid under {'required': ['maxItems']}
hint: "maxItems" is not needed with an "items" list
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,wrds:allOf:1: 'oneOf' conditional failed, one must be fixed:
False schema does not allow 50
[{'const': 3}] is too short
1 was expected
50 is greater than the maximum of 2
50 is greater than the maximum of 3
50 is greater than the maximum of 4
50 is greater than the maximum of 5
50 is greater than the maximum of 6
50 is greater than the maximum of 7
50 is greater than the maximum of 8
50 is greater than the maximum of 9
50 is greater than the maximum of 10
50 is greater than the maximum of 11
hint: "minItems" is only needed if less than the "items" list length
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,activate-channel:allOf:1: {'minItems': 2, 'maxItems': 2, 'items': [{'const': 0}]} should not be valid under {'required': ['maxItems']}
hint: "maxItems" is not needed with an "items" list
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,activate-channel:allOf:1: 'oneOf' conditional failed, one must be fixed:
False schema does not allow 2
[{'const': 0}] is too short
1 was expected
hint: "minItems" is only needed if less than the "items" list length
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,activate-channel:allOf:1: {'minItems': 2, 'maxItems': 2, 'items': [{'const': 0}]} should not be valid under {'required': ['maxItems']}
hint: "maxItems" is not needed with an "items" list
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,activate-channel:allOf:1: 'oneOf' conditional failed, one must be fixed:
False schema does not allow 2
[{'const': 0}] is too short
1 was expected
hint: "minItems" is only needed if less than the "items" list length
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,wbem:allOf:1: {'minItems': 2, 'maxItems': 2, 'items': [{'const': 0}]} should not be valid under {'required': ['maxItems']}
hint: "maxItems" is not needed with an "items" list
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,wbem:allOf:1: 'oneOf' conditional failed, one must be fixed:
False schema does not allow 2
[{'const': 0}] is too short
1 was expected
hint: "minItems" is only needed if less than the "items" list length
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,wbem:allOf:1: {'minItems': 2, 'maxItems': 2, 'items': [{'const': 0}]} should not be valid under {'required': ['maxItems']}
hint: "maxItems" is not needed with an "items" list
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,wbem:allOf:1: 'oneOf' conditional failed, one must be fixed:
False schema does not allow 2
[{'const': 0}] is too short
1 was expected
hint: "minItems" is only needed if less than the "items" list length
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,srd:allOf:1: {'minItems': 2, 'maxItems': 2, 'items': [{'const': 0}, {'enum': [0, 1, 2]}]} should not be valid under {'required': ['maxItems']}
hint: "maxItems" is not needed with an "items" list
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,srd:allOf:1: 'oneOf' conditional failed, one must be fixed:
False schema does not allow 2
[{'const': 0}, {'enum': [0, 1, 2]}] is too long
[{'const': 0}, {'enum': [0, 1, 2]}] is too short
1 was expected
hint: "minItems" is only needed if less than the "items" list length
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,srd:allOf:1: {'minItems': 2, 'maxItems': 2, 'items': [{'const': 0}, {'enum': [0, 1, 2]}]} should not be valid under {'required': ['maxItems']}
hint: "maxItems" is not needed with an "items" list
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,srd:allOf:1: 'oneOf' conditional failed, one must be fixed:
False schema does not allow 2
[{'const': 0}, {'enum': [0, 1, 2]}] is too long
[{'const': 0}, {'enum': [0, 1, 2]}] is too short
1 was expected
hint: "minItems" is only needed if less than the "items" list length
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,11be:allOf:1: {'minItems': 2, 'maxItems': 2, 'items': [{'const': 0}]} should not be valid under {'required': ['maxItems']}
hint: "maxItems" is not needed with an "items" list
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,11be:allOf:1: 'oneOf' conditional failed, one must be fixed:
False schema does not allow 2
[{'const': 0}] is too short
1 was expected
hint: "minItems" is only needed if less than the "items" list length
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,11be:allOf:1: {'minItems': 2, 'maxItems': 2, 'items': [{'const': 0}]} should not be valid under {'required': ['maxItems']}
hint: "maxItems" is not needed with an "items" list
from schema $id: http://devicetree.org/meta-schemas/items.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/wireless/intel,iwlwifi.yaml: properties:intel,11be:allOf:1: 'oneOf' conditional failed, one must be fixed:
False schema does not allow 2
[{'const': 0}] is too short
1 was expected
hint: "minItems" is only needed if less than the "items" list length
from schema $id: http://devicetree.org/meta-schemas/items.yaml

doc reference errors (make refcheckdocs):

See https://patchwork.kernel.org/project/devicetree/patch/[email protected]

The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.

#5 lore raw
In reply to Avinash Bhatt
Quoted 6 lines · Avinash Bhatt

Add Device Tree binding schema for Intel discrete Wi-Fi 7 BE200 PCIe adapters. The binding documents optional OEM platform configuration properties for platforms using Device Tree instead of ACPI/UEFI firmware methods.

Link to RFC: https://patchwork.kernel.org/project/devicetree/patch/[email protected]/

So that's a v2. Please version your patches correctly.

Also, I don't understand how could you claim that RFC passes tests but this obviously was not tested.

Best regards,
Krzysztof

#6 lore raw

Hi Krzysztof,

Apologies for both issues.

Quoted 6 lines · Krzysztof Kozlowski
Quoted 3 lines · Avinash Bhatt

Link to RFC:
https://patchwork.kernel.org/project/devicetree/patch/20260408055709.1
[email protected]/

So that's a v2. Please version your patches correctly.

Acknowledged. RFC counts as v1 so the next revision should have been [PATCH v2] — missed that convention. The next submission will be sent as [PATCH v2] as it should be.

Quoted 2 lines

Also, I don't understand how could you claim that RFC passes tests but this obviously was not tested.

I validated locally with dtschema 2025.12; the CI bot uses 2026.4 which added stricter enforcement of the items/minItems rule. We have upgraded to 2026.4, fixed all errors, and all checks now pass clean. Will send [PATCH v2] shortly.

Best regards,
Avinash

-----Original Message-----
From: Krzysztof Kozlowski <[email protected]>
Sent: 30 April 2026 13:21
To: Bhatt, Avinash <[email protected]>; [email protected]
Cc: [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; Korenblit, Miriam Rachel <[email protected]>; Guetta, Kobi <[email protected]>; Grumbach, Emmanuel <[email protected]>
Subject: Re: [PATCH 0/1] dt-bindings: net: wireless: intel,iwlwifi: add binding

Quoted 8 lines · Avinash Bhatt

Add Device Tree binding schema for Intel discrete Wi-Fi 7 BE200 PCIe adapters. The binding documents optional OEM platform configuration properties for platforms using Device Tree instead of ACPI/UEFI firmware methods.

Link to RFC:
https://patchwork.kernel.org/project/devicetree/patch/20260408055709.1
[email protected]/

So that's a v2. Please version your patches correctly.

Also, I don't understand how could you claim that RFC passes tests but this obviously was not tested.

Best regards,
Krzysztof