mac80211: read split-PHY topology when QCN9274 OTP is unset

Describe fixed split-PHY topology with an optional qcom,split-phy property
on the PCIe radio. Read it only for QCN9274 hw2.0 when the OTP board
identifier is zero or erased, before target capability discovery.

Valid OTP remains authoritative. Devices without the property and other
hardware revisions retain their existing behavior. Leave QMI capability
handling and WMI mode selection unchanged. Do not match router identities
inside ath12k.

Include the proposed binding and driver handling together; board selection
is separate. The binding is an RFC for maintainer review.

Source checks covered OTP field values, absent inputs, per-device isolation,
patch refresh and schema validation. LN6001 startup also exercised the
unset-OTP property path in the attended test.

Signed-off-by: Satoshi Ikeuchi <satosan.ikm@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/25595
Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
Satoshi Ikeuchi authored and Robert Marko committed 2026-10-16 13:58:50 +02:00
1 parent 1ec6af5155
commit d0222636e4
3 files changed
+106 -1

No files matched your search

+1 -1
View File
@@ -12,7 +12,7 @@ PKG_NAME:=mac80211
PKG_SOURCE_VERSION:=7.2
PKG_VERSION:=$(subst -,_,$(PKG_SOURCE_VERSION))
PKG_RELEASE:=7
PKG_RELEASE:=8
PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=COPYING
@@ -0,0 +1,43 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Satoshi Ikeuchi <satosan.ikm@gmail.com>
Date: Tue, 29 Sep 2026 00:00:00 +0000
Subject: [PATCH] wifi: ath12k: read split-PHY topology when OTP is unset
QCN9274 hw2.0 needs the single- or dual-MAC selection before target
capabilities can be queried. A zero or erased OTP board ID cannot describe
the topology, so the driver currently defaults to single MAC.
Use the radio's qcom,split-phy property for this otherwise ambiguous case.
This describes the individual device, without matching a machine name or
changing the default for other radios on the same system.
Keep valid OTP authoritative and retain the existing fallback for devices
without the property and for other hardware revisions. Leave later QMI
capability discovery and WMI mode selection unchanged.
Link: https://github.com/torvalds/linux/commit/af9bc78d14fbe77db6e7526efaced162060f27bc
Signed-off-by: Satoshi Ikeuchi <satosan.ikm@gmail.com>
---
--- a/drivers/net/wireless/ath/ath12k/mhi.c
+++ b/drivers/net/wireless/ath/ath12k/mhi.c
@@ -6,6 +6,7 @@
#include <linux/msi.h>
#include <linux/pci.h>
+#include <linux/property.h>
#include <linux/firmware.h>
#include "core.h"
@@ -209,8 +210,11 @@ int ath12k_mhi_register(struct ath12k_pc
board_id = u32_get_bits(board_id, OTP_BOARD_ID_MASK);
if (!board_id || (board_id == OTP_INVALID_BOARD_ID)) {
+ dualmac = ab->hw_rev == ATH12K_HW_QCN9274_HW20 &&
+ device_property_read_bool(ab->dev, "qcom,split-phy");
ath12k_dbg(ab, ATH12K_DBG_BOOT,
- "failed to read board id\n");
+ "invalid OTP, selecting %s-mac\n",
+ dualmac ? "dual" : "single");
} else if (board_id & OTP_VALID_DUALMAC_BOARD_ID_MASK) {
dualmac = true;
ath12k_dbg(ab, ATH12K_DBG_BOOT,
@@ -0,0 +1,62 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Satoshi Ikeuchi <satosan.ikm@gmail.com>
Date: Tue, 29 Sep 2026 00:00:00 +0000
Subject: [RFC PATCH] dt-bindings: net: wireless: ath12k: describe split-PHY
configuration
QCN9274 supports single-PHY and split-PHY configurations. Some fixed
split-PHY designs do not identify that configuration through the OTP
board identifier.
Describe the fixed configuration with an optional qcom,split-phy flag
on the radio node. Use the existing QCN9274 binding, whose WSI ports
are optional, without changing WCN7850 requirements or WSI connections.
This is a proposed binding for review.
Signed-off-by: Satoshi Ikeuchi <satosan.ikm@gmail.com>
---
.../bindings/net/wireless/qcom,ath12k-wsi.yaml | 28 +++++++++++++++++++++
1 file changed, 28 insertions(+)
--- a/Documentation/devicetree/bindings/net/wireless/qcom,ath12k-wsi.yaml
+++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath12k-wsi.yaml
@@ -52,6 +52,14 @@ properties:
reg:
maxItems: 1
+ qcom,split-phy:
+ type: boolean
+ description:
+ The device has a fixed split-PHY configuration with two independent
+ PHYs. This property describes the radio topology on designs where
+ the device's OTP board identifier does not identify that configuration.
+ Only applicable to QCN9274 hw2.0.
+
qcom,calibration-variant:
$ref: /schemas/types.yaml#/definitions/string
description:
@@ -201,3 +209,23 @@ examples:
};
};
};
+ - |
+ 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;
+
+ wifi@0 {
+ compatible = "pci17cb,1109";
+ reg = <0x0 0x0 0x0 0x0 0x0>;
+
+ qcom,split-phy;
+ };
+ };
+ };