| // Copyright 2019 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include <zxtest/zxtest.h> |
| |
| #include "src/iwlwifi/test/sim-nvm.h" |
| |
| extern "C" { |
| #include "src/iwlwifi/mvm/mvm.h" |
| } |
| |
| #include "src/iwlwifi/iwl-drv.h" |
| #include "src/iwlwifi/test/single-ap-test.h" |
| |
| namespace wlan::testing { |
| namespace { |
| |
| class NvmTest : public SingleApTest { |
| public: |
| NvmTest() {} |
| ~NvmTest() {} |
| }; |
| |
| // Please refer the default NVM data in sim-default-nvm.cc. The expected values in this test |
| // are based on those binary data. |
| TEST_F(NvmTest, TestParsingDefaultNvm) { |
| auto mvm = iwl_trans_get_mvm(sim_trans_.iwl_trans()); |
| auto data = mvm->nvm_data; |
| EXPECT_EQ(data->nvm_version, 0xc16); |
| |
| // Compare the parsed MAC address |
| uint8_t expected_mac[] = {0xb4, 0xd5, 0xbd, 0x11, 0x22, 0x33}; |
| EXPECT_BYTES_EQ(expected_mac, data->hw_addr, sizeof(expected_mac)); |
| EXPECT_EQ(data->n_hw_addrs, 5); |
| |
| // Radio config |
| EXPECT_EQ(data->radio_cfg_type, NVM_RF_CFG_TYPE_MSK(0x33d0)); |
| |
| // Features |
| EXPECT_EQ(data->sku_cap_band_24ghz_enable, true); |
| EXPECT_EQ(data->sku_cap_band_52ghz_enable, true); |
| EXPECT_EQ(data->sku_cap_11n_enable, true); |
| EXPECT_EQ(data->sku_cap_11ac_enable, true); |
| EXPECT_EQ(data->sku_cap_mimo_disabled, false); |
| |
| EXPECT_EQ(data->calib_version, 255); |
| |
| // Band and channel info |
| // - 2G band |
| EXPECT_EQ(data->bands[WLAN_INFO_BAND_2GHZ].band, WLAN_INFO_BAND_2GHZ); |
| EXPECT_EQ(data->bands[WLAN_INFO_BAND_2GHZ].n_channels, 13); |
| EXPECT_EQ(data->bands[WLAN_INFO_BAND_2GHZ].channels[0].ch_num, 1); |
| // - 5G band |
| EXPECT_EQ(data->bands[WLAN_INFO_BAND_5GHZ].band, WLAN_INFO_BAND_5GHZ); |
| EXPECT_EQ(data->bands[WLAN_INFO_BAND_5GHZ].n_channels, 25); |
| EXPECT_EQ(data->bands[WLAN_INFO_BAND_5GHZ].channels[0].ch_num, 36); |
| } |
| |
| TEST_F(NvmTest, CfgRatesTo80211) { |
| EXPECT_EQ(2, cfg_rates_to_80211(1 * 10)); // 1 Mbps |
| } |
| |
| } // namespace |
| } // namespace wlan::testing |