mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-10-29 17:42:41 +00:00
Compare commits
42 Commits
v4.0.0-rc1
...
staging-WI
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d184871265 | ||
|
|
a516b035ab | ||
|
|
29b088ef21 | ||
|
|
10b875d42c | ||
|
|
1f0a24a941 | ||
|
|
ea3afcda56 | ||
|
|
b5987cc2a7 | ||
|
|
fc700364d1 | ||
|
|
f2fec9dd87 | ||
|
|
2de57bf167 | ||
|
|
7d31bebdb0 | ||
|
|
fcb5a972cf | ||
|
|
082d04025c | ||
|
|
9ef7d2c227 | ||
|
|
e0d61cb0fb | ||
|
|
ed2795b30b | ||
|
|
4b31e481ec | ||
|
|
ba10a88ab3 | ||
|
|
b85bc5db9c | ||
|
|
e998711444 | ||
|
|
2d6bea18df | ||
|
|
1bf9e40987 | ||
|
|
a20b96eb31 | ||
|
|
c83ac67492 | ||
|
|
2b0c600fb3 | ||
|
|
c5793bae3a | ||
|
|
6afbb92dec | ||
|
|
89cb9d63bd | ||
|
|
16963c997f | ||
|
|
f7a9ad770d | ||
|
|
dcdccc7ba0 | ||
|
|
b67f97f213 | ||
|
|
e9dcf3d953 | ||
|
|
cc5edd4446 | ||
|
|
79adece623 | ||
|
|
49b64ec93f | ||
|
|
b1e3686124 | ||
|
|
e5bcda17e7 | ||
|
|
7c04ed76bd | ||
|
|
04a5cc67e0 | ||
|
|
80b2c6d080 | ||
|
|
c683f19b7c |
2
.github/workflows/build-dev.yml
vendored
2
.github/workflows/build-dev.yml
vendored
@@ -21,7 +21,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
target: [ 'cig_wf186h', 'cig_wf186w', 'cig_wf188n', 'cig_wf189', 'cig_wf196', 'cig_wf196', 'cybertan_eww631-a1', 'cybertan_eww631-b1', 'sonicfi_rap630w-312g', 'sonicfi_rap63xc-211g', 'sonicfi_rap630c-311g', 'sonicfi_rap630w-311g', 'sonicfi_rap630w-211g', 'sonicfi_rap7110c-341x', 'edgecore_eap101', 'edgecore_eap102', 'edgecore_eap104', 'edgecore_eap105', 'edgecore_eap111', 'edgecore_eap112', 'edgecore_oap101', 'edgecore_oap101-6e', 'edgecore_oap101e', 'edgecore_oap101e-6e', 'edgecore_oap103', 'hfcl_ion4xe', 'hfcl_ion4xi', 'hfcl_ion4x', 'hfcl_ion4x_2', 'hfcl_ion4x_3', 'hfcl_ion4xi_w', 'hfcl_ion4x_w', 'indio_um-305ax', 'senao_iap4300m', 'senao_iap2300m', 'senao_jeap6500', 'udaya_a6-id2', 'udaya_a6-od2', 'yuncore_ax820', 'yuncore_ax840', 'yuncore_fap640', 'yuncore_fap650', 'yuncore_fap655' ]
|
||||
target: [ 'cig_wf186h', 'cig_wf186w', 'cig_wf188n', 'cig_wf189', 'cig_wf196', 'cig_wf196', 'cybertan_eww631-a1', 'cybertan_eww631-b1', 'sonicfi_rap630w-312g', 'sonicfi_rap63xc-211g', 'sonicfi_rap630c-311g', 'sonicfi_rap630w-311g', 'sonicfi_rap630w-211g', 'sonicfi_rap650c', 'sonicfi_rap7110c-341x', 'sonicfi_rap750w-311a', 'edgecore_eap101', 'edgecore_eap102', 'edgecore_eap104', 'edgecore_eap105', 'edgecore_eap111', 'edgecore_eap112', 'edgecore_oap101', 'edgecore_oap101-6e', 'edgecore_oap101e', 'edgecore_oap101e-6e', 'edgecore_oap103', 'hfcl_ion4xe', 'hfcl_ion4xi', 'hfcl_ion4x', 'hfcl_ion4x_2', 'hfcl_ion4x_3', 'hfcl_ion4xi_w', 'hfcl_ion4x_w', 'indio_um-305ax', 'senao_iap4300m', 'senao_iap2300m', 'senao_jeap6500', 'udaya_a6-id2', 'udaya_a6-od2', 'yuncore_ax820', 'yuncore_ax840', 'yuncore_fap640', 'yuncore_fap650', 'yuncore_fap655', 'emplus_wap588m' ]
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
Index: hostapd-2023-09-08-e5ccbfc6/src/ap/wpa_auth_ft.c
|
||||
===================================================================
|
||||
--- hostapd-2023-09-08-e5ccbfc6.orig/src/ap/wpa_auth_ft.c
|
||||
+++ hostapd-2023-09-08-e5ccbfc6/src/ap/wpa_auth_ft.c
|
||||
@@ -3293,6 +3297,8 @@ static int wpa_ft_process_auth_req(struc
|
||||
size_t identity_len = 0, radius_cui_len = 0;
|
||||
size_t pmk_r1_len, kdk_len, len;
|
||||
int retval = WLAN_STATUS_UNSPECIFIED_FAILURE;
|
||||
+ struct os_reltime now;
|
||||
+ struct rsn_ftie *ftie;
|
||||
|
||||
*resp_ies = NULL;
|
||||
*resp_ies_len = 0;
|
||||
@@ -3324,6 +3330,9 @@ static int wpa_ft_process_auth_req(struc
|
||||
goto out;
|
||||
}
|
||||
|
||||
+ ftie = (struct rsn_ftie *) parse.ftie;
|
||||
+ os_memcpy(sm->SNonce, ftie->snonce, WPA_NONCE_LEN);
|
||||
+
|
||||
if (parse.r0kh_id == NULL) {
|
||||
wpa_printf(MSG_DEBUG, "FT: Invalid FTIE - no R0KH-ID");
|
||||
retval = WLAN_STATUS_INVALID_FTIE;
|
||||
@@ -3424,10 +3433,18 @@ pmk_r1_derived:
|
||||
os_memcpy(sm->pmk_r1, pmk_r1, pmk_r1_len);
|
||||
sm->pmk_r1_len = pmk_r1_len;
|
||||
|
||||
- if (random_get_bytes(sm->ANonce, WPA_NONCE_LEN)) {
|
||||
- wpa_printf(MSG_DEBUG, "FT: Failed to get random data for "
|
||||
- "ANonce");
|
||||
- goto out;
|
||||
+ if (os_get_reltime(&now) < 0 ||
|
||||
+ os_reltime_expired(&now, &sm->ANonce_time, 1)) {
|
||||
+ if (random_get_bytes(sm->ANonce, WPA_NONCE_LEN)) {
|
||||
+ wpa_printf(MSG_DEBUG, "FT: Failed to get random data for "
|
||||
+ "ANonce");
|
||||
+ return WLAN_STATUS_UNSPECIFIED_FAILURE;
|
||||
+ }
|
||||
+ sm->ANonce_time.sec = now.sec;
|
||||
+ sm->ANonce_time.usec = now.usec;
|
||||
+ wpa_printf(MSG_INFO, "FT: ANonce was randomized");
|
||||
+ } else {
|
||||
+ wpa_printf(MSG_INFO, "FT: ANonce has not expired");
|
||||
}
|
||||
|
||||
/* Now that we know the correct PMK-R1 length and as such, the length
|
||||
@@ -53,6 +53,7 @@ ALLWIFIBOARDS:= \
|
||||
sonicfi-rap630c-311g \
|
||||
sonicfi-rap630w-311g \
|
||||
sonicfi-rap630w-312g \
|
||||
sonicfi-rap650c \
|
||||
tplink-ex227 \
|
||||
tplink-ex447 \
|
||||
yuncore-ax840 \
|
||||
@@ -410,6 +411,7 @@ $(eval $(call generate-ath11k-wifi-package,indio-um-510axm-v1,Indio UM-510AXM V1
|
||||
$(eval $(call generate-ath11k-wifi-package,sonicfi-rap630c-311g,Sonicfi RAP630C 311G))
|
||||
$(eval $(call generate-ath11k-wifi-package,sonicfi-rap630w-311g,Sonicfi RAP630W 311G))
|
||||
$(eval $(call generate-ath11k-wifi-package,sonicfi-rap630w-312g,Sonicfi RAP630W 312G))
|
||||
$(eval $(call generate-ath11k-wifi-package,sonicfi-rap650c,SonicFi RAP650C))
|
||||
$(eval $(call generate-ath11k-wifi-package,tplink-ex227,TP-Link EX227))
|
||||
$(eval $(call generate-ath11k-wifi-package,tplink-ex447,TP-Link EX447))
|
||||
$(eval $(call generate-ath11k-wifi-package,yuncore-ax840,YunCore AX840))
|
||||
|
||||
Binary file not shown.
Binary file not shown.
BIN
feeds/ipq807x_v5.4/ath11k-wifi/board-sonicfi-rap650c.bin.IPQ8074
Normal file
BIN
feeds/ipq807x_v5.4/ath11k-wifi/board-sonicfi-rap650c.bin.IPQ8074
Normal file
Binary file not shown.
@@ -0,0 +1,27 @@
|
||||
--- a/src/ap/hostapd.c
|
||||
+++ b/src/ap/hostapd.c
|
||||
@@ -1527,19 +1527,15 @@ int hostapd_setup_bss(struct hostapd_dat
|
||||
if (x_snoop_init(hapd)) {
|
||||
wpa_printf(MSG_ERROR,
|
||||
"Generic snooping infrastructure initialization failed");
|
||||
- return -1;
|
||||
- }
|
||||
-
|
||||
- if (dhcp_snoop_init(hapd)) {
|
||||
+ conf->proxy_arp = 0;
|
||||
+ } else if (dhcp_snoop_init(hapd)) {
|
||||
wpa_printf(MSG_ERROR,
|
||||
"DHCP snooping initialization failed");
|
||||
- return -1;
|
||||
- }
|
||||
-
|
||||
- if (ndisc_snoop_init(hapd)) {
|
||||
+ conf->proxy_arp = 0;
|
||||
+ } else if (ndisc_snoop_init(hapd)) {
|
||||
wpa_printf(MSG_ERROR,
|
||||
"Neighbor Discovery snooping initialization failed");
|
||||
- return -1;
|
||||
+ conf->proxy_arp = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,411 @@
|
||||
From: Jouni Malinen <quic_jouni@quicinc.com>
|
||||
Date: Tue, 14 Feb 2023 11:29:30 +0200
|
||||
Subject: [PATCH] FT: Store PMK-R0/PMK-R1 after EAPOL-Key msg 2/4 MIC
|
||||
validation
|
||||
|
||||
hostapd was previously storing the derived PMK-R0 and PMK-R1 as soon as
|
||||
these keys were derived. While that is fine for most purposes, it is
|
||||
unnecessary to do that so quickly and if anything were to fail before
|
||||
the supplicant is able to return a valid EAPOL-Key msg 2/4, there would
|
||||
not really be any real use for the derived keys.
|
||||
|
||||
For the special case of FT-PSK and VLAN determination based on the
|
||||
wpa_psk file, the VLAN information is set in the per-STA data structures
|
||||
only after the EAPOL-Key msg 2/4 MIC has been verified. This ended up
|
||||
storing the PMK-R0/PMK-R1 entries without correct VLAN assignment and as
|
||||
such, any use of the FT protocol would not be able to transfer the VLAN
|
||||
information through RRB.
|
||||
|
||||
Split local storing of the FT key hierarchy for the cases using the FT
|
||||
4-way handshake so that PMK-R0 and PMK-R1 are first derived and then
|
||||
stored as a separate step after having verified the MIC in the EAPOL-Key
|
||||
msg 2/4 (i.e., after having confirmed the per-STA passphrase/PSK was
|
||||
selected) and VLAN update. This fixes VLAN information for the
|
||||
wpa_psk_file cases with FT-PSK.
|
||||
|
||||
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
|
||||
---
|
||||
|
||||
--- a/src/ap/wpa_auth.c
|
||||
+++ b/src/ap/wpa_auth.c
|
||||
@@ -58,7 +58,9 @@ static int wpa_group_config_group_keys(s
|
||||
struct wpa_group *group);
|
||||
static int wpa_derive_ptk(struct wpa_state_machine *sm, const u8 *snonce,
|
||||
const u8 *pmk, unsigned int pmk_len,
|
||||
- struct wpa_ptk *ptk, int force_sha256);
|
||||
+ struct wpa_ptk *ptk, int force_sha256,
|
||||
+ u8 *pmk_r0, u8 *pmk_r1, u8 *pmk_r0_name,
|
||||
+ size_t *key_len);
|
||||
static void wpa_group_free(struct wpa_authenticator *wpa_auth,
|
||||
struct wpa_group *group);
|
||||
static void wpa_group_get(struct wpa_authenticator *wpa_auth,
|
||||
@@ -940,6 +942,10 @@ static int wpa_try_alt_snonce(struct wpa
|
||||
const u8 *pmk = NULL;
|
||||
size_t pmk_len;
|
||||
int vlan_id = 0;
|
||||
+ u8 pmk_r0[PMK_LEN_MAX], pmk_r0_name[WPA_PMK_NAME_LEN];
|
||||
+ u8 pmk_r1[PMK_LEN_MAX];
|
||||
+ size_t key_len;
|
||||
+ int ret = -1;
|
||||
|
||||
os_memset(&PTK, 0, sizeof(PTK));
|
||||
for (;;) {
|
||||
@@ -961,8 +967,8 @@ static int wpa_try_alt_snonce(struct wpa
|
||||
pmk_len = sm->pmk_len;
|
||||
}
|
||||
|
||||
- if (wpa_derive_ptk(sm, sm->alt_SNonce, pmk, pmk_len, &PTK, 0) <
|
||||
- 0)
|
||||
+ if (wpa_derive_ptk(sm, sm->alt_SNonce, pmk, pmk_len, &PTK, 0,
|
||||
+ pmk_r0, pmk_r1, pmk_r0_name, &key_len) < 0)
|
||||
break;
|
||||
|
||||
if (wpa_verify_key_mic(sm->wpa_key_mgmt, pmk_len, &PTK,
|
||||
@@ -983,7 +989,7 @@ static int wpa_try_alt_snonce(struct wpa
|
||||
if (!ok) {
|
||||
wpa_printf(MSG_DEBUG,
|
||||
"WPA: Earlier SNonce did not result in matching MIC");
|
||||
- return -1;
|
||||
+ goto fail;
|
||||
}
|
||||
|
||||
wpa_printf(MSG_DEBUG,
|
||||
@@ -992,14 +998,26 @@ static int wpa_try_alt_snonce(struct wpa
|
||||
|
||||
if (vlan_id && wpa_key_mgmt_wpa_psk(sm->wpa_key_mgmt) &&
|
||||
wpa_auth_update_vlan(sm->wpa_auth, sm->addr, vlan_id) < 0)
|
||||
- return -1;
|
||||
+ goto fail;
|
||||
+
|
||||
+#ifdef CONFIG_IEEE80211R_AP
|
||||
+ if (wpa_key_mgmt_ft(sm->wpa_key_mgmt) && !sm->ft_completed) {
|
||||
+ wpa_printf(MSG_DEBUG, "FT: Store PMK-R0/PMK-R1");
|
||||
+ wpa_auth_ft_store_keys(sm, pmk_r0, pmk_r1, pmk_r0_name,
|
||||
+ key_len);
|
||||
+ }
|
||||
+#endif /* CONFIG_IEEE80211R_AP */
|
||||
|
||||
os_memcpy(sm->SNonce, sm->alt_SNonce, WPA_NONCE_LEN);
|
||||
os_memcpy(&sm->PTK, &PTK, sizeof(PTK));
|
||||
forced_memzero(&PTK, sizeof(PTK));
|
||||
sm->PTK_valid = true;
|
||||
|
||||
- return 0;
|
||||
+ ret = 0;
|
||||
+fail:
|
||||
+ forced_memzero(pmk_r0, sizeof(pmk_r0));
|
||||
+ forced_memzero(pmk_r1, sizeof(pmk_r1));
|
||||
+ return ret;
|
||||
}
|
||||
|
||||
|
||||
@@ -2283,7 +2301,9 @@ SM_STATE(WPA_PTK, PTKSTART)
|
||||
|
||||
static int wpa_derive_ptk(struct wpa_state_machine *sm, const u8 *snonce,
|
||||
const u8 *pmk, unsigned int pmk_len,
|
||||
- struct wpa_ptk *ptk, int force_sha256)
|
||||
+ struct wpa_ptk *ptk, int force_sha256,
|
||||
+ u8 *pmk_r0, u8 *pmk_r1, u8 *pmk_r0_name,
|
||||
+ size_t *key_len)
|
||||
{
|
||||
const u8 *z = NULL;
|
||||
size_t z_len = 0, kdk_len;
|
||||
@@ -2311,7 +2331,8 @@ static int wpa_derive_ptk(struct wpa_sta
|
||||
sm->pairwise,
|
||||
kdk_len);
|
||||
}
|
||||
- return wpa_auth_derive_ptk_ft(sm, ptk);
|
||||
+ return wpa_auth_derive_ptk_ft(sm, ptk, pmk_r0, pmk_r1,
|
||||
+ pmk_r0_name, key_len);
|
||||
}
|
||||
#endif /* CONFIG_IEEE80211R_AP */
|
||||
|
||||
@@ -2934,6 +2955,9 @@ SM_STATE(WPA_PTK, PTKCALCNEGOTIATING)
|
||||
struct wpa_eapol_ie_parse kde;
|
||||
int vlan_id = 0;
|
||||
int owe_ptk_workaround = !!wpa_auth->conf.owe_ptk_workaround;
|
||||
+ u8 pmk_r0[PMK_LEN_MAX], pmk_r0_name[WPA_PMK_NAME_LEN];
|
||||
+ u8 pmk_r1[PMK_LEN_MAX];
|
||||
+ size_t key_len;
|
||||
|
||||
SM_ENTRY_MA(WPA_PTK, PTKCALCNEGOTIATING, wpa_ptk);
|
||||
sm->EAPOLKeyReceived = false;
|
||||
@@ -2972,7 +2996,8 @@ SM_STATE(WPA_PTK, PTKCALCNEGOTIATING)
|
||||
}
|
||||
|
||||
if (wpa_derive_ptk(sm, sm->SNonce, pmk, pmk_len, &PTK,
|
||||
- owe_ptk_workaround == 2) < 0)
|
||||
+ owe_ptk_workaround == 2, pmk_r0, pmk_r1,
|
||||
+ pmk_r0_name, &key_len) < 0)
|
||||
break;
|
||||
|
||||
if (mic_len &&
|
||||
@@ -3021,7 +3046,7 @@ SM_STATE(WPA_PTK, PTKCALCNEGOTIATING)
|
||||
sm->last_rx_eapol_key,
|
||||
sm->last_rx_eapol_key_len);
|
||||
sm->waiting_radius_psk = 1;
|
||||
- return;
|
||||
+ goto out;
|
||||
}
|
||||
|
||||
if (!ok) {
|
||||
@@ -3029,7 +3054,7 @@ SM_STATE(WPA_PTK, PTKCALCNEGOTIATING)
|
||||
"invalid MIC in msg 2/4 of 4-Way Handshake");
|
||||
if (psk_found)
|
||||
wpa_auth_psk_failure_report(sm->wpa_auth, sm->addr);
|
||||
- return;
|
||||
+ goto out;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -3043,12 +3068,12 @@ SM_STATE(WPA_PTK, PTKCALCNEGOTIATING)
|
||||
key_data_length = WPA_GET_BE16(mic + mic_len);
|
||||
if (key_data_length > sm->last_rx_eapol_key_len - sizeof(*hdr) -
|
||||
sizeof(*key) - mic_len - 2)
|
||||
- return;
|
||||
+ goto out;
|
||||
|
||||
if (wpa_parse_kde_ies(key_data, key_data_length, &kde) < 0) {
|
||||
wpa_auth_vlogger(wpa_auth, sm->addr, LOGGER_INFO,
|
||||
"received EAPOL-Key msg 2/4 with invalid Key Data contents");
|
||||
- return;
|
||||
+ goto out;
|
||||
}
|
||||
if (kde.rsn_ie) {
|
||||
eapol_key_ie = kde.rsn_ie;
|
||||
@@ -3075,7 +3100,7 @@ SM_STATE(WPA_PTK, PTKCALCNEGOTIATING)
|
||||
/* MLME-DEAUTHENTICATE.request */
|
||||
wpa_sta_disconnect(wpa_auth, sm->addr,
|
||||
WLAN_REASON_PREV_AUTH_NOT_VALID);
|
||||
- return;
|
||||
+ goto out;
|
||||
}
|
||||
if ((!sm->rsnxe && kde.rsnxe) ||
|
||||
(sm->rsnxe && !kde.rsnxe) ||
|
||||
@@ -3091,7 +3116,7 @@ SM_STATE(WPA_PTK, PTKCALCNEGOTIATING)
|
||||
/* MLME-DEAUTHENTICATE.request */
|
||||
wpa_sta_disconnect(wpa_auth, sm->addr,
|
||||
WLAN_REASON_PREV_AUTH_NOT_VALID);
|
||||
- return;
|
||||
+ goto out;
|
||||
}
|
||||
#ifdef CONFIG_OCV
|
||||
if (wpa_auth_uses_ocv(sm)) {
|
||||
@@ -3103,14 +3128,14 @@ SM_STATE(WPA_PTK, PTKCALCNEGOTIATING)
|
||||
if (wpa_channel_info(wpa_auth, &ci) != 0) {
|
||||
wpa_auth_logger(wpa_auth, sm->addr, LOGGER_INFO,
|
||||
"Failed to get channel info to validate received OCI in EAPOL-Key 2/4");
|
||||
- return;
|
||||
+ goto out;
|
||||
}
|
||||
|
||||
if (get_sta_tx_parameters(sm,
|
||||
channel_width_to_int(ci.chanwidth),
|
||||
ci.seg1_idx, &tx_chanwidth,
|
||||
&tx_seg1_idx) < 0)
|
||||
- return;
|
||||
+ goto out;
|
||||
|
||||
res = ocv_verify_tx_params(kde.oci, kde.oci_len, &ci,
|
||||
tx_chanwidth, tx_seg1_idx);
|
||||
@@ -3127,7 +3152,7 @@ SM_STATE(WPA_PTK, PTKCALCNEGOTIATING)
|
||||
OCV_FAILURE "addr=" MACSTR
|
||||
" frame=eapol-key-m2 error=%s",
|
||||
MAC2STR(sm->addr), ocv_errorstr);
|
||||
- return;
|
||||
+ goto out;
|
||||
}
|
||||
}
|
||||
#endif /* CONFIG_OCV */
|
||||
@@ -3135,7 +3160,7 @@ SM_STATE(WPA_PTK, PTKCALCNEGOTIATING)
|
||||
if (ft && ft_check_msg_2_of_4(wpa_auth, sm, &kde) < 0) {
|
||||
wpa_sta_disconnect(wpa_auth, sm->addr,
|
||||
WLAN_REASON_PREV_AUTH_NOT_VALID);
|
||||
- return;
|
||||
+ goto out;
|
||||
}
|
||||
#endif /* CONFIG_IEEE80211R_AP */
|
||||
#ifdef CONFIG_P2P
|
||||
@@ -3171,7 +3196,7 @@ SM_STATE(WPA_PTK, PTKCALCNEGOTIATING)
|
||||
"DPP: Peer indicated it supports PFS and local configuration allows this, but PFS was not negotiated for the association");
|
||||
wpa_sta_disconnect(wpa_auth, sm->addr,
|
||||
WLAN_REASON_PREV_AUTH_NOT_VALID);
|
||||
- return;
|
||||
+ goto out;
|
||||
}
|
||||
}
|
||||
#endif /* CONFIG_DPP2 */
|
||||
@@ -3191,7 +3216,7 @@ SM_STATE(WPA_PTK, PTKCALCNEGOTIATING)
|
||||
sm->sup_pmk_r1_name, WPA_PMK_NAME_LEN);
|
||||
wpa_hexdump(MSG_DEBUG, "FT: Derived PMKR1Name",
|
||||
sm->pmk_r1_name, WPA_PMK_NAME_LEN);
|
||||
- return;
|
||||
+ goto out;
|
||||
}
|
||||
}
|
||||
#endif /* CONFIG_IEEE80211R_AP */
|
||||
@@ -3200,7 +3225,7 @@ SM_STATE(WPA_PTK, PTKCALCNEGOTIATING)
|
||||
wpa_auth_update_vlan(wpa_auth, sm->addr, vlan_id) < 0) {
|
||||
wpa_sta_disconnect(wpa_auth, sm->addr,
|
||||
WLAN_REASON_PREV_AUTH_NOT_VALID);
|
||||
- return;
|
||||
+ goto out;
|
||||
}
|
||||
|
||||
sm->pending_1_of_4_timeout = 0;
|
||||
@@ -3216,9 +3241,20 @@ SM_STATE(WPA_PTK, PTKCALCNEGOTIATING)
|
||||
|
||||
sm->MICVerified = true;
|
||||
|
||||
+#ifdef CONFIG_IEEE80211R_AP
|
||||
+ if (wpa_key_mgmt_ft(sm->wpa_key_mgmt) && !sm->ft_completed) {
|
||||
+ wpa_printf(MSG_DEBUG, "FT: Store PMK-R0/PMK-R1");
|
||||
+ wpa_auth_ft_store_keys(sm, pmk_r0, pmk_r1, pmk_r0_name,
|
||||
+ key_len);
|
||||
+ }
|
||||
+#endif /* CONFIG_IEEE80211R_AP */
|
||||
+
|
||||
os_memcpy(&sm->PTK, &PTK, sizeof(PTK));
|
||||
forced_memzero(&PTK, sizeof(PTK));
|
||||
sm->PTK_valid = true;
|
||||
+out:
|
||||
+ forced_memzero(pmk_r0, sizeof(pmk_r0));
|
||||
+ forced_memzero(pmk_r1, sizeof(pmk_r1));
|
||||
}
|
||||
|
||||
|
||||
--- a/src/ap/wpa_auth_ft.c
|
||||
+++ b/src/ap/wpa_auth_ft.c
|
||||
@@ -2175,13 +2175,13 @@ int wpa_ft_store_pmk_fils(struct wpa_sta
|
||||
}
|
||||
|
||||
|
||||
-int wpa_auth_derive_ptk_ft(struct wpa_state_machine *sm, struct wpa_ptk *ptk)
|
||||
+int wpa_auth_derive_ptk_ft(struct wpa_state_machine *sm, struct wpa_ptk *ptk,
|
||||
+ u8 *pmk_r0, u8 *pmk_r1, u8 *pmk_r0_name,
|
||||
+ size_t *key_len)
|
||||
{
|
||||
- u8 pmk_r0[PMK_LEN_MAX], pmk_r0_name[WPA_PMK_NAME_LEN];
|
||||
size_t pmk_r0_len = wpa_key_mgmt_sha384(sm->wpa_key_mgmt) ?
|
||||
SHA384_MAC_LEN : PMK_LEN;
|
||||
size_t pmk_r1_len = pmk_r0_len;
|
||||
- u8 pmk_r1[PMK_LEN_MAX];
|
||||
u8 ptk_name[WPA_PMK_NAME_LEN];
|
||||
const u8 *mdid = sm->wpa_auth->conf.mobility_domain;
|
||||
const u8 *r0kh = sm->wpa_auth->conf.r0_key_holder;
|
||||
@@ -2189,13 +2189,6 @@ int wpa_auth_derive_ptk_ft(struct wpa_st
|
||||
const u8 *r1kh = sm->wpa_auth->conf.r1_key_holder;
|
||||
const u8 *ssid = sm->wpa_auth->conf.ssid;
|
||||
size_t ssid_len = sm->wpa_auth->conf.ssid_len;
|
||||
- int psk_local = sm->wpa_auth->conf.ft_psk_generate_local;
|
||||
- int expires_in = sm->wpa_auth->conf.r0_key_lifetime;
|
||||
- struct vlan_description vlan;
|
||||
- struct rate_description rate;
|
||||
- const u8 *identity, *radius_cui;
|
||||
- size_t identity_len, radius_cui_len;
|
||||
- int session_timeout;
|
||||
const u8 *mpmk;
|
||||
size_t mpmk_len;
|
||||
|
||||
@@ -2211,10 +2204,41 @@ int wpa_auth_derive_ptk_ft(struct wpa_st
|
||||
return -1;
|
||||
}
|
||||
|
||||
+ *key_len = pmk_r0_len;
|
||||
+ if (wpa_derive_pmk_r0(mpmk, mpmk_len, ssid, ssid_len, mdid,
|
||||
+ r0kh, r0kh_len, sm->addr,
|
||||
+ pmk_r0, pmk_r0_name,
|
||||
+ pmk_r0_len == SHA384_MAC_LEN) < 0 ||
|
||||
+ wpa_derive_pmk_r1(pmk_r0, pmk_r0_len, pmk_r0_name, r1kh, sm->addr,
|
||||
+ pmk_r1, sm->pmk_r1_name) < 0)
|
||||
+ return -1;
|
||||
+
|
||||
+ return wpa_pmk_r1_to_ptk(pmk_r1, pmk_r1_len, sm->SNonce, sm->ANonce,
|
||||
+ sm->addr, sm->wpa_auth->addr, sm->pmk_r1_name,
|
||||
+ ptk, ptk_name, sm->wpa_key_mgmt, sm->pairwise,
|
||||
+ 0);
|
||||
+}
|
||||
+
|
||||
+
|
||||
+void wpa_auth_ft_store_keys(struct wpa_state_machine *sm, const u8 *pmk_r0,
|
||||
+ const u8 *pmk_r1, const u8 *pmk_r0_name,
|
||||
+ size_t key_len)
|
||||
+{
|
||||
+ int psk_local = sm->wpa_auth->conf.ft_psk_generate_local;
|
||||
+ int expires_in = sm->wpa_auth->conf.r0_key_lifetime;
|
||||
+ struct vlan_description vlan;
|
||||
+ struct rate_description rate;
|
||||
+ const u8 *identity, *radius_cui;
|
||||
+ size_t identity_len, radius_cui_len;
|
||||
+ int session_timeout;
|
||||
+
|
||||
+ if (psk_local && wpa_key_mgmt_ft_psk(sm->wpa_key_mgmt))
|
||||
+ return;
|
||||
+
|
||||
if (wpa_ft_get_vlan(sm->wpa_auth, sm->addr, &vlan) < 0) {
|
||||
wpa_printf(MSG_DEBUG, "FT: vlan not available for STA " MACSTR,
|
||||
MAC2STR(sm->addr));
|
||||
- return -1;
|
||||
+ return;
|
||||
}
|
||||
|
||||
wpa_ft_get_rate_limit(sm->wpa_auth, sm->addr, &rate);
|
||||
@@ -2224,32 +2248,16 @@ int wpa_auth_derive_ptk_ft(struct wpa_st
|
||||
&radius_cui);
|
||||
session_timeout = wpa_ft_get_session_timeout(sm->wpa_auth, sm->addr);
|
||||
|
||||
- if (wpa_derive_pmk_r0(mpmk, mpmk_len, ssid, ssid_len, mdid,
|
||||
- r0kh, r0kh_len, sm->addr,
|
||||
- pmk_r0, pmk_r0_name,
|
||||
- wpa_key_mgmt_sha384(sm->wpa_key_mgmt)) < 0)
|
||||
- return -1;
|
||||
- if (!psk_local || !wpa_key_mgmt_ft_psk(sm->wpa_key_mgmt))
|
||||
- wpa_ft_store_pmk_r0(sm->wpa_auth, sm->addr, pmk_r0, pmk_r0_len,
|
||||
- pmk_r0_name,
|
||||
- sm->pairwise, &vlan, expires_in,
|
||||
- session_timeout, identity, identity_len,
|
||||
- radius_cui, radius_cui_len, &rate);
|
||||
-
|
||||
- if (wpa_derive_pmk_r1(pmk_r0, pmk_r0_len, pmk_r0_name, r1kh, sm->addr,
|
||||
- pmk_r1, sm->pmk_r1_name) < 0)
|
||||
- return -1;
|
||||
- if (!psk_local || !wpa_key_mgmt_ft_psk(sm->wpa_key_mgmt))
|
||||
- wpa_ft_store_pmk_r1(sm->wpa_auth, sm->addr, pmk_r1, pmk_r1_len,
|
||||
- sm->pmk_r1_name, sm->pairwise, &vlan,
|
||||
- expires_in, session_timeout, identity,
|
||||
- identity_len, radius_cui, radius_cui_len,
|
||||
- &rate);
|
||||
-
|
||||
- return wpa_pmk_r1_to_ptk(pmk_r1, pmk_r1_len, sm->SNonce, sm->ANonce,
|
||||
- sm->addr, sm->wpa_auth->addr, sm->pmk_r1_name,
|
||||
- ptk, ptk_name, sm->wpa_key_mgmt, sm->pairwise,
|
||||
- 0);
|
||||
+ wpa_ft_store_pmk_r0(sm->wpa_auth, sm->addr, pmk_r0, key_len,
|
||||
+ pmk_r0_name,
|
||||
+ sm->pairwise, &vlan, expires_in,
|
||||
+ session_timeout, identity, identity_len,
|
||||
+ radius_cui, radius_cui_len, &rate);
|
||||
+
|
||||
+ wpa_ft_store_pmk_r1(sm->wpa_auth, sm->addr, pmk_r1, key_len,
|
||||
+ sm->pmk_r1_name, sm->pairwise, &vlan,
|
||||
+ expires_in, session_timeout, identity,
|
||||
+ identity_len, radius_cui, radius_cui_len, &rate);
|
||||
}
|
||||
|
||||
|
||||
--- a/src/ap/wpa_auth_i.h
|
||||
+++ b/src/ap/wpa_auth_i.h
|
||||
@@ -302,7 +302,12 @@ int wpa_write_ftie(struct wpa_auth_confi
|
||||
const u8 *anonce, const u8 *snonce,
|
||||
u8 *buf, size_t len, const u8 *subelem,
|
||||
size_t subelem_len, int rsnxe_used);
|
||||
-int wpa_auth_derive_ptk_ft(struct wpa_state_machine *sm, struct wpa_ptk *ptk);
|
||||
+int wpa_auth_derive_ptk_ft(struct wpa_state_machine *sm, struct wpa_ptk *ptk,
|
||||
+ u8 *pmk_r0, u8 *pmk_r1, u8 *pmk_r0_name,
|
||||
+ size_t *key_len);
|
||||
+void wpa_auth_ft_store_keys(struct wpa_state_machine *sm, const u8 *pmk_r0,
|
||||
+ const u8 *pmk_r1, const u8 *pmk_r0_name,
|
||||
+ size_t key_len);
|
||||
struct wpa_ft_pmk_cache * wpa_ft_pmk_cache_init(void);
|
||||
void wpa_ft_pmk_cache_deinit(struct wpa_ft_pmk_cache *cache);
|
||||
void wpa_ft_install_ptk(struct wpa_state_machine *sm, int retry);
|
||||
@@ -13,10 +13,10 @@ qcom_setup_interfaces()
|
||||
|
||||
case $board in
|
||||
cig,wf186w)
|
||||
ucidef_add_switch "switch0" "4:wan" "0:lan" "1:lan" "2:lan" "3:lan" "6@eth0"
|
||||
ucidef_add_switch "switch0" "4:wan" "0:lan" "1:lan" "2:lan" "3:lan" "6u@eth0"
|
||||
;;
|
||||
cig,wf186h)
|
||||
ucidef_add_switch "switch0" "4:wan" "1:lan" "2:lan" "6@eth0"
|
||||
ucidef_add_switch "switch0" "4:wan" "1:lan" "2:lan" "6u@eth0"
|
||||
;;
|
||||
sonicfi,rap630c-311g|\
|
||||
cybertan,eww631-a1)
|
||||
@@ -25,7 +25,7 @@ qcom_setup_interfaces()
|
||||
;;
|
||||
sonicfi,rap630w-311g|\
|
||||
cybertan,eww631-b1)
|
||||
ucidef_add_switch "switch1" "5:wan" "2:lan" "3:lan" "4:lan" "6@eth0"
|
||||
ucidef_add_switch "switch1" "5:wan" "2:lan" "3:lan" "4:lan" "6u@eth0"
|
||||
;;
|
||||
udaya,a6-id2)
|
||||
ucidef_set_interface_wan "eth1"
|
||||
@@ -46,7 +46,7 @@ qcom_setup_interfaces()
|
||||
edgecore,eap104)
|
||||
ucidef_set_interface_wan "eth0"
|
||||
ucidef_add_switch "switch1" \
|
||||
"6@eth1" "1:lan" "2:lan" "3:lan" "4:lan"
|
||||
"6u@eth1" "1:lan" "2:lan" "3:lan" "4:lan"
|
||||
;;
|
||||
hfcl,ion4x_w|\
|
||||
hfcl,ion4xi_w)
|
||||
@@ -62,10 +62,10 @@ qcom_setup_interfaces()
|
||||
sonicfi,rap630w-312g|\
|
||||
yuncore,fap655)
|
||||
ucidef_add_switch "switch1" \
|
||||
"6@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan"
|
||||
"6u@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan"
|
||||
;;
|
||||
glinet,b3000)
|
||||
ucidef_add_switch "switch1" "6@eth1" "1:wan" "2:lan" "3:lan"
|
||||
ucidef_add_switch "switch1" "6u@eth1" "1:wan" "2:lan" "3:lan"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ edgecore,oap103)
|
||||
ucidef_set_led_wlan "power" "POWER" "green:power" "default-on"
|
||||
;;
|
||||
sonicfi,rap630w-311g|\
|
||||
sonicfi,rap650c|\
|
||||
cybertan,eww631-b1)
|
||||
ucidef_set_led_default "power" "POWER" "sys:blue" "on"
|
||||
;;
|
||||
|
||||
@@ -24,6 +24,7 @@ qcom_setup_interfaces()
|
||||
edgecore,eap102|\
|
||||
edgecore,oap102|\
|
||||
edgecore,oap103|\
|
||||
sonicfi,rap650c|\
|
||||
cig,wf196)
|
||||
ucidef_set_interface_lan "eth1"
|
||||
ucidef_set_interface_wan "eth0"
|
||||
@@ -50,6 +51,16 @@ qcom_setup_macs()
|
||||
ip link set eth1 address $lan_mac
|
||||
ucidef_set_label_macaddr $wan_mac
|
||||
;;
|
||||
sonicfi,rap650c)
|
||||
mac=$(fw_printenv -n BaseMacAddress)
|
||||
[ -z "$mac" ] && return;
|
||||
wan_mac=$(macaddr_canonicalize $mac)
|
||||
lan_mac=$(macaddr_add "$wan_mac" 1)
|
||||
ucidef_set_network_device_mac eth0 $wan_mac
|
||||
ucidef_set_network_device_mac eth1 $lan_mac
|
||||
ip link set eth0 address $wan_mac
|
||||
ip link set eth1 address $lan_mac
|
||||
;;
|
||||
*)
|
||||
wan_mac=$(cat /sys/class/net/eth0/address)
|
||||
lan_mac=$(macaddr_add "$wan_mac" 1)
|
||||
|
||||
@@ -16,6 +16,20 @@ ath11k_generate_macs() {
|
||||
echo -ne \\x${mac3//:/\\x} >> /lib/firmware/ath11k-macs
|
||||
}
|
||||
|
||||
ath11k_generate_macs_sonicfi() {
|
||||
mac=$(fw_printenv -n BaseMacAddress)
|
||||
[ -z "$mac" ] && return;
|
||||
|
||||
touch /lib/firmware/ath11k-macs
|
||||
eth=$(macaddr_canonicalize $mac)
|
||||
mac1=$(macaddr_add $eth 2)
|
||||
mac2=$(macaddr_add $eth 3)
|
||||
mac3=$(macaddr_add $eth 4)
|
||||
echo -ne \\x${mac1//:/\\x} >> /lib/firmware/ath11k-macs
|
||||
echo -ne \\x${mac2//:/\\x} >> /lib/firmware/ath11k-macs
|
||||
echo -ne \\x${mac3//:/\\x} >> /lib/firmware/ath11k-macs
|
||||
}
|
||||
|
||||
ath11k_generate_macs_wf196() {
|
||||
touch /lib/firmware/ath11k-macs
|
||||
mac=$(grep BaseMacAddress= /dev/mtd18 | cut -dx -f2)
|
||||
@@ -63,6 +77,7 @@ case "$FIRMWARE" in
|
||||
tplink,ex227|\
|
||||
tplink,ex447|\
|
||||
yuncore,ax840|\
|
||||
sonicfi,rap650c|\
|
||||
sercomm,wallaby)
|
||||
caldata_extract "0:ART" 0x1000 0x20000
|
||||
;;
|
||||
@@ -97,6 +112,9 @@ ath11k-macs)
|
||||
cig,wf196)
|
||||
ath11k_generate_macs_wf196
|
||||
;;
|
||||
sonicfi*)
|
||||
ath11k_generate_macs_sonicfi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
ath11k/IPQ8074/hw2.0/board.bin)
|
||||
|
||||
@@ -10,7 +10,8 @@ case "$board" in
|
||||
ln -s /sys/kernel/debug/ath11k/ipq6018\ hw1.0/mac1/fw_stats/pdev_stats /tmp/pdev_stats_phy2g
|
||||
;;
|
||||
"edgecore,eap102"|\
|
||||
"edgecore,oap103")
|
||||
"edgecore,oap103"|\
|
||||
"sonicfi,rap650c")
|
||||
ln -s /sys/kernel/debug/ath11k/ipq8074\ hw2.0/mac0/fw_stats/pdev_stats /tmp/pdev_stats_phy5g
|
||||
ln -s /sys/kernel/debug/ath11k/ipq8074\ hw2.0/mac1/fw_stats/pdev_stats /tmp/pdev_stats_phy2g
|
||||
;;
|
||||
|
||||
@@ -29,6 +29,7 @@ platform_check_image() {
|
||||
edgecore,oap102|\
|
||||
edgecore,oap103|\
|
||||
edgecore,eap106|\
|
||||
sonicfi,rap650c|\
|
||||
tplink,ex227|\
|
||||
tplink,ex447)
|
||||
[ "$magic_long" = "73797375" ] && return 0
|
||||
@@ -83,5 +84,17 @@ platform_do_upgrade() {
|
||||
fi
|
||||
nand_upgrade_tar "$1"
|
||||
;;
|
||||
sonicfi,rap650c)
|
||||
boot_part=$(fw_printenv -n bootfrom)
|
||||
[ ${#boot_part} -eq 0 ] && boot_part=0
|
||||
echo "Current bootfrom is $boot_part"
|
||||
if [[ $boot_part == 1 ]]; then
|
||||
CI_UBIPART="rootfs"
|
||||
CI_FWSETENV="bootfrom 0"
|
||||
elif [[ $boot_part == 0 ]]; then
|
||||
CI_UBIPART="rootfs_1"
|
||||
CI_FWSETENV="bootfrom 1"
|
||||
fi
|
||||
nand_upgrade_tar "$1"
|
||||
esac
|
||||
}
|
||||
|
||||
@@ -0,0 +1,650 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/dts-v1/;
|
||||
/* Copyright (c) 2020 The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
#include "ipq8074.dtsi"
|
||||
#include "ipq8074-hk-cpu.dtsi"
|
||||
|
||||
/ {
|
||||
#address-cells = <0x2>;
|
||||
#size-cells = <0x2>;
|
||||
model = "SonicFi RAP650C";
|
||||
compatible = "sonicfi,rap650c", "qcom,ipq8074-ap-hk09", "qcom,ipq8074";
|
||||
qcom,msm-id = <0x157 0x0>, <0x187 0x0>;
|
||||
interrupt-parent = <&intc>;
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart5;
|
||||
/* Aliases as required by u-boot to patch MAC addresses */
|
||||
ethernet0 = "/soc/dp1";
|
||||
ethernet1 = "/soc/dp2";
|
||||
|
||||
led-boot = &led_power;
|
||||
led-failsafe = &led_power;
|
||||
led-running = &led_power;
|
||||
led-upgrade = &led_power;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0";
|
||||
};
|
||||
|
||||
soc {
|
||||
pinctrl@1000000 {
|
||||
button_pins: button_pins {
|
||||
reset_button {
|
||||
pins = "gpio57";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
usb_mux_sel_pins: usb_mux_pins {
|
||||
mux {
|
||||
pins = "gpio27";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-down;
|
||||
};
|
||||
};
|
||||
|
||||
pcie0_pins: pcie_pins {
|
||||
pcie0_rst {
|
||||
pins = "gpio58";
|
||||
function = "pcie0_rst";
|
||||
drive-strength = <8>;
|
||||
bias-pull-down;
|
||||
};
|
||||
pcie0_wake {
|
||||
pins = "gpio59";
|
||||
function = "pcie0_wake";
|
||||
drive-strength = <8>;
|
||||
bias-pull-down;
|
||||
};
|
||||
};
|
||||
|
||||
mdio_pins: mdio_pinmux {
|
||||
mux_0 {
|
||||
pins = "gpio68";
|
||||
function = "mdc";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
mux_1 {
|
||||
pins = "gpio69";
|
||||
function = "mdio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
mux_2 {
|
||||
pins = "gpio25";
|
||||
function = "gpio";
|
||||
bias-pull-up;
|
||||
};
|
||||
mux_3 {
|
||||
pins = "gpio44";
|
||||
function = "gpio";
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
led_pins: led_pins {
|
||||
red {
|
||||
pins = "gpio0";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
green {
|
||||
pins = "gpio2";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-down;
|
||||
};
|
||||
|
||||
blue {
|
||||
pins = "gpio9";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-down;
|
||||
};
|
||||
};
|
||||
|
||||
spi_3_pins: spi_3_pins {
|
||||
mux {
|
||||
pins = "gpio50", "gpio52", "gpio53";
|
||||
function = "blsp3_spi";
|
||||
drive-strength = <8>;
|
||||
bias-disable;
|
||||
};
|
||||
spi_cs {
|
||||
pins = "gpio22";
|
||||
function = "blsp3_spi2";
|
||||
drive-strength = <8>;
|
||||
bias-disable;
|
||||
};
|
||||
quartz_interrupt {
|
||||
pins = "gpio47";
|
||||
function = "gpio";
|
||||
input;
|
||||
bias-disable;
|
||||
};
|
||||
quartz_reset {
|
||||
pins = "gpio21";
|
||||
function = "gpio";
|
||||
output-low;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
serial@78b3000 {
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
dp1 {
|
||||
device_type = "network";
|
||||
compatible = "qcom,nss-dp";
|
||||
qcom,id = <5>;
|
||||
reg = <0x3a001800 0x200>;
|
||||
qcom,mactype = <0>;
|
||||
local-mac-address = [000000000000];
|
||||
qcom,link-poll = <1>;
|
||||
qcom,phy-mdio-addr = <24>;
|
||||
phy-mode = "sgmii";
|
||||
};
|
||||
|
||||
dp2 {
|
||||
device_type = "network";
|
||||
compatible = "qcom,nss-dp";
|
||||
qcom,id = <6>;
|
||||
reg = <0x3a001a00 0x200>;
|
||||
qcom,mactype = <0>;
|
||||
local-mac-address = [000000000000];
|
||||
qcom,link-poll = <1>;
|
||||
qcom,phy-mdio-addr = <28>;
|
||||
phy-mode = "sgmii";
|
||||
};
|
||||
|
||||
spi@78b5000 {
|
||||
status = "ok";
|
||||
pinctrl-0 = <&spi_0_pins>;
|
||||
pinctrl-names = "default";
|
||||
cs-select = <0>;
|
||||
|
||||
m25p80@0 {
|
||||
compatible = "n25q128a11";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0>;
|
||||
spi-max-frequency = <50000000>;
|
||||
};
|
||||
};
|
||||
|
||||
spi@78b8000 {
|
||||
status = "ok";
|
||||
pinctrl-0 = <&spi_3_pins>;
|
||||
pinctrl-names = "default";
|
||||
cs-select = <2>;
|
||||
quartz-reset-gpio = <&tlmm 21 1>;
|
||||
|
||||
spidev3: spi@3 {
|
||||
compatible = "qti,spidev";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <24000000>;
|
||||
};
|
||||
};
|
||||
|
||||
dma@7984000 {
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
nand@79b0000 {
|
||||
status = "ok";
|
||||
|
||||
nand@0 {
|
||||
reg = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
nand-ecc-strength = <4>;
|
||||
nand-ecc-step-size = <512>;
|
||||
nand-bus-width = <8>;
|
||||
};
|
||||
};
|
||||
|
||||
qusb@79000 {
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
ssphy@78000 {
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
usb3@8A00000 {
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
qusb@59000 {
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
ssphy@58000 {
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
usb3@8C00000 {
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
phy@84000 {
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
phy@86000 {
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
pci@20000000 {
|
||||
perst-gpio = <&tlmm 58 1>;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
gpio_keys {
|
||||
compatible = "gpio-keys";
|
||||
pinctrl-0 = <&button_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "ok";
|
||||
|
||||
button@1 {
|
||||
label = "reset";
|
||||
linux,code = <KEY_RESTART>;
|
||||
gpios = <&tlmm 57 GPIO_ACTIVE_LOW>;
|
||||
linux,input-type = <1>;
|
||||
debounce-interval = <60>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-0 = <&led_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
red {
|
||||
label = "sys:red";
|
||||
gpio = <&tlmm 0 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
green {
|
||||
label = "sys:green";
|
||||
gpio = <&tlmm 2 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led_power: blue {
|
||||
label = "sys:blue";
|
||||
gpio = <&tlmm 9 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "off";
|
||||
};
|
||||
};
|
||||
|
||||
mdio: mdio@90000 {
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
pinctrl-names = "default";
|
||||
phy-reset-gpio = <&tlmm 37 0 &tlmm 25 0 &tlmm 44 0>;
|
||||
phy0: ethernet-phy@0 {
|
||||
reg = <0>;
|
||||
};
|
||||
phy1: ethernet-phy@1 {
|
||||
reg = <1>;
|
||||
};
|
||||
phy2: ethernet-phy@2 {
|
||||
reg = <2>;
|
||||
};
|
||||
phy3: ethernet-phy@3 {
|
||||
reg = <3>;
|
||||
};
|
||||
phy4: ethernet-phy@4 {
|
||||
reg = <24>;
|
||||
};
|
||||
phy5: ethernet-phy@5 {
|
||||
reg = <28>;
|
||||
};
|
||||
};
|
||||
|
||||
ess-switch@3a000000 {
|
||||
switch_cpu_bmp = <0x1>; /* cpu port bitmap */
|
||||
switch_lan_bmp = <0x3e>; /* lan port bitmap */
|
||||
switch_wan_bmp = <0x40>; /* wan port bitmap */
|
||||
switch_mac_mode = <0x0>; /* mac mode for uniphy instance0*/
|
||||
switch_mac_mode1 = <0xf>; /* mac mode for uniphy instance1*/
|
||||
switch_mac_mode2 = <0xf>; /* mac mode for uniphy instance2*/
|
||||
bm_tick_mode = <0>; /* bm tick mode */
|
||||
tm_tick_mode = <0>; /* tm tick mode */
|
||||
qcom,port_phyinfo {
|
||||
port@0 {
|
||||
port_id = <1>;
|
||||
phy_address = <0>;
|
||||
};
|
||||
port@1 {
|
||||
port_id = <2>;
|
||||
phy_address = <1>;
|
||||
};
|
||||
port@2 {
|
||||
port_id = <3>;
|
||||
phy_address = <2>;
|
||||
};
|
||||
port@3 {
|
||||
port_id = <4>;
|
||||
phy_address = <3>;
|
||||
};
|
||||
port@4 {
|
||||
port_id = <5>;
|
||||
phy_address = <24>;
|
||||
port_mac_sel = "QGMAC_PORT";
|
||||
};
|
||||
port@5 {
|
||||
port_id = <6>;
|
||||
phy_address = <28>;
|
||||
port_mac_sel = "QGMAC_PORT";
|
||||
};
|
||||
};
|
||||
port_scheduler_resource {
|
||||
port@0 {
|
||||
port_id = <0>;
|
||||
ucast_queue = <0 143>;
|
||||
mcast_queue = <256 271>;
|
||||
l0sp = <0 35>;
|
||||
l0cdrr = <0 47>;
|
||||
l0edrr = <0 47>;
|
||||
l1cdrr = <0 7>;
|
||||
l1edrr = <0 7>;
|
||||
};
|
||||
port@1 {
|
||||
port_id = <1>;
|
||||
ucast_queue = <144 159>;
|
||||
mcast_queue = <272 275>;
|
||||
l0sp = <36 39>;
|
||||
l0cdrr = <48 63>;
|
||||
l0edrr = <48 63>;
|
||||
l1cdrr = <8 11>;
|
||||
l1edrr = <8 11>;
|
||||
};
|
||||
port@2 {
|
||||
port_id = <2>;
|
||||
ucast_queue = <160 175>;
|
||||
mcast_queue = <276 279>;
|
||||
l0sp = <40 43>;
|
||||
l0cdrr = <64 79>;
|
||||
l0edrr = <64 79>;
|
||||
l1cdrr = <12 15>;
|
||||
l1edrr = <12 15>;
|
||||
};
|
||||
port@3 {
|
||||
port_id = <3>;
|
||||
ucast_queue = <176 191>;
|
||||
mcast_queue = <280 283>;
|
||||
l0sp = <44 47>;
|
||||
l0cdrr = <80 95>;
|
||||
l0edrr = <80 95>;
|
||||
l1cdrr = <16 19>;
|
||||
l1edrr = <16 19>;
|
||||
};
|
||||
port@4 {
|
||||
port_id = <4>;
|
||||
ucast_queue = <192 207>;
|
||||
mcast_queue = <284 287>;
|
||||
l0sp = <48 51>;
|
||||
l0cdrr = <96 111>;
|
||||
l0edrr = <96 111>;
|
||||
l1cdrr = <20 23>;
|
||||
l1edrr = <20 23>;
|
||||
};
|
||||
port@5 {
|
||||
port_id = <5>;
|
||||
ucast_queue = <208 223>;
|
||||
mcast_queue = <288 291>;
|
||||
l0sp = <52 55>;
|
||||
l0cdrr = <112 127>;
|
||||
l0edrr = <112 127>;
|
||||
l1cdrr = <24 27>;
|
||||
l1edrr = <24 27>;
|
||||
};
|
||||
port@6 {
|
||||
port_id = <6>;
|
||||
ucast_queue = <224 239>;
|
||||
mcast_queue = <292 295>;
|
||||
l0sp = <56 59>;
|
||||
l0cdrr = <128 143>;
|
||||
l0edrr = <128 143>;
|
||||
l1cdrr = <28 31>;
|
||||
l1edrr = <28 31>;
|
||||
};
|
||||
port@7 {
|
||||
port_id = <7>;
|
||||
ucast_queue = <240 255>;
|
||||
mcast_queue = <296 299>;
|
||||
l0sp = <60 63>;
|
||||
l0cdrr = <144 159>;
|
||||
l0edrr = <144 159>;
|
||||
l1cdrr = <32 35>;
|
||||
l1edrr = <32 35>;
|
||||
};
|
||||
};
|
||||
port_scheduler_config {
|
||||
port@0 {
|
||||
port_id = <0>;
|
||||
l1scheduler {
|
||||
group@0 {
|
||||
sp = <0 1>; /*L0 SPs*/
|
||||
/*cpri cdrr epri edrr*/
|
||||
cfg = <0 0 0 0>;
|
||||
};
|
||||
};
|
||||
l0scheduler {
|
||||
group@0 {
|
||||
/*unicast queues*/
|
||||
ucast_queue = <0 4 8>;
|
||||
/*multicast queues*/
|
||||
mcast_queue = <256 260>;
|
||||
/*sp cpri cdrr epri edrr*/
|
||||
cfg = <0 0 0 0 0>;
|
||||
};
|
||||
group@1 {
|
||||
ucast_queue = <1 5 9>;
|
||||
mcast_queue = <257 261>;
|
||||
cfg = <0 1 1 1 1>;
|
||||
};
|
||||
group@2 {
|
||||
ucast_queue = <2 6 10>;
|
||||
mcast_queue = <258 262>;
|
||||
cfg = <0 2 2 2 2>;
|
||||
};
|
||||
group@3 {
|
||||
ucast_queue = <3 7 11>;
|
||||
mcast_queue = <259 263>;
|
||||
cfg = <0 3 3 3 3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
port@1 {
|
||||
port_id = <1>;
|
||||
l1scheduler {
|
||||
group@0 {
|
||||
sp = <36>;
|
||||
cfg = <0 8 0 8>;
|
||||
};
|
||||
group@1 {
|
||||
sp = <37>;
|
||||
cfg = <1 9 1 9>;
|
||||
};
|
||||
};
|
||||
l0scheduler {
|
||||
group@0 {
|
||||
ucast_queue = <144>;
|
||||
ucast_loop_pri = <16>;
|
||||
mcast_queue = <272>;
|
||||
mcast_loop_pri = <4>;
|
||||
cfg = <36 0 48 0 48>;
|
||||
};
|
||||
};
|
||||
};
|
||||
port@2 {
|
||||
port_id = <2>;
|
||||
l1scheduler {
|
||||
group@0 {
|
||||
sp = <40>;
|
||||
cfg = <0 12 0 12>;
|
||||
};
|
||||
group@1 {
|
||||
sp = <41>;
|
||||
cfg = <1 13 1 13>;
|
||||
};
|
||||
};
|
||||
l0scheduler {
|
||||
group@0 {
|
||||
ucast_queue = <160>;
|
||||
ucast_loop_pri = <16>;
|
||||
mcast_queue = <276>;
|
||||
mcast_loop_pri = <4>;
|
||||
cfg = <40 0 64 0 64>;
|
||||
};
|
||||
};
|
||||
};
|
||||
port@3 {
|
||||
port_id = <3>;
|
||||
l1scheduler {
|
||||
group@0 {
|
||||
sp = <44>;
|
||||
cfg = <0 16 0 16>;
|
||||
};
|
||||
group@1 {
|
||||
sp = <45>;
|
||||
cfg = <1 17 1 17>;
|
||||
};
|
||||
};
|
||||
l0scheduler {
|
||||
group@0 {
|
||||
ucast_queue = <176>;
|
||||
ucast_loop_pri = <16>;
|
||||
mcast_queue = <280>;
|
||||
mcast_loop_pri = <4>;
|
||||
cfg = <44 0 80 0 80>;
|
||||
};
|
||||
};
|
||||
};
|
||||
port@4 {
|
||||
port_id = <4>;
|
||||
l1scheduler {
|
||||
group@0 {
|
||||
sp = <48>;
|
||||
cfg = <0 20 0 20>;
|
||||
};
|
||||
group@1 {
|
||||
sp = <49>;
|
||||
cfg = <1 21 1 21>;
|
||||
};
|
||||
};
|
||||
l0scheduler {
|
||||
group@0 {
|
||||
ucast_queue = <192>;
|
||||
ucast_loop_pri = <16>;
|
||||
mcast_queue = <284>;
|
||||
mcast_loop_pri = <4>;
|
||||
cfg = <48 0 96 0 96>;
|
||||
};
|
||||
};
|
||||
};
|
||||
port@5 {
|
||||
port_id = <5>;
|
||||
l1scheduler {
|
||||
group@0 {
|
||||
sp = <52>;
|
||||
cfg = <0 24 0 24>;
|
||||
};
|
||||
group@1 {
|
||||
sp = <53>;
|
||||
cfg = <1 25 1 25>;
|
||||
};
|
||||
};
|
||||
l0scheduler {
|
||||
group@0 {
|
||||
ucast_queue = <208>;
|
||||
ucast_loop_pri = <16>;
|
||||
mcast_queue = <288>;
|
||||
mcast_loop_pri = <4>;
|
||||
cfg = <52 0 112 0 112>;
|
||||
};
|
||||
};
|
||||
};
|
||||
port@6 {
|
||||
port_id = <6>;
|
||||
l1scheduler {
|
||||
group@0 {
|
||||
sp = <56>;
|
||||
cfg = <0 28 0 28>;
|
||||
};
|
||||
group@1 {
|
||||
sp = <57>;
|
||||
cfg = <1 29 1 29>;
|
||||
};
|
||||
};
|
||||
l0scheduler {
|
||||
group@0 {
|
||||
ucast_queue = <224>;
|
||||
ucast_loop_pri = <16>;
|
||||
mcast_queue = <292>;
|
||||
mcast_loop_pri = <4>;
|
||||
cfg = <56 0 128 0 128>;
|
||||
};
|
||||
};
|
||||
};
|
||||
port@7 {
|
||||
port_id = <7>;
|
||||
l1scheduler {
|
||||
group@0 {
|
||||
sp = <60>;
|
||||
cfg = <0 32 0 32>;
|
||||
};
|
||||
group@1 {
|
||||
sp = <61>;
|
||||
cfg = <1 33 1 33>;
|
||||
};
|
||||
};
|
||||
l0scheduler {
|
||||
group@0 {
|
||||
ucast_queue = <240>;
|
||||
ucast_loop_pri = <16>;
|
||||
mcast_queue = <296>;
|
||||
cfg = <60 0 144 0 144>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
nss-macsec0 {
|
||||
compatible = "qcom,nss-macsec";
|
||||
phy_addr = <0x18>;
|
||||
phy_access_mode = <0>;
|
||||
mdiobus = <&mdio>;
|
||||
};
|
||||
nss-macsec1 {
|
||||
compatible = "qcom,nss-macsec";
|
||||
phy_addr = <0x1c>;
|
||||
phy_access_mode = <0>;
|
||||
mdiobus = <&mdio>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&wifi0 {
|
||||
qcom,board_id = <0x90>;
|
||||
};
|
||||
|
||||
&wifi1 {
|
||||
qcom,board_id = <0x290>;
|
||||
};
|
||||
@@ -57,6 +57,17 @@ define Device/edgecore_eap106
|
||||
endef
|
||||
#TARGET_DEVICES += edgecore_eap106
|
||||
|
||||
define Device/sonicfi_rap650c
|
||||
DEVICE_TITLE := SonicFi RAP650C
|
||||
DEVICE_DTS := qcom-ipq807x-rap650c
|
||||
DEVICE_DTS_CONFIG=config@hk09
|
||||
SUPPORTED_DEVICES := sonicfi,rap650c
|
||||
DEVICE_PACKAGES := ath11k-wifi-sonicfi-rap650c uboot-envtools
|
||||
IMAGES := sysupgrade.tar nand-factory.bin nand-factory.ubi
|
||||
IMAGE/nand-factory.ubi := append-ubi
|
||||
endef
|
||||
TARGET_DEVICES += sonicfi_rap650c
|
||||
|
||||
define Device/tplink_ex227
|
||||
DEVICE_TITLE := TP-Link EX227
|
||||
DEVICE_DTS := qcom-ipq807x-ex227
|
||||
|
||||
@@ -0,0 +1,116 @@
|
||||
Index: backports-20210222_001-5.4.164-b157d2276/drivers/net/wireless/ath/ath11k/peer.c
|
||||
===================================================================
|
||||
--- backports-20210222_001-5.4.164-b157d2276.orig/drivers/net/wireless/ath/ath11k/peer.c
|
||||
+++ backports-20210222_001-5.4.164-b157d2276/drivers/net/wireless/ath/ath11k/peer.c
|
||||
@@ -789,8 +789,6 @@ int ath11k_peer_delete(struct ath11k *ar
|
||||
#endif
|
||||
lockdep_assert_held(&ar->conf_mutex);
|
||||
|
||||
- reinit_completion(&ar->peer_delete_done);
|
||||
-
|
||||
ath11k_nss_peer_delete(ar->ab, vdev_id, addr);
|
||||
#ifdef CCPTCFG_ATH11K_NSS_SUPPORTPTCFG_ATH11K_NSS_SUPPORT
|
||||
mutex_lock(&ar->ab->base_ast_lock);
|
||||
@@ -799,33 +797,60 @@ int ath11k_peer_delete(struct ath11k *ar
|
||||
spin_lock_bh(&ar->ab->base_lock);
|
||||
|
||||
peer = ath11k_peer_find_by_addr(ar->ab, addr);
|
||||
- if (peer) {
|
||||
+ /* Check if the found peer is what we want to remove.
|
||||
+ * While the sta is transitioning to another band we may
|
||||
+ * have 2 peer with the same addr assigned to different
|
||||
+ * vdev_id. Make sure we are deleting the correct peer.
|
||||
+ */
|
||||
+ if (peer && peer->vdev_id == vdev_id)
|
||||
+ ath11k_peer_rhash_delete(ar->ab, peer);
|
||||
+
|
||||
+ /* Fallback to peer list search if the correct peer can't be found.
|
||||
+ * Skip the deletion of the peer from the rhash since it has already
|
||||
+ * been deleted in peer add.
|
||||
+ */
|
||||
+ if (!peer)
|
||||
+ peer = ath11k_peer_find(ar->ab, vdev_id, addr);
|
||||
+
|
||||
+
|
||||
+ if (!peer) {
|
||||
+ spin_unlock_bh(&ar->ab->base_lock);
|
||||
+ mutex_unlock(&ar->ab->tbl_mtx_lock);
|
||||
#ifdef CPTCFG_ATH11K_NSS_SUPPORT
|
||||
- peer->delete_in_progress = true;
|
||||
- if (peer->self_ast_entry) {
|
||||
- ath11k_peer_del_ast(ar, peer->self_ast_entry);
|
||||
- peer->self_ast_entry = NULL;
|
||||
- }
|
||||
+ mutex_unlock(&ar->ab->base_ast_lock);
|
||||
+#endif
|
||||
+ ath11k_warn(ar->ab,
|
||||
+ "failed to find peer vdev_id %d addr %pM in delete\n",
|
||||
+ vdev_id, addr);
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+
|
||||
+#ifdef CPTCFG_ATH11K_NSS_SUPPORT
|
||||
+ peer->delete_in_progress = true;
|
||||
+ if (peer->self_ast_entry) {
|
||||
+ ath11k_peer_del_ast(ar, peer->self_ast_entry);
|
||||
+ peer->self_ast_entry = NULL;
|
||||
+ }
|
||||
|
||||
- list_for_each_entry_safe(ast_entry, tmp_ast,
|
||||
- &peer->ast_entry_list, ase_list)
|
||||
- if ((ast_entry->type == ATH11K_AST_TYPE_WDS) ||
|
||||
- (ast_entry->type == ATH11K_AST_TYPE_MEC)) {
|
||||
- if (!list_empty(&ast_entry->wmi_list)) {
|
||||
- ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
|
||||
- "%s deleting unprocessed ast entry %pM of peer %pM from wmi list\n",
|
||||
- __func__, ast_entry->addr, addr);
|
||||
- list_del_init(&ast_entry->wmi_list);
|
||||
- }
|
||||
+ list_for_each_entry_safe(ast_entry, tmp_ast,
|
||||
+ &peer->ast_entry_list, ase_list)
|
||||
+ if ((ast_entry->type == ATH11K_AST_TYPE_WDS) ||
|
||||
+ (ast_entry->type == ATH11K_AST_TYPE_MEC)) {
|
||||
+ if (!list_empty(&ast_entry->wmi_list)) {
|
||||
+ ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
|
||||
+ "%s deleting unprocessed ast entry %pM of peer %pM from wmi list\n",
|
||||
+ __func__, ast_entry->addr, addr);
|
||||
+ list_del_init(&ast_entry->wmi_list);
|
||||
}
|
||||
+ }
|
||||
#endif
|
||||
- ath11k_peer_rhash_delete(ar->ab, peer);
|
||||
- }
|
||||
spin_unlock_bh(&ar->ab->base_lock);
|
||||
mutex_unlock(&ar->ab->tbl_mtx_lock);
|
||||
#ifdef CPTCFG_ATH11K_NSS_SUPPORT
|
||||
mutex_unlock(&ar->ab->base_ast_lock);
|
||||
#endif
|
||||
+ reinit_completion(&ar->peer_delete_done);
|
||||
+
|
||||
ret = ath11k_wmi_send_peer_delete_cmd(ar, addr, vdev_id);
|
||||
if (ret) {
|
||||
ath11k_warn(ar->ab,
|
||||
@@ -866,14 +891,20 @@ int ath11k_peer_create(struct ath11k *ar
|
||||
"failed to create peer due to insufficient peer entry resource in firmware\n");
|
||||
return -ENOBUFS;
|
||||
}
|
||||
-
|
||||
+ mutex_lock(&ar->ab->tbl_mtx_lock);
|
||||
spin_lock_bh(&ar->ab->base_lock);
|
||||
peer = ath11k_peer_find_by_addr(ar->ab, param->peer_addr);
|
||||
if (peer) {
|
||||
- spin_unlock_bh(&ar->ab->base_lock);
|
||||
- return -EINVAL;
|
||||
+ if (peer->vdev_id == param->vdev_id) {
|
||||
+ spin_unlock_bh(&ar->ab->base_lock);
|
||||
+ mutex_unlock(&ar->ab->tbl_mtx_lock);
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+ ath11k_peer_rhash_delete(ar->ab, peer);
|
||||
}
|
||||
+
|
||||
spin_unlock_bh(&ar->ab->base_lock);
|
||||
+ mutex_unlock(&ar->ab->tbl_mtx_lock);
|
||||
|
||||
ret = ath11k_wmi_send_peer_create_cmd(ar, param);
|
||||
if (ret) {
|
||||
@@ -0,0 +1,349 @@
|
||||
/dts-v1/;
|
||||
#include "mt7981.dtsi"
|
||||
/ {
|
||||
model = "Emplus WAP588M";
|
||||
compatible = "emplus,wap588m";
|
||||
chosen {
|
||||
bootargs = "console=ttyS0,115200n1 loglevel=8 \
|
||||
earlycon=uart8250,mmio32,0x11002000";
|
||||
};
|
||||
|
||||
memory {
|
||||
reg = <0 0x40000000 0 0x10000000>;
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
linux,code = <KEY_RESTART>;
|
||||
gpios = <&pio 1 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
power {
|
||||
label = "power";
|
||||
gpios = <&pio 11 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "timer";
|
||||
default-state = "on";
|
||||
|
||||
};
|
||||
wifi2g {
|
||||
label = "wifi2g";
|
||||
gpios = <&pio 9 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "ra0";
|
||||
};
|
||||
wifi5g {
|
||||
label = "wifi5g";
|
||||
gpios = <&pio 12 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "rax0";
|
||||
};
|
||||
lan {
|
||||
label = "lan";
|
||||
gpios = <&pio 10 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "eth0";
|
||||
};
|
||||
wan {
|
||||
label = "wan";
|
||||
gpios = <&pio 13 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "eth1";
|
||||
};
|
||||
};
|
||||
|
||||
nmbm_spim_nand {
|
||||
compatible = "generic,nmbm";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
lower-mtd-device = <&spi_nand>;
|
||||
forced-create;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "BL2";
|
||||
reg = <0x00000 0x0100000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@100000 {
|
||||
label = "u-boot-env";
|
||||
reg = <0x0100000 0x0080000>;
|
||||
};
|
||||
|
||||
factory: partition@180000 {
|
||||
label = "Factory";
|
||||
reg = <0x180000 0x0200000>;
|
||||
};
|
||||
|
||||
partition@380000 {
|
||||
label = "FIP";
|
||||
reg = <0x380000 0x0200000>;
|
||||
};
|
||||
|
||||
partition@580000 {
|
||||
label = "ubi"; //110MB
|
||||
reg = <0x580000 0x3700000>;
|
||||
};
|
||||
|
||||
partition@3C80000 {
|
||||
label = "ubi_1"; //110MB
|
||||
reg = <0x3C80000 0x3700000>;
|
||||
};
|
||||
|
||||
partition@7380000 {
|
||||
label = "cert"; //384KB
|
||||
reg = <0x7380000 0x0060000>;
|
||||
};
|
||||
|
||||
partition@73E0000 {
|
||||
label = "userconfig"; //640KB
|
||||
reg = <0x73E0000 0x00a0000>;
|
||||
};
|
||||
|
||||
partition@7480000 {
|
||||
label = "crashdump"; //384KB
|
||||
reg = <0x7480000 0x0060000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
sound_wm8960 {
|
||||
compatible = "mediatek,mt79xx-wm8960-machine";
|
||||
mediatek,platform = <&afe>;
|
||||
audio-routing = "Headphone", "HP_L",
|
||||
"Headphone", "HP_R",
|
||||
"LINPUT1", "AMIC",
|
||||
"RINPUT1", "AMIC";
|
||||
mediatek,audio-codec = <&wm8960>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sound_si3218x {
|
||||
compatible = "mediatek,mt79xx-si3218x-machine";
|
||||
mediatek,platform = <&afe>;
|
||||
mediatek,ext-codec = <&proslic_spi>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
&afe {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pcm_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c_pins>;
|
||||
status = "disabled";
|
||||
|
||||
wm8960: wm8960@1a {
|
||||
compatible = "wlf,wm8960";
|
||||
reg = <0x1a>;
|
||||
};
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&watchdog {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ð {
|
||||
status = "okay";
|
||||
|
||||
gmac0: mac@0 {
|
||||
compatible = "mediatek,eth-mac";
|
||||
reg = <0>;
|
||||
phy-mode = "sgmii";
|
||||
phy-handle = <&phy1>;
|
||||
};
|
||||
|
||||
gmac1: mac@1 {
|
||||
compatible = "mediatek,eth-mac";
|
||||
reg = <1>;
|
||||
phy-mode = "gmii";
|
||||
phy-handle = <&phy0>;
|
||||
};
|
||||
|
||||
mdio: mdio-bus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
// MT7981 internal PHY
|
||||
phy0: ethernet-phy@0 {
|
||||
compatible = "ethernet-phy-id03a2.9461";
|
||||
reg = <0>;
|
||||
phy-mode = "gmii";
|
||||
nvmem-cells = <&phy_calibration>;
|
||||
nvmem-cell-names = "phy-cal-data";
|
||||
};
|
||||
|
||||
|
||||
// RTL8211FS PHY
|
||||
phy1: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-id001c.c916";
|
||||
reg = <1>;
|
||||
reset-gpios = <&pio 39 GPIO_ACTIVE_LOW>;
|
||||
reset-assert-us = <120000>;
|
||||
reset-deassert-us = <120000>;
|
||||
phy-mode = "sgmii";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&hnat {
|
||||
mtketh-wan = "eth1";
|
||||
mtketh-lan = "eth0";
|
||||
mtketh-max-gmac = <2>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi0_flash_pins>;
|
||||
status = "okay";
|
||||
spi_nand: spi_nand@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "spi-nand";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <52000000>;
|
||||
spi-tx-bus-width = <4>;
|
||||
spi-rx-bus-width = <4>;
|
||||
};
|
||||
};
|
||||
|
||||
&spi1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spic_pins>;
|
||||
status = "okay";
|
||||
|
||||
proslic_spi: proslic_spi@0 {
|
||||
compatible = "silabs,proslic_spi";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <10000000>;
|
||||
spi-cpha = <1>;
|
||||
spi-cpol = <1>;
|
||||
channel_count = <1>;
|
||||
debug_level = <4>; /* 1 = TRC, 2 = DBG, 4 = ERR */
|
||||
reset_gpio = <&pio 15 0>;
|
||||
ig,enable-spi = <1>; /* 1: Enable, 0: Disable */
|
||||
};
|
||||
};
|
||||
|
||||
&wbsys {
|
||||
mediatek,mtd-eeprom = <&factory 0x0000>;
|
||||
status = "okay";
|
||||
pinctrl-names = "dbdc";
|
||||
pinctrl-0 = <&wf_dbdc_pins>;
|
||||
};
|
||||
|
||||
&pio {
|
||||
|
||||
i2c_pins: i2c-pins-g0 {
|
||||
mux {
|
||||
function = "i2c";
|
||||
groups = "i2c0_0";
|
||||
};
|
||||
};
|
||||
|
||||
pcm_pins: pcm-pins-g0 {
|
||||
mux {
|
||||
function = "pcm";
|
||||
groups = "pcm";
|
||||
};
|
||||
};
|
||||
|
||||
pwm0_pin: pwm0-pin-g0 {
|
||||
mux {
|
||||
function = "pwm";
|
||||
groups = "pwm0_0";
|
||||
};
|
||||
};
|
||||
|
||||
pwm1_pin: pwm1-pin-g0 {
|
||||
mux {
|
||||
function = "pwm";
|
||||
groups = "pwm1_0";
|
||||
};
|
||||
};
|
||||
|
||||
pwm2_pin: pwm2-pin {
|
||||
mux {
|
||||
function = "pwm";
|
||||
groups = "pwm2";
|
||||
};
|
||||
};
|
||||
|
||||
spi0_flash_pins: spi0-pins {
|
||||
mux {
|
||||
function = "spi";
|
||||
groups = "spi0", "spi0_wp_hold";
|
||||
};
|
||||
|
||||
conf-pu {
|
||||
pins = "SPI0_CS", "SPI0_HOLD", "SPI0_WP";
|
||||
drive-strength = <MTK_DRIVE_8mA>;
|
||||
bias-pull-up = <MTK_PUPD_SET_R1R0_11>;
|
||||
};
|
||||
|
||||
conf-pd {
|
||||
pins = "SPI0_CLK", "SPI0_MOSI", "SPI0_MISO";
|
||||
drive-strength = <MTK_DRIVE_8mA>;
|
||||
bias-pull-down = <MTK_PUPD_SET_R1R0_11>;
|
||||
};
|
||||
};
|
||||
|
||||
spic_pins: spi1-pins {
|
||||
mux {
|
||||
function = "spi";
|
||||
groups = "spi1_1";
|
||||
};
|
||||
};
|
||||
|
||||
uart1_pins: uart1-pins-g1 {
|
||||
mux {
|
||||
function = "uart";
|
||||
groups = "uart1_1";
|
||||
};
|
||||
};
|
||||
|
||||
uart2_pins: uart2-pins-g1 {
|
||||
mux {
|
||||
function = "uart";
|
||||
groups = "uart2_1";
|
||||
};
|
||||
};
|
||||
wf_dbdc_pins: wf_dbdc-pins {
|
||||
mux {
|
||||
function = "eth";
|
||||
groups = "wf0_mode1";
|
||||
};
|
||||
conf {
|
||||
pins = "WF_HB1", "WF_HB2", "WF_HB3", "WF_HB4",
|
||||
"WF_HB0", "WF_HB0_B", "WF_HB5", "WF_HB6",
|
||||
"WF_HB7", "WF_HB8", "WF_HB9", "WF_HB10",
|
||||
"WF_TOP_CLK", "WF_TOP_DATA", "WF_XO_REQ",
|
||||
"WF_CBA_RESETB", "WF_DIG_RESETB";
|
||||
drive-strength = <MTK_DRIVE_4mA>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&xhci {
|
||||
mediatek,u3p-dis-msk = <0x0>;
|
||||
phys = <&u2port0 PHY_TYPE_USB2>,
|
||||
<&u3port0 PHY_TYPE_USB3>;
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -9,6 +9,11 @@
|
||||
/ {
|
||||
aliases {
|
||||
serial0 = &uart0;
|
||||
|
||||
led-boot = &led_power;
|
||||
led-failsafe = &led_power;
|
||||
led-running = &led_power;
|
||||
led-upgrade = &led_power;
|
||||
};
|
||||
|
||||
chosen {
|
||||
@@ -39,31 +44,22 @@
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_blue {
|
||||
led_power: led_blue {
|
||||
label = "sys:blue";
|
||||
gpios = <&pio 23 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "timer";
|
||||
active-delay = <500>;
|
||||
inactive-delay = <500>;
|
||||
default-state="on";
|
||||
default-state="off";
|
||||
};
|
||||
|
||||
led_green {
|
||||
label = "sys:green";
|
||||
gpios = <&pio 24 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "timer";
|
||||
active-delay = <500>;
|
||||
inactive-delay = <500>;
|
||||
default-state="on";
|
||||
default-state="off";
|
||||
};
|
||||
|
||||
led_red {
|
||||
label = "sys:red";
|
||||
gpios = <&pio 25 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "timer";
|
||||
active-delay = <500>;
|
||||
inactive-delay = <500>;
|
||||
default-state="on";
|
||||
default-state="off";
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -113,7 +109,7 @@
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
label = "lan1";
|
||||
label = "lan3";
|
||||
};
|
||||
|
||||
port@1 {
|
||||
@@ -123,7 +119,7 @@
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
label = "lan3";
|
||||
label = "lan1";
|
||||
};
|
||||
|
||||
port@6 {
|
||||
|
||||
@@ -307,3 +307,28 @@ define Device/senao_jeap6500
|
||||
endef
|
||||
TARGET_DEVICES += senao_jeap6500
|
||||
DEFAULT_DEVICE_VARS += FIT_KEY_DIR FIT_KEY_NAME
|
||||
|
||||
define Device/emplus_wap588m
|
||||
DEVICE_VENDOR := EMPLUS
|
||||
DEVICE_MODEL := WAP588M
|
||||
DEVICE_DTS := mt7981-emplus-wap588m
|
||||
DEVICE_DTS_DIR := $(DTS_DIR)/mediatek
|
||||
SUPPORTED_DEVICES := emplus,wap588m
|
||||
DEVICE_PACKAGES := kmod-mt7981-firmware kmod-mt7915e uboot-envtools -procd-ujail
|
||||
UBINIZE_OPTS := -E 5
|
||||
BLOCKSIZE := 128k
|
||||
PAGESIZE := 2048
|
||||
IMAGE_SIZE := 65536k
|
||||
KERNEL_IN_UBI := 1
|
||||
FIT_KEY_DIR := $(DTS_DIR)/mediatek/keys/emplus_wap588m
|
||||
FIT_KEY_NAME := fit_key
|
||||
IMAGES += factory.bin
|
||||
IMAGE/factory.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
|
||||
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
|
||||
KERNEL = kernel-bin | lzma | \
|
||||
fit-sign lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
|
||||
KERNEL_INITRAMFS = kernel-bin | lzma | \
|
||||
fit-sign lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd
|
||||
endef
|
||||
TARGET_DEVICES += emplus_wap588m
|
||||
DEFAULT_DEVICE_VARS += FIT_KEY_DIR FIT_KEY_NAME
|
||||
|
||||
@@ -18,6 +18,7 @@ case "$board" in
|
||||
edgecore,eap111|\
|
||||
edgecore,eap112|\
|
||||
senao,iap2300m|\
|
||||
emplus,wap588m|\
|
||||
senao,jeap6500)
|
||||
ubootenv_add_uci_config "/dev/mtd2" "0x0" "0x20000" "0x20000"
|
||||
;;
|
||||
|
||||
@@ -2,13 +2,13 @@ REQUIRE_IMAGE_METADATA=1
|
||||
|
||||
senao_swap_active_fw() {
|
||||
echo "Doing swap active_fw" > /dev/console
|
||||
tmp_active_fw=$(fw_printenv -n active_fw)
|
||||
tmp_active_fw=$(fw_printenv | grep active_fw | awk -F= {'print $2'})
|
||||
if [ $tmp_active_fw == "0" ]; then
|
||||
fw_setenv active_fw 1
|
||||
fw_setenv mtdparts nmbm0:1024k\(bl2\),512k\(u-boot-env\),2048k\(factory\),2048k\(fip\),112640k\(ubi_1\),112640k\(ubi\),384k\(cert\),640k\(userconfig\),384k\(crashdump\)
|
||||
fw_setenv mtdparts nmbm0:1024k\(bl2\),512k\(u-boot-env\),2048k\(factory\),2048k\(fip\),56320k\(ubi_1\),56320k\(ubi\),384k\(cert\),640k\(userconfig\),384k\(crashdump\)
|
||||
else
|
||||
fw_setenv active_fw 0
|
||||
fw_setenv mtdparts nmbm0:1024k\(bl2\),512k\(u-boot-env\),2048k\(factory\),2048k\(fip\),112640k\(ubi\),112640k\(ubi_1\),384k\(cert\),640k\(userconfig\),384k\(crashdump\)
|
||||
fw_setenv mtdparts nmbm0:1024k\(bl2\),512k\(u-boot-env\),2048k\(factory\),2048k\(fip\),56320k\(ubi\),56320k\(ubi_1\),384k\(cert\),640k\(userconfig\),384k\(crashdump\)
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -47,6 +47,7 @@ platform_do_upgrade() {
|
||||
nand_do_upgrade "$1"
|
||||
;;
|
||||
senao,iap2300m|\
|
||||
emplus,wap588m|\
|
||||
senao,jeap6500)
|
||||
CI_UBIPART="ubi_1"
|
||||
nand_do_upgrade "$1"
|
||||
@@ -68,6 +69,7 @@ platform_check_image() {
|
||||
edgecore,eap111|\
|
||||
edgecore,eap112|\
|
||||
senao,iap2300m|\
|
||||
emplus,wap588m|\
|
||||
senao,jeap6500)
|
||||
nand_do_platform_check "$board" "$1"
|
||||
return $?
|
||||
|
||||
24
feeds/qca-wifi-7/ath12k-firmware/Makefile
Normal file → Executable file
24
feeds/qca-wifi-7/ath12k-firmware/Makefile
Normal file → Executable file
@@ -42,6 +42,15 @@ define Package/ath12k-firmware-ipq5332-peb/description
|
||||
Standard ath12k firmware for IPQ5332 + Pebble from QCA
|
||||
endef
|
||||
|
||||
define Package/ath12k-firmware-ipq5332-peb-peb
|
||||
$(Package/ath12k-firmware-default)
|
||||
TITLE:=ath12k firmware for IPQ5332 + Pebble + Pebble devices
|
||||
endef
|
||||
|
||||
define Package/ath12k-firmware-ipq5332-peb-peb/description
|
||||
Standard ath12k firmware for IPQ5332 + Pebble + Pebble from QCA
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
|
||||
endef
|
||||
@@ -60,10 +69,23 @@ endef
|
||||
|
||||
define Package/ath12k-firmware-ipq5332-peb/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/IPQ5332/
|
||||
$(INSTALL_DATA) ./files/IPQ5332_peb/* \
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/qcn6432/
|
||||
$(INSTALL_DATA) ./files/IPQ5332_peb/*.* \
|
||||
$(1)/lib/firmware/IPQ5332/
|
||||
$(INSTALL_DATA) ./files/IPQ5332_peb/qcn6432/* \
|
||||
$(1)/lib/firmware/qcn6432/
|
||||
endef
|
||||
|
||||
define Package/ath12k-firmware-ipq5332-peb-peb/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/IPQ5332/
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/qcn6432/
|
||||
$(INSTALL_DATA) ./files/IPQ5332_peb_peb/*.* \
|
||||
$(1)/lib/firmware/IPQ5332/
|
||||
$(INSTALL_DATA) ./files/IPQ5332_peb_peb/qcn6432/* \
|
||||
$(1)/lib/firmware/qcn6432/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,ath12k-firmware-qcn92xx))
|
||||
$(eval $(call BuildPackage,ath12k-firmware-ipq5332))
|
||||
$(eval $(call BuildPackage,ath12k-firmware-ipq5332-peb))
|
||||
$(eval $(call BuildPackage,ath12k-firmware-ipq5332-peb-peb))
|
||||
|
||||
13678
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb/qcn6432/Data.msc
Executable file
13678
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb/qcn6432/Data.msc
Executable file
File diff suppressed because it is too large
Load Diff
16
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb/qcn6432/fw_ini_cfg.bin
Executable file
16
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb/qcn6432/fw_ini_cfg.bin
Executable file
@@ -0,0 +1,16 @@
|
||||
//Number of VAPs
|
||||
{"Mode": 0,"num vap":17} // Max VAP support is 17 per MAC
|
||||
{"Mode": 1,"num vap":17} // Max VAP support is 17 per MAC
|
||||
{"Mode": 2,"num vap":17} // Max VAP support is 17 per MAC
|
||||
|
||||
//Number of clients
|
||||
{"Mode":0, "num clients":256} // Max client support is 256 for both single MAC and dual MAC
|
||||
{"Mode":1, "num clients":256} // Max client support is 256 per MAC
|
||||
{"Mode":2, "num clients":256} // Max client support is 256 per MAC
|
||||
|
||||
// Please do not reduce the default configuration while working in QWRAP Mode.
|
||||
|
||||
//AFC Proxy ,Deployment type ,Power mode mask INI configuration
|
||||
{"afc_local_rsvd":0,"Deployment_Type":1,"Power_mode_mask":7}
|
||||
2<EFBFBD>=R<02>[I<>
|
||||
<EFBFBD>;<3B>b|G%<25><><19><05>ъ[<5B>nT
|
||||
BIN
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb/qcn6432/iu_fw.b00
Executable file
BIN
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb/qcn6432/iu_fw.b00
Executable file
Binary file not shown.
BIN
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb/qcn6432/iu_fw.b01
Executable file
BIN
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb/qcn6432/iu_fw.b01
Executable file
Binary file not shown.
BIN
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb/qcn6432/iu_fw.b02
Executable file
BIN
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb/qcn6432/iu_fw.b02
Executable file
Binary file not shown.
3
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb/qcn6432/iu_fw.flist
Executable file
3
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb/qcn6432/iu_fw.flist
Executable file
@@ -0,0 +1,3 @@
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_eval/PIL_IMAGES/qcn6432/iu_fw.b00
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_eval/PIL_IMAGES/qcn6432/iu_fw.b01
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_eval/PIL_IMAGES/qcn6432/iu_fw.b02
|
||||
BIN
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb/qcn6432/iu_fw.mdt
Executable file
BIN
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb/qcn6432/iu_fw.mdt
Executable file
Binary file not shown.
181
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb/qcn6432/qdss_trace_config.bin
Executable file
181
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb/qcn6432/qdss_trace_config.bin
Executable file
@@ -0,0 +1,181 @@
|
||||
seq_start;
|
||||
seq_type:mem_req;
|
||||
sink:etr_ddr,0x1,0x400;
|
||||
seq_end;
|
||||
seq_start;
|
||||
seq_type:mac_event_trace;
|
||||
subsys_cfg_start:umac;
|
||||
cxc_eb0:0x2,0x42AAA8B3,0x64BFA3C0,0x00008000,0x0001C0FC;
|
||||
reo_eb0:0x4,0x61C81F4,0x0,0x0,0x0;
|
||||
tqm_eb0:0x5,0xCDB3C6C6,0x803007E0,0x0,0x0;
|
||||
tcl_eb0:0x6,0x25030034,0x3000,0x0,0x0;
|
||||
wbm_eb0:0x7,0x880004,0x380000,0x0,0x0;
|
||||
cxc_eb1:0x8,0x42AAA8B3,0x64BFA3C0,0x00008000,0x0001C0FC;
|
||||
tcl_eb1:0x9,0x25030034,0x3000,0x0,0x0;
|
||||
reo_eb1:0xA,0x61C81F4,0x0,0x0,0x0;
|
||||
tqm_eb1:0xB,0xCDB3C6C6,0x803007E0,0x0,0x0;
|
||||
wbm_eb1:0xC,0x880004,0x380000,0x0,0x0;
|
||||
mxi:0xD,0x122234,0x0,0x0,0x0;
|
||||
wsib:0xE,0x0,0x0,0x0,0x0;
|
||||
memw:0x0;
|
||||
subsys_cfg_end:umac;
|
||||
subsys_cfg_start:dmac;
|
||||
swevt:0x0,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000;
|
||||
txdma_eb0:0x1,0x200,0x0,0x0,0x0;
|
||||
txdma_eb1:0x2,0xD9220,0xAF0,0x0,0x0;
|
||||
txdma_eb2:0x3,0xD9220,0xAF0,0x0,0x0;
|
||||
rxdma_eb0:0x4,0x93297E3F,0xC00000,0x0,0x0;
|
||||
rxdma_eb1:0x5,0x707F,0x0,0x0,0x0;
|
||||
txole_eb0:0x6,0xFFFFFFFF,0x0,0x0,0x0;
|
||||
txole_eb1:0x7,0x781F0734,0x6,0x0,0x0;
|
||||
txole_eb2:0x8,0x781F0734,0x6,0x0,0x0;
|
||||
rxole_eb0:0x9,0xF,0x0,0x0,0x0;
|
||||
rxole_eb1:0xA,0x7F,0x0,0x0,0x0;
|
||||
rxole_eb2:0xB,0x7F,0x0,0x0,0x0;
|
||||
crypto:0xC,0xFF3FFF,0x0,0x0,0x0;
|
||||
mxi:0xD,0x122234,0x0,0x0,0x0;
|
||||
sfm_eb0:0xE,0x40000003,0x7F8,0x0,0x0;
|
||||
rxmon_eb0:0x14,0x22800010,0x40A00,0x0,0x0;
|
||||
rxmon_eb1:0x15,0x18005000,0x18,0x0,0x0;
|
||||
txmon_eb0:0x12,0x22800010,0x40A00,0x0,0x0;
|
||||
txmon_eb1:0x13,0x98005000,0x199,0x0,0x0;
|
||||
memw:0x0;
|
||||
subsys_cfg_end:dmac;
|
||||
subsys_cfg_start:pmac0;
|
||||
swevt:0x0,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000;
|
||||
hwsch:0x1,0x803FFFF7,0x30003,0x0,0x0;
|
||||
pdg:0x2,0xE430F87,0x622856E,0x0,0x0;
|
||||
txpcu_eb0:0x8,0xE87A047,0x132,0x0,0x0;
|
||||
rxpcu_eb0:0x9,0x10060217,0x1F24500,0x0,0x0;
|
||||
rri:0xa,0x0,0x0,0x0,0x0;
|
||||
ampi:0xb,0x69C07,0x0,0x0,0x0;
|
||||
mxi:0xd,0x122234,0x0,0x0,0x0;
|
||||
txpcu_eb1:0x10,0x0,0x0,0x0,0x0;
|
||||
sfm_eb1:0x12,0x40000003,0x7F8,0x0,0x0;
|
||||
rxpcu_eb1:0x13,0x0,0x0,0x0,0x0;
|
||||
hwmlo:0x1c,0x1C100004,0x7800,0x0,0x0;
|
||||
memw:0x0;
|
||||
subsys_cfg_end:pmac0;
|
||||
subsys_cfg_start:pmac1;
|
||||
swevt:0x0,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000;
|
||||
hwsch:0x1,0x803FFFF7,0x30003,0x0,0x0;
|
||||
pdg:0x2,0xE430F87,0x622856E,0x0,0x0;
|
||||
txpcu_eb0:0x8,0xE87A047,0x132,0x0,0x0;
|
||||
rxpcu_eb0:0x9,0x10060217,0x1F24500,0x0,0x0;
|
||||
rri:0xa,0x0,0x0,0x0,0x0;
|
||||
ampi:0xb,0x69C07,0x0,0x0,0x0;
|
||||
mxi:0xd,0x122234,0x0,0x0,0x0;
|
||||
txpcu_eb1:0x10,0x0,0x0,0x0,0x0;
|
||||
sfm_eb1:0x12,0x40000003,0x7F8,0x0,0x0;
|
||||
rxpcu_eb1:0x13,0x0,0x0,0x0,0x0;
|
||||
hwmlo:0x1c,0x1C100004,0x7800,0x0,0x0;
|
||||
memw:0x0;
|
||||
subsys_cfg_end:pmac1;
|
||||
seq_end;
|
||||
seq_start;
|
||||
seq_type:phy_event_trace;
|
||||
subsys_cfg_start:phya0;
|
||||
data_tlv:0;
|
||||
wsi:0x0,0x00000000,0x00000000;
|
||||
rfcntl:0x0,0x00000000,0x00000000;
|
||||
tpc:0x0,0x00000000,0x00000000;
|
||||
cal:0x0,0x00000000,0x00000000;
|
||||
impcorr:0x0,0x00000000,0x00000000;
|
||||
mpi:0x6,0x00000006,0x00000000;
|
||||
fft:0x0,0x00000000,0x00000000;
|
||||
txtd:0x0,0x00000000,0x00000000;
|
||||
pmi:0x9,0x0000000A,0x00000000;
|
||||
rxtd:0xa,0x0000000A,0x00000000;
|
||||
demfront:0x0,0x00000000,0x00000000;
|
||||
pcss:0xc,0x0000003E,0x00000000;
|
||||
txfd:0x0,0x00000000,0x00000000;
|
||||
robe:0x0,0x00000000,0x00000000;
|
||||
dmac_0_1:0x0,0x00000000,0x00000000;
|
||||
dmac_2_3:0x0,0x00000000,0x00000000;
|
||||
dmac_4_5:0x0,0x00000000,0x00000000;
|
||||
dmac_6:0x0,0x00000000,0x00000000;
|
||||
eos:0x0,0x00000000,0x00000000;
|
||||
subsys_cfg_end:phya0;
|
||||
//subsys_cfg_start:phya1;
|
||||
//data_tlv:1;
|
||||
//wsi:0x0,0x00000000,0x00000000;
|
||||
//rfcntl:0x0,0x00000000,0x00000000;
|
||||
//tpc:0x0,0x00000000,0x00000000;
|
||||
//cal:0x0,0x00000000,0x00000000;
|
||||
//impcorr:0x0,0x00000000,0x00000000;
|
||||
//mpi:0x6,0x00000006,0x00000000;
|
||||
//fft:0x0,0x00000000,0x00000000;
|
||||
//txtd:0x0,0x00000000,0x00000000;
|
||||
//pmi:0x9,0x0000000A,0x00000000;
|
||||
//rxtd:0xa,0x0000000A,0x00000000;
|
||||
//demfront:0x0,0x00000000,0x00000000;
|
||||
//pcss:0xc,0x0000003E,0x00000000;
|
||||
//txfd:0x0,0x00000000,0x00000000;
|
||||
//robe:0x0,0x00000000,0x00000000;
|
||||
//dmac_0_1:0x0,0x00000000,0x00000000;
|
||||
//dmac_2_3:0x0,0x00000000,0x00000000;
|
||||
//dmac_4_5:0x0,0x00000000,0x00000000;
|
||||
//dmac_6:0x0,0x00000000,0x00000000;
|
||||
//eos:0x0,0x00000000,0x00000000;
|
||||
//subsys_cfg_end:phya1;
|
||||
seq_end;
|
||||
//seq_start;
|
||||
//seq_type:noc_trace;
|
||||
//noc_id:umacnoc;
|
||||
//syncoutperiod:0x1F;
|
||||
//probe_id:0x0;
|
||||
//probe_type:0x2;
|
||||
//probe_andinv:0x0;
|
||||
//probe_portsel:0x1;
|
||||
//filter0_path:0x0;
|
||||
//filter0_path_mask:0x0;
|
||||
//filter0_addr_min_lo:0x0;
|
||||
//filter0_addr_min_hi:0x0;
|
||||
//filter0_addr_max_lo:0xFFFFFFFF;
|
||||
//filter0_addr_max_hi:0xF;
|
||||
//filter0_opcode:0x3;
|
||||
//filter0_status:0x3;
|
||||
//filter0_trtype:0x0;
|
||||
//filter0_extid:0x0;
|
||||
//filter0_extid_mask:0x0;
|
||||
//filter1_path:0x0;
|
||||
//filter1_path_mask:0x0;
|
||||
//filter1_addr_min_lo:0x0;
|
||||
//filter1_addr_min_hi:0x0;
|
||||
//filter1_addr_max_lo:0xFFFFFFFF;
|
||||
//filter1_addr_max_hi:0xF;
|
||||
//filter1_opcode:0x3;
|
||||
//filter1_status:0x3;
|
||||
//filter1_trtype:0x0;
|
||||
//filter1_extid:0x0;
|
||||
//filter1_extid_mask:0x0;
|
||||
//seq_end;
|
||||
//seq_start;
|
||||
//seq_type:mac_tlv_trace;
|
||||
//subsys_cfg_start:pmac0;
|
||||
//tlv_port:tqm_hwsch_tlv;
|
||||
//tlv_config:tlv_type,other_tlv,specific_tlv,data_tlv;
|
||||
//tlv_config:1,3,3,3;
|
||||
//memw:0x2,0x10220A0,0xFFFFFDFF,0x10220B0,0x7FFFFFFF;
|
||||
//subsys_cfg_end:pmac0;
|
||||
//seq_end;
|
||||
//seq_start;
|
||||
//seq_start;
|
||||
//seq_type:mac_tlv_trace;
|
||||
//subsys_cfg_start:pmac1;
|
||||
//tlv_port:tqm_hwsch_tlv;
|
||||
//tlv_config:tlv_type,other_tlv,specific_tlv,data_tlv;
|
||||
//tlv_config:1,3,3,3;
|
||||
//memw:0x2,0x10220A0,0xFFFFFDFF,0x10220B0,0x7FFFFFFF;
|
||||
//subsys_cfg_end:pmac1;
|
||||
//seq_end;
|
||||
//seq_start;
|
||||
//seq_type:mac_obo_trace;
|
||||
//subsys_cfg_start:pmac0;
|
||||
//tbus_port:pdg_testbus, 0x7;
|
||||
//memw:0x0;
|
||||
//subsys_cfg_end:pmac0;
|
||||
//seq_end;
|
||||
//seq_start;
|
||||
//seq_type:irq_trace;
|
||||
//seq_end;
|
||||
13257
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb_peb/Data.msc
Normal file
13257
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb_peb/Data.msc
Normal file
File diff suppressed because it is too large
Load Diff
BIN
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb_peb/iu_fw.b00
Normal file
BIN
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb_peb/iu_fw.b00
Normal file
Binary file not shown.
BIN
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb_peb/iu_fw.b01
Normal file
BIN
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb_peb/iu_fw.b01
Normal file
Binary file not shown.
BIN
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb_peb/iu_fw.b02
Normal file
BIN
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb_peb/iu_fw.b02
Normal file
Binary file not shown.
@@ -0,0 +1,3 @@
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/iu_fw.b00
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/iu_fw.b01
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/iu_fw.b02
|
||||
BIN
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb_peb/iu_fw.mdt
Normal file
BIN
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb_peb/iu_fw.mdt
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,11 @@
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/q6_fw0.b00
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/q6_fw0.b01
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/q6_fw0.b02
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/q6_fw0.b03
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/q6_fw0.b04
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/q6_fw0.b05
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/q6_fw0.b06
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/q6_fw0.b07
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/q6_fw0.b08
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/q6_fw0.b09
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/q6_fw0.b11
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,3 @@
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/q6_fw1.b00
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/q6_fw1.b01
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/q6_fw1.b02
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,3 @@
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/q6_fw2.b00
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/q6_fw2.b01
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/q6_fw2.b02
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,3 @@
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/q6_fw3.b00
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/q6_fw3.b01
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/q6_fw3.b02
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,3 @@
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/q6_fw4.b00
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/q6_fw4.b01
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/q6_fw4.b02
|
||||
Binary file not shown.
13657
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb_peb/qcn6432/Data.msc
Normal file
13657
feeds/qca-wifi-7/ath12k-firmware/files/IPQ5332_peb_peb/qcn6432/Data.msc
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,16 @@
|
||||
//Number of VAPs
|
||||
{"Mode": 0,"num vap":17} // Max VAP support is 17 per MAC
|
||||
{"Mode": 1,"num vap":17} // Max VAP support is 17 per MAC
|
||||
{"Mode": 2,"num vap":17} // Max VAP support is 17 per MAC
|
||||
|
||||
//Number of clients
|
||||
{"Mode":0, "num clients":256} // Max client support is 256 for both single MAC and dual MAC
|
||||
{"Mode":1, "num clients":256} // Max client support is 256 per MAC
|
||||
{"Mode":2, "num clients":256} // Max client support is 256 per MAC
|
||||
|
||||
// Please do not reduce the default configuration while working in QWRAP Mode.
|
||||
|
||||
//AFC Proxy ,Deployment type ,Power mode mask INI configuration
|
||||
{"afc_local_rsvd":0,"Deployment_Type":1,"Power_mode_mask":7}
|
||||
2<EFBFBD>=R<02>[I<>
|
||||
<EFBFBD>;<3B>b|G%<25><><19><05>ъ[<5B>nT
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,3 @@
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/qcn6432/iu_fw.b00
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/qcn6432/iu_fw.b01
|
||||
build/ms/bin/5332.wlan_fw2.mia_peb_peb_eval_cs/PIL_IMAGES/qcn6432/iu_fw.b02
|
||||
Binary file not shown.
@@ -0,0 +1,181 @@
|
||||
seq_start;
|
||||
seq_type:mem_req;
|
||||
sink:etr_ddr,0x1,0x400;
|
||||
seq_end;
|
||||
seq_start;
|
||||
seq_type:mac_event_trace;
|
||||
subsys_cfg_start:umac;
|
||||
cxc_eb0:0x2,0x42AAA8B3,0x64BFA3C0,0x00008000,0x0001C0FC;
|
||||
reo_eb0:0x4,0x61C81F4,0x0,0x0,0x0;
|
||||
tqm_eb0:0x5,0xCDB3C6C6,0x803007E0,0x0,0x0;
|
||||
tcl_eb0:0x6,0x25030034,0x3000,0x0,0x0;
|
||||
wbm_eb0:0x7,0x880004,0x380000,0x0,0x0;
|
||||
cxc_eb1:0x8,0x42AAA8B3,0x64BFA3C0,0x00008000,0x0001C0FC;
|
||||
tcl_eb1:0x9,0x25030034,0x3000,0x0,0x0;
|
||||
reo_eb1:0xA,0x61C81F4,0x0,0x0,0x0;
|
||||
tqm_eb1:0xB,0xCDB3C6C6,0x803007E0,0x0,0x0;
|
||||
wbm_eb1:0xC,0x880004,0x380000,0x0,0x0;
|
||||
mxi:0xD,0x122234,0x0,0x0,0x0;
|
||||
wsib:0xE,0x0,0x0,0x0,0x0;
|
||||
memw:0x0;
|
||||
subsys_cfg_end:umac;
|
||||
subsys_cfg_start:dmac;
|
||||
swevt:0x0,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000;
|
||||
txdma_eb0:0x1,0x200,0x0,0x0,0x0;
|
||||
txdma_eb1:0x2,0xD9220,0xAF0,0x0,0x0;
|
||||
txdma_eb2:0x3,0xD9220,0xAF0,0x0,0x0;
|
||||
rxdma_eb0:0x4,0x93297E3F,0xC00000,0x0,0x0;
|
||||
rxdma_eb1:0x5,0x707F,0x0,0x0,0x0;
|
||||
txole_eb0:0x6,0xFFFFFFFF,0x0,0x0,0x0;
|
||||
txole_eb1:0x7,0x781F0734,0x6,0x0,0x0;
|
||||
txole_eb2:0x8,0x781F0734,0x6,0x0,0x0;
|
||||
rxole_eb0:0x9,0xF,0x0,0x0,0x0;
|
||||
rxole_eb1:0xA,0x7F,0x0,0x0,0x0;
|
||||
rxole_eb2:0xB,0x7F,0x0,0x0,0x0;
|
||||
crypto:0xC,0xFF3FFF,0x0,0x0,0x0;
|
||||
mxi:0xD,0x122234,0x0,0x0,0x0;
|
||||
sfm_eb0:0xE,0x40000003,0x7F8,0x0,0x0;
|
||||
rxmon_eb0:0x14,0x22800010,0x40A00,0x0,0x0;
|
||||
rxmon_eb1:0x15,0x18005000,0x18,0x0,0x0;
|
||||
txmon_eb0:0x12,0x22800010,0x40A00,0x0,0x0;
|
||||
txmon_eb1:0x13,0x98005000,0x199,0x0,0x0;
|
||||
memw:0x0;
|
||||
subsys_cfg_end:dmac;
|
||||
subsys_cfg_start:pmac0;
|
||||
swevt:0x0,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000;
|
||||
hwsch:0x1,0x803FFFF7,0x30003,0x0,0x0;
|
||||
pdg:0x2,0xE430F87,0x622856E,0x0,0x0;
|
||||
txpcu_eb0:0x8,0xE87A047,0x132,0x0,0x0;
|
||||
rxpcu_eb0:0x9,0x10060217,0x1F24500,0x0,0x0;
|
||||
rri:0xa,0x0,0x0,0x0,0x0;
|
||||
ampi:0xb,0x69C07,0x0,0x0,0x0;
|
||||
mxi:0xd,0x122234,0x0,0x0,0x0;
|
||||
txpcu_eb1:0x10,0x0,0x0,0x0,0x0;
|
||||
sfm_eb1:0x12,0x40000003,0x7F8,0x0,0x0;
|
||||
rxpcu_eb1:0x13,0x0,0x0,0x0,0x0;
|
||||
hwmlo:0x1c,0x1C100004,0x7800,0x0,0x0;
|
||||
memw:0x0;
|
||||
subsys_cfg_end:pmac0;
|
||||
subsys_cfg_start:pmac1;
|
||||
swevt:0x0,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000;
|
||||
hwsch:0x1,0x803FFFF7,0x30003,0x0,0x0;
|
||||
pdg:0x2,0xE430F87,0x622856E,0x0,0x0;
|
||||
txpcu_eb0:0x8,0xE87A047,0x132,0x0,0x0;
|
||||
rxpcu_eb0:0x9,0x10060217,0x1F24500,0x0,0x0;
|
||||
rri:0xa,0x0,0x0,0x0,0x0;
|
||||
ampi:0xb,0x69C07,0x0,0x0,0x0;
|
||||
mxi:0xd,0x122234,0x0,0x0,0x0;
|
||||
txpcu_eb1:0x10,0x0,0x0,0x0,0x0;
|
||||
sfm_eb1:0x12,0x40000003,0x7F8,0x0,0x0;
|
||||
rxpcu_eb1:0x13,0x0,0x0,0x0,0x0;
|
||||
hwmlo:0x1c,0x1C100004,0x7800,0x0,0x0;
|
||||
memw:0x0;
|
||||
subsys_cfg_end:pmac1;
|
||||
seq_end;
|
||||
seq_start;
|
||||
seq_type:phy_event_trace;
|
||||
subsys_cfg_start:phya0;
|
||||
data_tlv:0;
|
||||
wsi:0x0,0x00000000,0x00000000;
|
||||
rfcntl:0x0,0x00000000,0x00000000;
|
||||
tpc:0x0,0x00000000,0x00000000;
|
||||
cal:0x0,0x00000000,0x00000000;
|
||||
impcorr:0x0,0x00000000,0x00000000;
|
||||
mpi:0x6,0x00000006,0x00000000;
|
||||
fft:0x0,0x00000000,0x00000000;
|
||||
txtd:0x0,0x00000000,0x00000000;
|
||||
pmi:0x9,0x0000000A,0x00000000;
|
||||
rxtd:0xa,0x0000000A,0x00000000;
|
||||
demfront:0x0,0x00000000,0x00000000;
|
||||
pcss:0xc,0x0000003E,0x00000000;
|
||||
txfd:0x0,0x00000000,0x00000000;
|
||||
robe:0x0,0x00000000,0x00000000;
|
||||
dmac_0_1:0x0,0x00000000,0x00000000;
|
||||
dmac_2_3:0x0,0x00000000,0x00000000;
|
||||
dmac_4_5:0x0,0x00000000,0x00000000;
|
||||
dmac_6:0x0,0x00000000,0x00000000;
|
||||
eos:0x0,0x00000000,0x00000000;
|
||||
subsys_cfg_end:phya0;
|
||||
//subsys_cfg_start:phya1;
|
||||
//data_tlv:1;
|
||||
//wsi:0x0,0x00000000,0x00000000;
|
||||
//rfcntl:0x0,0x00000000,0x00000000;
|
||||
//tpc:0x0,0x00000000,0x00000000;
|
||||
//cal:0x0,0x00000000,0x00000000;
|
||||
//impcorr:0x0,0x00000000,0x00000000;
|
||||
//mpi:0x6,0x00000006,0x00000000;
|
||||
//fft:0x0,0x00000000,0x00000000;
|
||||
//txtd:0x0,0x00000000,0x00000000;
|
||||
//pmi:0x9,0x0000000A,0x00000000;
|
||||
//rxtd:0xa,0x0000000A,0x00000000;
|
||||
//demfront:0x0,0x00000000,0x00000000;
|
||||
//pcss:0xc,0x0000003E,0x00000000;
|
||||
//txfd:0x0,0x00000000,0x00000000;
|
||||
//robe:0x0,0x00000000,0x00000000;
|
||||
//dmac_0_1:0x0,0x00000000,0x00000000;
|
||||
//dmac_2_3:0x0,0x00000000,0x00000000;
|
||||
//dmac_4_5:0x0,0x00000000,0x00000000;
|
||||
//dmac_6:0x0,0x00000000,0x00000000;
|
||||
//eos:0x0,0x00000000,0x00000000;
|
||||
//subsys_cfg_end:phya1;
|
||||
seq_end;
|
||||
//seq_start;
|
||||
//seq_type:noc_trace;
|
||||
//noc_id:umacnoc;
|
||||
//syncoutperiod:0x1F;
|
||||
//probe_id:0x0;
|
||||
//probe_type:0x2;
|
||||
//probe_andinv:0x0;
|
||||
//probe_portsel:0x1;
|
||||
//filter0_path:0x0;
|
||||
//filter0_path_mask:0x0;
|
||||
//filter0_addr_min_lo:0x0;
|
||||
//filter0_addr_min_hi:0x0;
|
||||
//filter0_addr_max_lo:0xFFFFFFFF;
|
||||
//filter0_addr_max_hi:0xF;
|
||||
//filter0_opcode:0x3;
|
||||
//filter0_status:0x3;
|
||||
//filter0_trtype:0x0;
|
||||
//filter0_extid:0x0;
|
||||
//filter0_extid_mask:0x0;
|
||||
//filter1_path:0x0;
|
||||
//filter1_path_mask:0x0;
|
||||
//filter1_addr_min_lo:0x0;
|
||||
//filter1_addr_min_hi:0x0;
|
||||
//filter1_addr_max_lo:0xFFFFFFFF;
|
||||
//filter1_addr_max_hi:0xF;
|
||||
//filter1_opcode:0x3;
|
||||
//filter1_status:0x3;
|
||||
//filter1_trtype:0x0;
|
||||
//filter1_extid:0x0;
|
||||
//filter1_extid_mask:0x0;
|
||||
//seq_end;
|
||||
//seq_start;
|
||||
//seq_type:mac_tlv_trace;
|
||||
//subsys_cfg_start:pmac0;
|
||||
//tlv_port:tqm_hwsch_tlv;
|
||||
//tlv_config:tlv_type,other_tlv,specific_tlv,data_tlv;
|
||||
//tlv_config:1,3,3,3;
|
||||
//memw:0x2,0x10220A0,0xFFFFFDFF,0x10220B0,0x7FFFFFFF;
|
||||
//subsys_cfg_end:pmac0;
|
||||
//seq_end;
|
||||
//seq_start;
|
||||
//seq_start;
|
||||
//seq_type:mac_tlv_trace;
|
||||
//subsys_cfg_start:pmac1;
|
||||
//tlv_port:tqm_hwsch_tlv;
|
||||
//tlv_config:tlv_type,other_tlv,specific_tlv,data_tlv;
|
||||
//tlv_config:1,3,3,3;
|
||||
//memw:0x2,0x10220A0,0xFFFFFDFF,0x10220B0,0x7FFFFFFF;
|
||||
//subsys_cfg_end:pmac1;
|
||||
//seq_end;
|
||||
//seq_start;
|
||||
//seq_type:mac_obo_trace;
|
||||
//subsys_cfg_start:pmac0;
|
||||
//tbus_port:pdg_testbus, 0x7;
|
||||
//memw:0x0;
|
||||
//subsys_cfg_end:pmac0;
|
||||
//seq_end;
|
||||
//seq_start;
|
||||
//seq_type:irq_trace;
|
||||
//seq_end;
|
||||
@@ -0,0 +1,133 @@
|
||||
seq_start;
|
||||
seq_type:mem_req;
|
||||
sink:etr_ddr,0x1,0x400;
|
||||
seq_end;
|
||||
seq_start;
|
||||
seq_type:mac_event_trace;
|
||||
subsys_cfg_start:umac;
|
||||
cxc_eb0:0x2,0x42AAA8B3,0x64BFA3C0,0x00008000,0x0001C0FC;
|
||||
reo_eb0:0x4,0x61C81F4,0x0,0x0,0x0;
|
||||
tqm_eb0:0x5,0xCDB3C6C6,0x803007E0,0x0,0x0;
|
||||
tcl_eb0:0x6,0x25030034,0x3000,0x0,0x0;
|
||||
wbm_eb0:0x7,0x880004,0x380000,0x0,0x0;
|
||||
cxc_eb1:0x8,0x42AAA8B3,0x64BFA3C0,0x00008000,0x0001C0FC;
|
||||
tcl_eb1:0x9,0x25030034,0x3000,0x0,0x0;
|
||||
reo_eb1:0xA,0x61C81F4,0x0,0x0,0x0;
|
||||
tqm_eb1:0xB,0xCDB3C6C6,0x803007E0,0x0,0x0;
|
||||
wbm_eb1:0xC,0x880004,0x380000,0x0,0x0;
|
||||
wsib:0xE,0x0,0x0,0x0,0x0;
|
||||
memw:0x0;
|
||||
subsys_cfg_end:umac;
|
||||
subsys_cfg_start:dmac;
|
||||
swevt:0x0,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000;
|
||||
txdma_eb0:0x1,0x0,0x0,0x0,0x0;
|
||||
txdma_eb1:0x2,0x286C0,0x83C304,0x0,0x0;
|
||||
txdma_eb2:0x3,0x286C0,0x83C304,0x0,0x0;
|
||||
rxdma_eb0:0x4,0x93297E3F,0xC00000,0x0,0x0;
|
||||
rxdma_eb1:0x5,0x707F,0x0,0x0,0x0;
|
||||
txole_eb0:0x6,0xFFFFFFFF,0x0,0x0,0x0;
|
||||
txole_eb1:0x7,0x781F0734,0x6,0x0,0x0;
|
||||
txole_eb2:0x8,0x781F0734,0x6,0x0,0x0;
|
||||
rxole_eb0:0x9,0xF,0x0,0x0,0x0;
|
||||
rxole_eb1:0xA,0x7F,0x0,0x0,0x0;
|
||||
rxole_eb2:0xB,0x7F,0x0,0x0,0x0;
|
||||
crypto:0xC,0xFF3FFF,0x0,0x0,0x0;
|
||||
mxi:0xD,0x122234,0x0,0x0,0x0;
|
||||
sfm_eb0:0xE,0x40000003,0x7F8,0x0,0x0;
|
||||
rxmon_eb0:0x14,0x0,0x0,0x0,0x0;
|
||||
rxmon_eb1:0x15,0x0,0x0,0x0,0x0;
|
||||
txmon_eb0:0x12,0x0,0x0,0x0,0x0;
|
||||
txmon_eb1:0x13,0x0,0x0,0x0,0x0;
|
||||
memw:0x0;
|
||||
subsys_cfg_end:dmac;
|
||||
subsys_cfg_start:pmac0;
|
||||
swevt:0x0,0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000;
|
||||
hwsch:0x1,0x3FFFF7,0x30000,0x0,0x0;
|
||||
pdg:0x2,0xE430F87,0x622856E,0x0,0x0;
|
||||
txpcu_eb0:0x8,0xE87A047,0x112,0x0,0x0;
|
||||
rxpcu_eb0:0x9,0x10060217,0x1824500,0x0,0x0;
|
||||
rri:0xa,0x0,0x0,0x0,0x0;
|
||||
ampi:0xb,0x69C07,0x0,0x0,0x0;
|
||||
mxi:0xd,0x122234,0x0,0x0,0x0;
|
||||
txpcu_eb1:0x10,0x0,0x0,0x0,0x0;
|
||||
sfm_eb1:0x12,0x40000003,0x7F8,0x0,0x0;
|
||||
rxpcu_eb1:0x13,0x0,0x0,0x0,0x0;
|
||||
hwmlo:0x1c,0x1C100004,0x0,0x0,0x0;
|
||||
memw:0x0;
|
||||
subsys_cfg_end:pmac0;
|
||||
seq_end;
|
||||
seq_start;
|
||||
seq_type:phy_event_trace;
|
||||
subsys_cfg_start:phya0;
|
||||
data_tlv:0;
|
||||
wsi:0x0,0x00000000,0x00000000;
|
||||
rfcntl:0x0,0x00000000,0x00000000;
|
||||
tpc:0x0,0x00000000,0x00000000;
|
||||
cal:0x0,0x00000000,0x00000000;
|
||||
impcorr:0x0,0x00000000,0x00000000;
|
||||
mpi:0x6,0x00000006,0x00000000;
|
||||
fft:0x0,0x00000000,0x00000000;
|
||||
txtd:0x0,0x00000000,0x00000000;
|
||||
pmi:0x9,0x0000000A,0x00000000;
|
||||
rxtd:0xa,0x0000000A,0x00000000;
|
||||
demfront:0x0,0x00000000,0x00000000;
|
||||
pcss:0xc,0x0000003E,0x00000000;
|
||||
txfd:0x0,0x00000000,0x00000000;
|
||||
robe:0x0,0x00000000,0x00000000;
|
||||
dmac_0_1:0x0,0x00000000,0x00000000;
|
||||
dmac_2_3:0x0,0x00000000,0x00000000;
|
||||
dmac_4_5:0x0,0x00000000,0x00000000;
|
||||
dmac_6:0x0,0x00000000,0x00000000;
|
||||
eos:0x0,0x00000000,0x00000000;
|
||||
subsys_cfg_end:phya0;
|
||||
seq_end;
|
||||
//seq_start;
|
||||
//seq_type:noc_trace;
|
||||
//noc_id:umacnoc;
|
||||
//syncoutperiod:0x1F;
|
||||
//probe_id:0x0;
|
||||
//probe_type:0x2;
|
||||
//probe_andinv:0x0;
|
||||
//probe_portsel:0x1;
|
||||
//filter0_path:0x0;
|
||||
//filter0_path_mask:0x0;
|
||||
//filter0_addr_min_lo:0x0;
|
||||
//filter0_addr_min_hi:0x0;
|
||||
//filter0_addr_max_lo:0xFFFFFFFF;
|
||||
//filter0_addr_max_hi:0xF;
|
||||
//filter0_opcode:0x3;
|
||||
//filter0_status:0x3;
|
||||
//filter0_trtype:0x0;
|
||||
//filter0_extid:0x0;
|
||||
//filter0_extid_mask:0x0;
|
||||
//filter1_path:0x0;
|
||||
//filter1_path_mask:0x0;
|
||||
//filter1_addr_min_lo:0x0;
|
||||
//filter1_addr_min_hi:0x0;
|
||||
//filter1_addr_max_lo:0xFFFFFFFF;
|
||||
//filter1_addr_max_hi:0xF;
|
||||
//filter1_opcode:0x3;
|
||||
//filter1_status:0x3;
|
||||
//filter1_trtype:0x0;
|
||||
//filter1_extid:0x0;
|
||||
//filter1_extid_mask:0x0;
|
||||
//seq_end;
|
||||
//seq_start;
|
||||
//seq_type:mac_tlv_trace;
|
||||
//subsys_cfg_start:pmac0;
|
||||
//tlv_port:txpcu_ampi_tlv;
|
||||
//tlv_config:tlv_type,other_tlv,specific_tlv,data_tlv;
|
||||
//tlv_config:1,3,3,3;
|
||||
//memw:0x0;
|
||||
//subsys_cfg_end:pmac0;
|
||||
//seq_end;
|
||||
//seq_start;
|
||||
//seq_type:mac_obo_trace;
|
||||
//subsys_cfg_start:pmac0;
|
||||
//tbus_port:pdg_testbus, 0x7;
|
||||
//memw:0x0;
|
||||
//subsys_cfg_end:pmac0;
|
||||
//seq_end;
|
||||
//seq_start;
|
||||
//seq_type:irq_trace;
|
||||
//seq_end;
|
||||
62
feeds/qca-wifi-7/ath12k-wifi/Makefile
Normal file → Executable file
62
feeds/qca-wifi-7/ath12k-wifi/Makefile
Normal file → Executable file
@@ -53,6 +53,27 @@ $(call Package/ath12k-wifi-default)
|
||||
TITLE:=board-2.bin for RAP750W_311a
|
||||
endef
|
||||
|
||||
define Package/ath12k-wifi-cig-wf189h
|
||||
$(call Package/ath12k-wifi-default)
|
||||
TITLE:=board-2.bin for WF189H
|
||||
endef
|
||||
|
||||
define Package/ath12k-wifi-cig-wf189w
|
||||
$(call Package/ath12k-wifi-default)
|
||||
TITLE:=board-2.bin for WF189W
|
||||
endef
|
||||
|
||||
define Package/ath12k-wifi-sercomm-ap72tip
|
||||
$(call Package/ath12k-wifi-default)
|
||||
TITLE:=board-2.bin for AP72TIP
|
||||
endef
|
||||
|
||||
define Package/ath12k-wifi-sercomm-ap72tip-v4
|
||||
$(call Package/ath12k-wifi-default)
|
||||
TITLE:=board-2.bin for AP72TIP-v4
|
||||
endef
|
||||
|
||||
|
||||
define Package/ath12k-wifi-cig-wf189/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath12k/QCN92XX/hw1.0/
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/
|
||||
@@ -76,10 +97,49 @@ endef
|
||||
|
||||
define Package/ath12k-wifi-sonicfi-rap750w-311a/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/
|
||||
$(INSTALL_DATA) ./ board-2.bin.rap750w_311a.IPQ5332$(1)/lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath12k/QCN6432/hw1.0/
|
||||
$(INSTALL_DATA) ./board-2.bin.rap750w_311a.IPQ5332 $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin
|
||||
$(INSTALL_DATA) ./board-2.bin.rap750w_311a.QCN6432 $(1)/lib/firmware/ath12k/QCN6432/hw1.0/board-2.bin
|
||||
# $(INSTALL_DATA) ./ipq5332_qcn6432.regdb $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/regdb.bin
|
||||
$(INSTALL_DATA) ./ipq5332_qcn6432.regdb $(1)/lib/firmware/ath12k/QCN6432/hw1.0/regdb.bin
|
||||
endef
|
||||
|
||||
define Package/ath12k-wifi-cig-wf189w/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath12k/QCN6432/hw1.0/
|
||||
$(INSTALL_DATA) ./board-2.bin.189w.IPQ5332 $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin
|
||||
$(INSTALL_DATA) ./board-2.bin.189w.QCN6432 $(1)/lib/firmware/ath12k/QCN6432/hw1.0/board-2.bin
|
||||
$(INSTALL_DATA) ./ipq5332_qcn6432.regdb $(1)/lib/firmware/ath12k/QCN6432/hw1.0/regdb.bin
|
||||
endef
|
||||
|
||||
|
||||
define Package/ath12k-wifi-cig-wf189h/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath12k/QCN6432/hw1.0/
|
||||
$(INSTALL_DATA) ./board-2.bin.189h.IPQ5332 $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin
|
||||
$(INSTALL_DATA) ./board-2.bin.189h.QCN6432 $(1)/lib/firmware/ath12k/QCN6432/hw1.0/board-2.bin
|
||||
$(INSTALL_DATA) ./ipq5332_qcn6432.regdb $(1)/lib/firmware/ath12k/QCN6432/hw1.0/regdb.bin
|
||||
endef
|
||||
|
||||
define Package/ath12k-wifi-sercomm-ap72tip/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath12k/QCN92XX/hw1.0/
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/
|
||||
$(INSTALL_DATA) ./board-2.bin.ap72tip.QCN92XX $(1)/lib/firmware/ath12k/QCN92XX/hw1.0/board-2.bin
|
||||
$(INSTALL_DATA) ./board-2.bin.ap72tip.IPQ5332 $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin
|
||||
endef
|
||||
|
||||
define Package/ath12k-wifi-sercomm-ap72tip-v4/install
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath12k/QCN92XX/hw1.0/
|
||||
$(INSTALL_DIR) $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/
|
||||
$(INSTALL_DATA) ./board-2.bin.ap72tip-v4.QCN92XX $(1)/lib/firmware/ath12k/QCN92XX/hw1.0/board-2.bin
|
||||
$(INSTALL_DATA) ./board-2.bin.ap72tip-v4.IPQ5332 $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,ath12k-wifi-cig-wf189))
|
||||
$(eval $(call BuildPackage,ath12k-wifi-edgecore-eap105))
|
||||
$(eval $(call BuildPackage,ath12k-wifi-sonicfi-rap7110c-341x))
|
||||
$(eval $(call BuildPackage,ath12k-wifi-sonicfi-rap750w-311a))
|
||||
$(eval $(call BuildPackage,ath12k-wifi-cig-wf189w))
|
||||
$(eval $(call BuildPackage,ath12k-wifi-cig-wf189h))
|
||||
$(eval $(call BuildPackage,ath12k-wifi-sercomm-ap72tip))
|
||||
$(eval $(call BuildPackage,ath12k-wifi-sercomm-ap72tip-v4))
|
||||
|
||||
BIN
feeds/qca-wifi-7/ath12k-wifi/ap72tip-IPQ5332.bin
Normal file
BIN
feeds/qca-wifi-7/ath12k-wifi/ap72tip-IPQ5332.bin
Normal file
Binary file not shown.
BIN
feeds/qca-wifi-7/ath12k-wifi/ap72tip-QCN92XX.bin
Normal file
BIN
feeds/qca-wifi-7/ath12k-wifi/ap72tip-QCN92XX.bin
Normal file
Binary file not shown.
BIN
feeds/qca-wifi-7/ath12k-wifi/ap72tip-v4-IPQ5332.bin
Normal file
BIN
feeds/qca-wifi-7/ath12k-wifi/ap72tip-v4-IPQ5332.bin
Normal file
Binary file not shown.
BIN
feeds/qca-wifi-7/ath12k-wifi/ap72tip-v4-QCN92XX.bin
Normal file
BIN
feeds/qca-wifi-7/ath12k-wifi/ap72tip-v4-QCN92XX.bin
Normal file
Binary file not shown.
20
feeds/qca-wifi-7/ath12k-wifi/board-2-ap72tip-IPQ5332.json
Normal file
20
feeds/qca-wifi-7/ath12k-wifi/board-2-ap72tip-IPQ5332.json
Normal file
@@ -0,0 +1,20 @@
|
||||
[
|
||||
{
|
||||
"board": [
|
||||
{
|
||||
"names": [
|
||||
"bus=ahb,qmi-chip-id=0,qmi-board-id=255"
|
||||
],
|
||||
"data": "ap72tip-IPQ5332.bin"
|
||||
}
|
||||
],
|
||||
"regdb": [
|
||||
{
|
||||
"names": [
|
||||
"bus=ahb,qmi-chip-id=0,qmi-board-id=255"
|
||||
],
|
||||
"data": "ipq5332.regdb"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
20
feeds/qca-wifi-7/ath12k-wifi/board-2-ap72tip-QCN92XX.json
Normal file
20
feeds/qca-wifi-7/ath12k-wifi/board-2-ap72tip-QCN92XX.json
Normal file
@@ -0,0 +1,20 @@
|
||||
[
|
||||
{
|
||||
"board": [
|
||||
{
|
||||
"names": [
|
||||
"bus=pci,qmi-chip-id=0,qmi-board-id=255"
|
||||
],
|
||||
"data": "ap72tip-QCN92XX.bin"
|
||||
}
|
||||
],
|
||||
"regdb": [
|
||||
{
|
||||
"names": [
|
||||
"bus=pci,qmi-chip-id=0,qmi-board-id=255"
|
||||
],
|
||||
"data": "qcn92xx.regdb"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
20
feeds/qca-wifi-7/ath12k-wifi/board-2-ap72tip-v4-IPQ5332.json
Normal file
20
feeds/qca-wifi-7/ath12k-wifi/board-2-ap72tip-v4-IPQ5332.json
Normal file
@@ -0,0 +1,20 @@
|
||||
[
|
||||
{
|
||||
"board": [
|
||||
{
|
||||
"names": [
|
||||
"bus=ahb,qmi-chip-id=0,qmi-board-id=255"
|
||||
],
|
||||
"data": "ap72tip-v4-IPQ5332.bin"
|
||||
}
|
||||
],
|
||||
"regdb": [
|
||||
{
|
||||
"names": [
|
||||
"bus=ahb,qmi-chip-id=0,qmi-board-id=255"
|
||||
],
|
||||
"data": "ipq5332.regdb"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
20
feeds/qca-wifi-7/ath12k-wifi/board-2-ap72tip-v4-QCN92XX.json
Normal file
20
feeds/qca-wifi-7/ath12k-wifi/board-2-ap72tip-v4-QCN92XX.json
Normal file
@@ -0,0 +1,20 @@
|
||||
[
|
||||
{
|
||||
"board": [
|
||||
{
|
||||
"names": [
|
||||
"bus=pci,qmi-chip-id=0,qmi-board-id=255"
|
||||
],
|
||||
"data": "ap72tip-v4-QCN92XX.bin"
|
||||
}
|
||||
],
|
||||
"regdb": [
|
||||
{
|
||||
"names": [
|
||||
"bus=pci,qmi-chip-id=0,qmi-board-id=255"
|
||||
],
|
||||
"data": "qcn92xx.regdb"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
BIN
feeds/qca-wifi-7/ath12k-wifi/board-2.bin.189h.IPQ5332
Normal file
BIN
feeds/qca-wifi-7/ath12k-wifi/board-2.bin.189h.IPQ5332
Normal file
Binary file not shown.
BIN
feeds/qca-wifi-7/ath12k-wifi/board-2.bin.189h.QCN6432
Normal file
BIN
feeds/qca-wifi-7/ath12k-wifi/board-2.bin.189h.QCN6432
Normal file
Binary file not shown.
BIN
feeds/qca-wifi-7/ath12k-wifi/board-2.bin.189w.IPQ5332
Normal file
BIN
feeds/qca-wifi-7/ath12k-wifi/board-2.bin.189w.IPQ5332
Normal file
Binary file not shown.
BIN
feeds/qca-wifi-7/ath12k-wifi/board-2.bin.189w.QCN6432
Normal file
BIN
feeds/qca-wifi-7/ath12k-wifi/board-2.bin.189w.QCN6432
Normal file
Binary file not shown.
BIN
feeds/qca-wifi-7/ath12k-wifi/board-2.bin.ap72tip-v4.IPQ5332
Normal file
BIN
feeds/qca-wifi-7/ath12k-wifi/board-2.bin.ap72tip-v4.IPQ5332
Normal file
Binary file not shown.
BIN
feeds/qca-wifi-7/ath12k-wifi/board-2.bin.ap72tip-v4.QCN92XX
Normal file
BIN
feeds/qca-wifi-7/ath12k-wifi/board-2.bin.ap72tip-v4.QCN92XX
Normal file
Binary file not shown.
BIN
feeds/qca-wifi-7/ath12k-wifi/board-2.bin.ap72tip.IPQ5332
Normal file
BIN
feeds/qca-wifi-7/ath12k-wifi/board-2.bin.ap72tip.IPQ5332
Normal file
Binary file not shown.
BIN
feeds/qca-wifi-7/ath12k-wifi/board-2.bin.ap72tip.QCN92XX
Normal file
BIN
feeds/qca-wifi-7/ath12k-wifi/board-2.bin.ap72tip.QCN92XX
Normal file
Binary file not shown.
Binary file not shown.
BIN
feeds/qca-wifi-7/ath12k-wifi/board-2.bin.rap750w_311a.QCN6432
Executable file
BIN
feeds/qca-wifi-7/ath12k-wifi/board-2.bin.rap750w_311a.QCN6432
Executable file
Binary file not shown.
@@ -9,3 +9,9 @@ $encoder -c board-2-eap105-QCN92XX.json -o board-2.bin.eap105.QCN92XX
|
||||
|
||||
$encoder -c board-2-rap7110c_341x-IPQ5332.json -o board-2.bin.rap7110c_341x.IPQ5332
|
||||
$encoder -c board-2-rap7110c_341x-QCN92XX.json -o board-2.bin.rap7110c_341x.QCN92XX
|
||||
|
||||
$encoder -c board-2-ap72tip-IPQ5332.json -o board-2.bin.ap72tip.IPQ5332
|
||||
$encoder -c board-2-ap72tip-QCN92XX.json -o board-2.bin.ap72tip.QCN92XX
|
||||
|
||||
$encoder -c board-2-ap72tip-v4-IPQ5332.json -o board-2.bin.ap72tip-v4.IPQ5332
|
||||
$encoder -c board-2-ap72tip-v4-QCN92XX.json -o board-2.bin.ap72tip-v4.QCN92XX
|
||||
|
||||
BIN
feeds/qca-wifi-7/ath12k-wifi/ipq5332_qcn6432.regdb
Executable file
BIN
feeds/qca-wifi-7/ath12k-wifi/ipq5332_qcn6432.regdb
Executable file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user