} else if (ver->fcxnullsta == 2) {
                        pfinfo = &pfwinfo->rpt_fbtc_nullsta.finfo.v2;
                        pcinfo->req_len = sizeof(pfwinfo->rpt_fbtc_nullsta.finfo.v2);
+               } else if (ver->fcxnullsta == 7) {
+                       pfinfo = &pfwinfo->rpt_fbtc_nullsta.finfo.v7;
+                       pcinfo->req_len = sizeof(pfwinfo->rpt_fbtc_nullsta.finfo.v7);
                } else {
                        goto err;
                }
                                   le32_to_cpu(ns->v1.max_t[i]) / 1000,
                                   le32_to_cpu(ns->v1.max_t[i]) % 1000);
                }
+       } else if (ver->fcxnullsta == 7) {
+               for (i = 0; i < 2; i++) {
+                       seq_printf(m, " %-15s : ", "[NULL-STA]");
+                       seq_printf(m, "null-%d", i);
+                       seq_printf(m, "[Tx:%d/",
+                                  le32_to_cpu(ns->v7.result[i][4]));
+                       seq_printf(m, "[ok:%d/",
+                                  le32_to_cpu(ns->v7.result[i][1]));
+                       seq_printf(m, "fail:%d/",
+                                  le32_to_cpu(ns->v7.result[i][0]));
+                       seq_printf(m, "on_time:%d/",
+                                  le32_to_cpu(ns->v7.result[i][2]));
+                       seq_printf(m, "retry:%d/",
+                                  le32_to_cpu(ns->v7.result[i][3]));
+                       seq_printf(m, "avg_t:%d.%03d/",
+                                  le32_to_cpu(ns->v7.tavg[i]) / 1000,
+                                  le32_to_cpu(ns->v7.tavg[i]) % 1000);
+                       seq_printf(m, "max_t:%d.%03d]\n",
+                                  le32_to_cpu(ns->v7.tmax[i]) / 1000,
+                                  le32_to_cpu(ns->v7.tmax[i]) % 1000);
+               }
        } else {
                for (i = 0; i < 2; i++) {
                        seq_printf(m, " %-15s : ", "[NULL-STA]");
 
        __le32 result[2][5]; /* 0:fail, 1:ok, 2:on_time, 3:retry, 4:tx */
 } __packed;
 
+struct rtw89_btc_fbtc_cynullsta_v7 { /* cycle null statistics */
+       u8 fver;
+       u8 rsvd0;
+       u8 rsvd1;
+       u8 rsvd2;
+
+       __le32 tmax[2];
+       __le32 tavg[2];
+       __le32 result[2][5];
+} __packed;
+
 union rtw89_btc_fbtc_cynullsta_info {
        struct rtw89_btc_fbtc_cynullsta_v1 v1; /* info from fw */
        struct rtw89_btc_fbtc_cynullsta_v2 v2;
+       struct rtw89_btc_fbtc_cynullsta_v7 v7;
 };
 
 struct rtw89_btc_fbtc_btver {