uwb(hal): Add device capability TLV types
Also, rename UwbVendorSessionSetAppConfigCmdParams to a more generic
UwbVendorSessionAppConfigTlvTypes because it used in SET_APP_CONFIG &
GET_APP_CONFIG cmds.
Bug: 208678993
Test: Compiles
Change-Id: Iaad3788eee1948feb369b5f8fb4076c2f2479d10
diff --git a/uwb/aidl/aidl_api/android.hardware.uwb.fira_android/current/android/hardware/uwb/fira_android/UwbVendorSessionSetAppConfigCmdParams.aidl b/uwb/aidl/aidl_api/android.hardware.uwb.fira_android/current/android/hardware/uwb/fira_android/UwbVendorCapabilityTlvTypes.aidl
similarity index 65%
copy from uwb/aidl/aidl_api/android.hardware.uwb.fira_android/current/android/hardware/uwb/fira_android/UwbVendorSessionSetAppConfigCmdParams.aidl
copy to uwb/aidl/aidl_api/android.hardware.uwb.fira_android/current/android/hardware/uwb/fira_android/UwbVendorCapabilityTlvTypes.aidl
index 0d53431..dd673e2 100644
--- a/uwb/aidl/aidl_api/android.hardware.uwb.fira_android/current/android/hardware/uwb/fira_android/UwbVendorSessionSetAppConfigCmdParams.aidl
+++ b/uwb/aidl/aidl_api/android.hardware.uwb.fira_android/current/android/hardware/uwb/fira_android/UwbVendorCapabilityTlvTypes.aidl
@@ -33,14 +33,32 @@
package android.hardware.uwb.fira_android;
@Backing(type="int") @VintfStability
-enum UwbVendorSessionSetAppConfigCmdParams {
- CCC_HOP_MODE_KEY = 160,
- CCC_UWB_TIME0 = 161,
- CCC_RANGING_PROTOCOL_VER = 163,
- CCC_UWB_CONFIG_ID = 164,
- CCC_PULSESHAPE_COMBO = 165,
- CCC_URSK_TTL = 166,
- NB_OF_RANGE_MEASUREMENTS = 227,
- NB_OF_AZIMUTH_MEASUREMENTS = 228,
- NB_OF_ELEVATION_MEASUREMENTS = 229,
+enum UwbVendorCapabilityTlvTypes {
+ SUPPORTED_CHANNELS = 0,
+ SUPPORTED_AOA_MODES = 1,
+ SUPPORTED_DEVICE_ROLES = 2,
+ SUPPORTS_BLOCK_STRIDING = 3,
+ SUPPORTS_NON_DEFERRED_MODE = 4,
+ SUPPORTS_ADAPTIVE_PAYLOAD_POWER = 5,
+ INITIATION_TIME_MS = 6,
+ SUPPORTED_MAC_FCS_CRC_TYPES = 7,
+ SUPPORTED_MULTI_NODE_MODES = 8,
+ SUPPORTED_PREAMBLE_MODES = 9,
+ SUPPORTED_PRF_MODES = 10,
+ SUPPORTED_RANGING_ROUND_USAGE_MODES = 11,
+ SUPPORTED_RFRAME_MODES = 12,
+ SUPPORTED_SFD_IDS = 13,
+ SUPPORTED_STS_MODES = 14,
+ SUPPORTED_STS_SEGEMENTS = 15,
+ SUPPORTED_BPRF_PHR_DATA_RATES = 16,
+ SUPPORTED_PSDU_DATA_RATES = 17,
+ CCC_SUPPORTED_VERSIONS = 160,
+ CCC_SUPPORTED_UWB_CONFIGS = 161,
+ CCC_SUPPORTED_PULSE_SHAPE_COMBOS = 162,
+ CCC_SUPPORTED_RAN_MULTIPLIER = 163,
+ CCC_SUPPORTED_CHAPS_PER_SLOT = 164,
+ CCC_SUPPORTED_SYNC_CODES = 165,
+ CCC_SUPPORTED_CHANNELS = 166,
+ CCC_SUPPORTED_HOPPING_SEQUENCES = 167,
+ CCC_SUPPORTED_HOPPING_CONFIG_MODES = 168,
}
diff --git a/uwb/aidl/aidl_api/android.hardware.uwb.fira_android/current/android/hardware/uwb/fira_android/UwbVendorSessionSetAppConfigCmdParams.aidl b/uwb/aidl/aidl_api/android.hardware.uwb.fira_android/current/android/hardware/uwb/fira_android/UwbVendorSessionAppConfigTlvTypes.aidl
similarity index 97%
rename from uwb/aidl/aidl_api/android.hardware.uwb.fira_android/current/android/hardware/uwb/fira_android/UwbVendorSessionSetAppConfigCmdParams.aidl
rename to uwb/aidl/aidl_api/android.hardware.uwb.fira_android/current/android/hardware/uwb/fira_android/UwbVendorSessionAppConfigTlvTypes.aidl
index 0d53431..d35728f 100644
--- a/uwb/aidl/aidl_api/android.hardware.uwb.fira_android/current/android/hardware/uwb/fira_android/UwbVendorSessionSetAppConfigCmdParams.aidl
+++ b/uwb/aidl/aidl_api/android.hardware.uwb.fira_android/current/android/hardware/uwb/fira_android/UwbVendorSessionAppConfigTlvTypes.aidl
@@ -33,7 +33,7 @@
package android.hardware.uwb.fira_android;
@Backing(type="int") @VintfStability
-enum UwbVendorSessionSetAppConfigCmdParams {
+enum UwbVendorSessionAppConfigTlvTypes {
CCC_HOP_MODE_KEY = 160,
CCC_UWB_TIME0 = 161,
CCC_RANGING_PROTOCOL_VER = 163,
diff --git a/uwb/aidl/android/hardware/uwb/fira_android/UwbVendorCapabilityTlvTypes.aidl b/uwb/aidl/android/hardware/uwb/fira_android/UwbVendorCapabilityTlvTypes.aidl
new file mode 100644
index 0000000..6f3c1bb
--- /dev/null
+++ b/uwb/aidl/android/hardware/uwb/fira_android/UwbVendorCapabilityTlvTypes.aidl
@@ -0,0 +1,208 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * You may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.uwb.fira_android;
+
+/**
+ * Android specific capability params expected in UCI command:
+ * GID: 0000b (UWB Core Group)
+ * OID: 000011b (CORE_GET_CAPS_INFO_CMD)
+ * Values expected for each type should correspond to values used in the FIRA UCI specification.
+ *
+ * For ex, If the device supports responder and initiator device roles. Use this TLV to
+ * indicate that: * {SUPPORTED_DEVICE_ROLES, 2, [0x0 // responder, 0x1 // initiator]}}
+ */
+@VintfStability
+@Backing(type="int")
+enum UwbVendorCapabilityTlvTypes {
+ /** byte array with list of supported channels */
+ SUPPORTED_CHANNELS = 0x0,
+ /**
+ * int bitmask of supported AOA modes
+ * Values:
+ * HAS_AZIMUTH_SUPPORT = 1,
+ * HAS_ELEVATION_SUPPORT = (1 << 1)
+ * HAS_FOM_SUPPORT = (1 << 2)
+ * HAS_FULL_AZIMUTH_SUPPORT = (1 << 3)
+ */
+ SUPPORTED_AOA_MODES = 0x1,
+ /**
+ * int bitmask of supported device roles
+ * Values:
+ * HAS_CONTROLEE_INITIATOR_SUPPORT = 1
+ * HAS_CONTROLEE_RESPONDER_SUPPORT = (1 << 1)
+ * HAS_CONTROLLER_INITIATOR_SUPPORT = (1 << 2)
+ * HAS_CONTROLLER_RESPONDER_SUPPORT= (1 << 3)
+ */
+ SUPPORTED_DEVICE_ROLES = 0x2,
+ /** byte value of 1 to indicate support for block striding */
+ SUPPORTS_BLOCK_STRIDING = 0x3,
+ /** byte value of 1 to indicate support for non deferred mode */
+ SUPPORTS_NON_DEFERRED_MODE = 0x4,
+ /** byte value of 1 to indicate support for adaptive payload power */
+ SUPPORTS_ADAPTIVE_PAYLOAD_POWER = 0x5,
+ /** Int value for indicating initiation time */
+ INITIATION_TIME_MS = 0x6,
+ /**
+ * int bitmask of supported mac fcs crc types
+ * Values:
+ * HAS_CRC_16_SUPPORT = 1
+ * HAS_CRC_32_SUPPORT = (1 << 1)
+ */
+ SUPPORTED_MAC_FCS_CRC_TYPES = 0x7,
+ /**
+ * int bitmask of supported multi node modes
+ * Values:
+ * HAS_UNICAST_SUPPORT = 1
+ * HAS_ONE_TO_MANY_SUPPORT = (1 << 1)
+ * HAS_MANY_TO_MANY_SUPPORT = (1 << 2)
+ */
+ SUPPORTED_MULTI_NODE_MODES = 0x8,
+ /**
+ * int bitmask of supported preamble modes
+ * Values:
+ * HAS_32_SYMBOLS_SUPPORT = 1
+ * HAS_64_SYMBOLS_SUPPORT = (1 << 1)
+ */
+ SUPPORTED_PREAMBLE_MODES = 0x9,
+ /**
+ * int bitmask of supported prf modes
+ * Values:
+ * HAS_BPRF_SUPPORT = 1
+ * HAS_HPRF_SUPPORT = (1 << 1)
+ */
+ SUPPORTED_PRF_MODES = 0xA,
+ /**
+ * int bitmask of supported ranging round usage modes
+ * Values:
+ * HAS_DS_TWR_SUPPORT = 1
+ * HAS_SS_TWR_SUPPORT = (1 << 1)
+ */
+ SUPPORTED_RANGING_ROUND_USAGE_MODES = 0xB,
+ /**
+ * int bitmask of supported rframe modes
+ * Values:
+ * HAS_SP0_RFRAME_SUPPORT = 1
+ * HAS_SP1_RFRAME_SUPPORT = (1 << 1),
+ * HAS_SP3_RFRAME_SUPPORT = (1 << 3)
+ */
+ SUPPORTED_RFRAME_MODES = 0xC,
+ /**
+ * int bitmask of supported sfd ids
+ * Values:
+ * HAS_SFD0_SUPPORT = 1
+ * HAS_SFD1_SUPPORT = (1 << 1)
+ * HAS_SFD2_SUPPORT = (1 << 2)
+ * HAS_SFD3_SUPPORT = (1 << 3)
+ * HAS_SFD4_SUPPORT = (1 << 4)
+ */
+ SUPPORTED_SFD_IDS = 0xD,
+ /**
+ * int bitmask of supported sts modes
+ * Values:
+ * HAS_STATIC_STS_SUPPORT = 1
+ * HAS_DYNAMIC_STS_SUPPORT = (1 << 1)
+ * HAS_DYNAMIC_STS_INDIVIDUAL_CONTROLEE_KEY_SUPPORT = (1 << 2)
+ */
+ SUPPORTED_STS_MODES = 0xE,
+ /**
+ * int bitmask of supported sts segments
+ * Values:
+ * HAS_0_SEGMENT_SUPPORT = 1
+ * HAS_1_SEGMENT_SUPPORT = (1 << 1)
+ * HAS_2_SEGMENT_SUPPORT = (1 << 2)
+ */
+ SUPPORTED_STS_SEGEMENTS = 0xF,
+ /**
+ * int bitmask of supported bprf phr data rates
+ * Values:
+ * HAS_6M81_SUPPORT = 1
+ * HAS_850K_SUPPORT = (1 << 1)
+ */
+ SUPPORTED_BPRF_PHR_DATA_RATES = 0x10,
+ /**
+ * int bitmask of supported psdu data rates
+ * Values:
+ * HAS_6M81_SUPPORT = 1
+ * HAS_7M80_SUPPORT = (1 << 1)
+ * HAS_27M2_SUPPORT = (1 << 2)
+ * HAS_31M2_SUPPORT = (1 << 3)
+ */
+ SUPPORTED_PSDU_DATA_RATES = 0x11,
+
+ /*********************************************
+ * CCC specific
+ ********************************************/
+
+ /**
+ * 2 byte tuple {major_version (1 byte), minor_version (1 byte)} array with list of supported
+ * CCC versions
+ */
+ CCC_SUPPORTED_VERSIONS = 0xA0,
+ /**
+ * byte array with a list of supported UWB configs
+ * Values:
+ * UWB_CONFIG_0 = 0
+ * UWB_CONFIG_1 = 1
+ */
+ CCC_SUPPORTED_UWB_CONFIGS = 0xA1,
+ /**
+ * 1 byte tuple {initiator_tx (4 bits), responder_tx (4 bits)} array with list of supported
+ * pulse shape combos
+ * Values:
+ * PULSE_SHAPE_SYMMETRICAL_ROOT_RAISED_COSINE = 1
+ * PULSE_SHAPE_PRECURSOR_FREE = 2
+ * PULSE_SHAPE_PRECURSOR_FREE_SPECIAL = 3
+ */
+ /** */
+ CCC_SUPPORTED_PULSE_SHAPE_COMBOS = 0xA2,
+ /** Int value for indicating supported ran multiplier */
+ CCC_SUPPORTED_RAN_MULTIPLIER = 0xA3,
+ /**
+ * byte array with a list of supported chaps per slot
+ * Values:
+ * CHAPS_PER_SLOT_3 = 3
+ * CHAPS_PER_SLOT_4 = 4
+ * CHAPS_PER_SLOT_6 = 6
+ * CHAPS_PER_SLOT_8 = 8
+ * CHAPS_PER_SLOT_9 = 9
+ * CHAPS_PER_SLOT_12 = 12
+ * CHAPS_PER_SLOT_24 = 24
+ */
+ CCC_SUPPORTED_CHAPS_PER_SLOT = 0xA4,
+ /**
+ * byte array with a list of supported sync codes
+ * Values: 1 - 32
+ */
+ CCC_SUPPORTED_SYNC_CODES = 0xA5,
+ /** byte array with list of supported channels */
+ CCC_SUPPORTED_CHANNELS = 0xA6,
+ /**
+ * byte array with a list of supported hopping sequences
+ * Values:
+ HOPPING_SEQUENCE_DEFAULT = 0
+ HOPPING_SEQUENCE_AES = 1
+ */
+ CCC_SUPPORTED_HOPPING_SEQUENCES = 0xA7,
+ /**
+ * byte array with a list of supported hopping config modes
+ * Values:
+ * HOPPING_CONFIG_MODE_NONE = 0
+ * HOPPING_CONFIG_MODE_CONTINUOUS = 1
+ * HOPPING_CONFIG_MODE_ADAPTIVE = 2
+ */
+ CCC_SUPPORTED_HOPPING_CONFIG_MODES = 0xA8,
+}
diff --git a/uwb/aidl/android/hardware/uwb/fira_android/UwbVendorSessionSetAppConfigCmdParams.aidl b/uwb/aidl/android/hardware/uwb/fira_android/UwbVendorSessionAppConfigTlvTypes.aidl
similarity index 92%
rename from uwb/aidl/android/hardware/uwb/fira_android/UwbVendorSessionSetAppConfigCmdParams.aidl
rename to uwb/aidl/android/hardware/uwb/fira_android/UwbVendorSessionAppConfigTlvTypes.aidl
index eb1f5ac..b770ee0 100644
--- a/uwb/aidl/android/hardware/uwb/fira_android/UwbVendorSessionSetAppConfigCmdParams.aidl
+++ b/uwb/aidl/android/hardware/uwb/fira_android/UwbVendorSessionAppConfigTlvTypes.aidl
@@ -17,16 +17,17 @@
package android.hardware.uwb.fira_android;
/**
- * Android specific vendor app params set in UCI command:
+ * Android specific vendor app params set/expected in UCI command:
* GID: 0001b (UWB Session config Group)
* OID: 000011b (SESSION_SET_APP_CONFIG_CMD)
+ * OID: 000100b (SESSION_GET_APP_CONFIG_CMD)
*
* Note: Refer to Table 34 of the UCI specification for the other params
* expected in this command.
*/
@VintfStability
@Backing(type="int")
-enum UwbVendorSessionSetAppConfigCmdParams {
+enum UwbVendorSessionAppConfigTlvTypes {
/** CCC params for ranging start */
/**