| # Lint as: python3 |
| # Copyright 2022 The Chromium OS Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| from autotest_lib.client.common_lib import error |
| from typing import NamedTuple |
| |
| |
| class ChipInfo(NamedTuple): |
| """Checks vendor support for the specific chipsets.""" |
| aosp_support: bool |
| msft_support: bool |
| msft_ocf: int |
| |
| |
| _chip_info = { |
| 'MVL-8897': ChipInfo(False, False, 0), |
| 'MVL-8997': ChipInfo(False, False, 0), |
| 'QCA-6174A-5-USB': ChipInfo(False, False, 0), |
| 'QCA-6174A-3-UART': ChipInfo(False, False, 0), |
| 'QCA-WCN6856': ChipInfo(True, True, 0x0170), |
| 'WCN3991': ChipInfo(True, True, 0x0170), |
| 'WCN6750': ChipInfo(True, True, 0x0170), |
| 'Intel-AX200': ChipInfo(False, True, 0x001e), |
| 'Intel-AX201': ChipInfo(False, True, 0x001e), |
| 'Intel-AC9260': ChipInfo(False, True, 0x001e), |
| 'Intel-AC9560': ChipInfo(False, True, 0x001e), |
| 'Intel-AC7260': ChipInfo(False, False, 0), |
| 'Intel-AC7265': ChipInfo(False, False, 0), |
| 'Realtek-RTL8822C-USB': ChipInfo(True, False, 0), |
| 'Realtek-RTL8822C-UART': ChipInfo(True, False, 0), |
| 'Realtek-RTL8852A-USB': ChipInfo(True, False, 0), |
| 'Mediatek-MTK7921-USB': ChipInfo(True, True, 0x0130), |
| 'Mediatek-MTK7921-SDIO': ChipInfo(True, True, 0x0130) |
| } |
| |
| |
| def query(chip_name): |
| """Returns chip info for the specific chipset name. |
| |
| @param chip_name: chipset name. |
| |
| @return: named tuple ChipInfo(aosp_support, msft_support, msft_ocf). |
| """ |
| |
| chip_info = _chip_info.get(chip_name) |
| if chip_info is None: |
| raise error.TestError('Chipset name %r does not exist, please update ' |
| 'the list of chipsets' % chip_name) |
| return chip_info |