51 lines
1.8 KiB
Python
51 lines
1.8 KiB
Python
|
|
# 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
|