diff mbox series

[34/38] ra6w: add testmode.h

Message ID 20250417135236.52410-35-oleksandr.savchenko.dn@bp.renesas.com
State New
Headers show
Series wireless: ra6w driver for Renesas IEEE 802.11ax devices | expand

Commit Message

Alexander Savchenko April 17, 2025, 1:52 p.m. UTC
Part of the split. Please, take a look at the cover letter for more details

Reviewed-by: Viktor Barna <viktor.barna.rj@bp.renesas.com>
Reviewed-by: Gal Gur <gal.gur.jx@renesas.com>
Signed-off-by: Alexander Savchenko <oleksandr.savchenko.dn@bp.renesas.com>
---
 drivers/net/wireless/renesas/ra6w/testmode.h | 150 +++++++++++++++++++
 1 file changed, 150 insertions(+)
 create mode 100644 drivers/net/wireless/renesas/ra6w/testmode.h
diff mbox series

Patch

diff --git a/drivers/net/wireless/renesas/ra6w/testmode.h b/drivers/net/wireless/renesas/ra6w/testmode.h
new file mode 100644
index 000000000000..eb4907137761
--- /dev/null
+++ b/drivers/net/wireless/renesas/ra6w/testmode.h
@@ -0,0 +1,150 @@ 
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Copyright (C) [2022-2025] Renesas Electronics Corporation and/or its affiliates.
+ */
+#ifndef RA6W_TESTMODE_H
+#define RA6W_TESTMODE_H
+
+#ifdef CONFIG_NL80211_TESTMODE
+
+enum ra6w_testmode_cmd {
+	RA6W_TESTMODE_CMD_READ_REG = 1,
+	RA6W_TESTMODE_CMD_WRITE_REG,
+	RA6W_TESTMODE_CMD_LOGMODEFILTER_SET,
+	RA6W_TESTMODE_CMD_DBGLEVELFILTER_SET,
+	RA6W_TESTMODE_CMD_TX,
+	RA6W_TESTMODE_CMD_CW,
+	RA6W_TESTMODE_CMD_CONT,
+	RA6W_TESTMODE_CMD_CHANNEL,
+	RA6W_TESTMODE_CMD_PER,
+	RA6W_TESTMODE_CMD_RESET_HW,
+	RA6W_TESTMODE_CMD_HOST_LOG_LEVEL,
+	RA6W_TESTMODE_CMD_DBGOUTDIR_SET,
+	RA6W_TESTMODE_CMD_TX_POWER,
+	RA6W_TESTMODE_CMD_STATS_START,
+	RA6W_TESTMODE_CMD_STATS_STOP,
+	RA6W_TESTMODE_CMD_STATS_TX,
+	RA6W_TESTMODE_CMD_STATS_RX,
+	RA6W_TESTMODE_CMD_STATS_RSSI,
+	RA6W_TESTMODE_CMD_MAX,
+};
+
+enum ra6w_testmode_attr {
+	RA6W_TESTMODE_ATTR_NOT_APPLICABLE = 0,
+	RA6W_TESTMODE_ATTR_CMD,
+	RA6W_TESTMODE_ATTR_REG_OFFSET,
+	RA6W_TESTMODE_ATTR_REG_VALUE32,
+	RA6W_TESTMODE_ATTR_REG_FILTER,
+	RA6W_TESTMODE_ATTR_START,
+	RA6W_TESTMODE_ATTR_CH,
+	RA6W_TESTMODE_ATTR_FRAMES_NUM,
+	RA6W_TESTMODE_ATTR_FRAMES_LEN,
+	RA6W_TESTMODE_ATTR_RATE,
+	RA6W_TESTMODE_ATTR_POWER,
+	RA6W_TESTMODE_ATTR_ADDR_DEST,
+	RA6W_TESTMODE_ATTR_BSSID,
+	RA6W_TESTMODE_ATTR_GI,
+	RA6W_TESTMODE_ATTR_GREEN,
+	RA6W_TESTMODE_ATTR_PREAMBLE,
+	RA6W_TESTMODE_ATTR_QOS,
+	RA6W_TESTMODE_ATTR_ACK,
+	RA6W_TESTMODE_ATTR_AIFSN,
+	RA6W_TESTMODE_ATTR_PER_PASS,
+	RA6W_TESTMODE_ATTR_PER_FCS,
+	RA6W_TESTMODE_ATTR_PER_PHY,
+	RA6W_TESTMODE_ATTR_PER_OVERFLOW,
+	RA6W_TESTMODE_ATTR_HOST_LOG_LEVEL,
+	RA6W_TESTMODE_ATTR_STATS_READY,
+	RA6W_TESTMODE_ATTR_STATS_RSSI,
+	RA6W_TESTMODE_ATTR_STATS_BSSID,
+	RA6W_TESTMODE_ATTR_STATS_STAIDX,
+	RA6W_TESTMODE_ATTR_STATS_OWN_MAC,
+	RA6W_TESTMODE_ATTR_STATS_FLAGS,
+	RA6W_TESTMODE_ATTR_STATS_RX_BW,
+	RA6W_TESTMODE_ATTR_STATS_RX_MCS,
+	RA6W_TESTMODE_ATTR_STATS_RX_GI,
+	RA6W_TESTMODE_ATTR_STATS_RX_NSS,
+	RA6W_TESTMODE_ATTR_STATS_RX_CCK,
+	RA6W_TESTMODE_ATTR_STATS_RX_OFDM,
+	RA6W_TESTMODE_ATTR_STATS_RX_HT,
+	RA6W_TESTMODE_ATTR_STATS_RX_VHT,
+	RA6W_TESTMODE_ATTR_STATS_RX_HE_SU,
+	RA6W_TESTMODE_ATTR_STATS_RX_HE_MU,
+	RA6W_TESTMODE_ATTR_STATS_RX_HE_EXT,
+	RA6W_TESTMODE_ATTR_STATS_RX_HE_TRIG,
+	RA6W_TESTMODE_ATTR_STATS_TX_CCK,
+	RA6W_TESTMODE_ATTR_STATS_TX_CCK_FAIL,
+	RA6W_TESTMODE_ATTR_STATS_TX_OFDM,
+	RA6W_TESTMODE_ATTR_STATS_TX_OFDM_FAIL,
+	RA6W_TESTMODE_ATTR_STATS_TX_HT,
+	RA6W_TESTMODE_ATTR_STATS_TX_HT_FAIL,
+	RA6W_TESTMODE_ATTR_STATS_TX_VHT,
+	RA6W_TESTMODE_ATTR_STATS_TX_VHT_FAIL,
+	RA6W_TESTMODE_ATTR_STATS_TX_HE,
+	RA6W_TESTMODE_ATTR_STATS_TX_HE_FAIL,
+	RA6W_TESTMODE_ATTR_STATS_TX_EPR,
+	RA6W_TESTMODE_ATTR_MAX,
+};
+
+enum {
+	RA6W_TESTMODE_VALUE_STOP = 0,
+	RA6W_TESTMODE_VALUE_START,
+};
+
+enum ra6w_testmode_value_per {
+	RA6W_TESTMODE_VALUE_PER_STOP = 0,
+	RA6W_TESTMODE_VALUE_PER_START,
+	RA6W_TESTMODE_VALUE_PER_GET,
+	RA6W_TESTMODE_VALUE_PER_RESET,
+};
+
+enum ra6w_testmode_rate {
+	RA6W_TESTMODE_RATE_B1 = 0,
+	RA6W_TESTMODE_RATE_B2,
+	RA6W_TESTMODE_RATE_B5_5,
+	RA6W_TESTMODE_RATE_B11,
+	RA6W_TESTMODE_RATE_G6,
+	RA6W_TESTMODE_RATE_G9,
+	RA6W_TESTMODE_RATE_G12,
+	RA6W_TESTMODE_RATE_G18,
+	RA6W_TESTMODE_RATE_G24,
+	RA6W_TESTMODE_RATE_G36,
+	RA6W_TESTMODE_RATE_G48,
+	RA6W_TESTMODE_RATE_G54,
+	RA6W_TESTMODE_RATE_N6_5,
+	RA6W_TESTMODE_RATE_N13,
+	RA6W_TESTMODE_RATE_N19_5,
+	RA6W_TESTMODE_RATE_N26,
+	RA6W_TESTMODE_RATE_N39,
+	RA6W_TESTMODE_RATE_N52,
+	RA6W_TESTMODE_RATE_N58_5,
+	RA6W_TESTMODE_RATE_N65,
+};
+
+enum {
+	RA6W_TESTMODE_VALUE_SHORT = 0,
+	RA6W_TESTMODE_VALUE_LONG,
+};
+
+enum {
+	RA6W_TESTMODE_VALUE_OFF = 0,
+	RA6W_TESTMODE_VALUE_ON,
+};
+
+enum {
+	RA6W_TESTMODE_VALUE_NO = 0,
+	RA6W_TESTMODE_VALUE_NORM,
+	RA6W_TESTMODE_VALUE_BA,
+	RA6W_TESTMODE_VALUE_CBA,
+};
+
+int ra6w_testmode_cmd(struct wiphy *wiphy, struct wireless_dev *wdev, void *data, int len);
+#else
+static inline int ra6w_testmode_cmd(struct wiphy *wiphy, struct wireless_dev *wdev,
+				    void *data, int len)
+{
+	return 0;
+}
+#endif /* CONFIG_NL80211_TESTMODE */
+
+#endif // RA6W_TESTMODE_H