mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 05:49:27 +00:00
[Telephony] Implement PhysicalChannelConfig in HAL 1.6
Bug: 169206279 Test: make and VtsHalRadioV1_6Target Change-Id: I4352ea928a76197aae01b887960eaed05698e3eb Merged-In: I4352ea928a76197aae01b887960eaed05698e3eb
This commit is contained in:
@@ -23,6 +23,7 @@ import @1.6::LinkCapacityEstimate;
|
||||
import @1.6::NetworkScanResult;
|
||||
import @1.6::SignalStrength;
|
||||
import @1.6::SetupDataCallResult;
|
||||
import @1.6::PhysicalChannelConfig;
|
||||
|
||||
/**
|
||||
* Interface declaring unsolicited radio indications.
|
||||
@@ -101,4 +102,15 @@ interface IRadioIndication extends @1.5::IRadioIndication {
|
||||
* CellInfo.
|
||||
*/
|
||||
oneway networkScanResult_1_6(RadioIndicationType type, NetworkScanResult result);
|
||||
|
||||
/**
|
||||
* Indicates physical channel configurations.
|
||||
*
|
||||
* An empty configs list indicates that the radio is in idle mode.
|
||||
*
|
||||
* @param type Type of radio indication
|
||||
* @param configs Vector of PhysicalChannelConfigs
|
||||
*/
|
||||
oneway currentPhysicalChannelConfigs_1_6(RadioIndicationType type,
|
||||
vec<PhysicalChannelConfig> configs);
|
||||
};
|
||||
|
||||
@@ -23,7 +23,10 @@ import @1.0::LteSignalStrength;
|
||||
import @1.0::RadioError;
|
||||
import @1.0::RadioResponseType;
|
||||
import @1.0::RegState;
|
||||
import @1.1::EutranBands;
|
||||
import @1.1::GeranBands;
|
||||
import @1.1::ScanStatus;
|
||||
import @1.1::UtranBands;
|
||||
import @1.2::Call;
|
||||
import @1.2::CellInfoCdma;
|
||||
import @1.2::CellConnectionStatus;
|
||||
@@ -41,6 +44,7 @@ import @1.5::CellInfoGsm;
|
||||
import @1.5::CellInfoWcdma;
|
||||
import @1.5::CellInfoTdscdma;
|
||||
import @1.5::LinkAddress;
|
||||
import @1.5::NgranBands;
|
||||
import @1.5::RegStateResult.AccessTechnologySpecificInfo.Cdma2000RegistrationInfo;
|
||||
import @1.5::RegStateResult.AccessTechnologySpecificInfo.EutranRegistrationInfo;
|
||||
import @1.5::RegistrationFailCause;
|
||||
@@ -733,3 +737,70 @@ struct Call {
|
||||
*/
|
||||
string forwardedNumber;
|
||||
};
|
||||
|
||||
struct PhysicalChannelConfig {
|
||||
/** Connection status for cell. Valid values are PRIMARY_SERVING and SECONDARY_SERVING */
|
||||
CellConnectionStatus status;
|
||||
|
||||
/** The radio technology for this physical channel */
|
||||
RadioTechnology rat;
|
||||
|
||||
/** Downlink Absolute Radio Frequency Channel Number */
|
||||
int32_t downlinkChannelNumber;
|
||||
|
||||
/** Uplink Absolute Radio Frequency Channel Number */
|
||||
int32_t uplinkChannelNumber;
|
||||
|
||||
/** Downlink cell bandwidth, in kHz */
|
||||
int32_t cellBandwidthDownlink;
|
||||
|
||||
/** Uplink cell bandwidth, in kHz */
|
||||
int32_t cellBandwidthUplink;
|
||||
|
||||
/**
|
||||
* A list of data calls mapped to this physical channel. The context id must match the cid of
|
||||
* @1.5::SetupDataCallResult. An empty list means the physical channel has no data call mapped
|
||||
* to it.
|
||||
*/
|
||||
vec<int32_t> contextIds;
|
||||
|
||||
/**
|
||||
* The physical cell identifier for this cell.
|
||||
*
|
||||
* In UTRAN, this value is primary scrambling code. The range is [0, 511].
|
||||
* Reference: 3GPP TS 25.213 section 5.2.2.
|
||||
*
|
||||
* In EUTRAN, this value is physical layer cell identity. The range is [0, 503].
|
||||
* Reference: 3GPP TS 36.211 section 6.11.
|
||||
*
|
||||
* In 5G RAN, this value is physical layer cell identity. The range is [0, 1007].
|
||||
* Reference: 3GPP TS 38.211 section 7.4.2.1.
|
||||
*/
|
||||
uint32_t physicalCellId;
|
||||
|
||||
/**
|
||||
* The frequency band to scan.
|
||||
*/
|
||||
safe_union Band {
|
||||
/** Valid only if radioAccessNetwork = GERAN. */
|
||||
GeranBands geranBand;
|
||||
/** Valid only if radioAccessNetwork = UTRAN. */
|
||||
UtranBands utranBand;
|
||||
/** Valid only if radioAccessNetwork = EUTRAN. */
|
||||
EutranBands eutranBand;
|
||||
/** Valid only if radioAccessNetwork = NGRAN. */
|
||||
NgranBands ngranBand;
|
||||
} band;
|
||||
};
|
||||
|
||||
/**
|
||||
* Extended from @1.5 NgranBands
|
||||
* IRadio 1.6 supports NGRAN bands up to V16.5.0
|
||||
*/
|
||||
enum NgranBands : @1.5::NgranBands {
|
||||
/** 3GPP TS 38.101-1, Table 5.2-1: FR1 bands */
|
||||
BAND_26 = 26,
|
||||
BAND_46 = 46,
|
||||
BAND_53 = 53,
|
||||
BAND_96 = 96,
|
||||
};
|
||||
|
||||
@@ -857,6 +857,11 @@ class RadioIndication_v1_6 : public ::android::hardware::radio::V1_6::IRadioIndi
|
||||
const ::android::hardware::hidl_vec<::android::hardware::radio::V1_6::CellInfo>&
|
||||
records);
|
||||
|
||||
Return<void> currentPhysicalChannelConfigs_1_6(
|
||||
RadioIndicationType type,
|
||||
const ::android::hardware::hidl_vec<
|
||||
::android::hardware::radio::V1_6::PhysicalChannelConfig>& configs);
|
||||
|
||||
/* 1.5 Api */
|
||||
Return<void> uiccApplicationsEnablementChanged(RadioIndicationType type, bool enabled);
|
||||
|
||||
|
||||
@@ -30,6 +30,13 @@ Return<void> RadioIndication_v1_6::unthrottleApn(RadioIndicationType /*type*/,
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<void> RadioIndication_v1_6::currentPhysicalChannelConfigs_1_6(
|
||||
RadioIndicationType /*type*/,
|
||||
const ::android::hardware::hidl_vec<
|
||||
::android::hardware::radio::V1_6::PhysicalChannelConfig>& /*configs*/) {
|
||||
return Void();
|
||||
}
|
||||
|
||||
/* 1.5 Apis */
|
||||
Return<void> RadioIndication_v1_6::uiccApplicationsEnablementChanged(RadioIndicationType /*type*/,
|
||||
bool /*enabled*/) {
|
||||
|
||||
Reference in New Issue
Block a user