Add the Product Framework Compatibility Matrix (Level 5)
Follow the previous Pixel settings, add a product FCM to describe the
requirements of device-specific HALs.
TO-DO: (1) Check if we need to replace the product config with
Android.bp module like ag/14052744
(2) Check if we need to split the FCM for system_ext/product
Test: m check-vintf-all
The device is bootable.
Bug: 184714406
Change-Id: Icacace16863cfe1415e3dc4454e8763b8a30b425
diff --git a/device.mk b/device.mk
index 978d713..407b8d0 100644
--- a/device.mk
+++ b/device.mk
@@ -1153,3 +1153,8 @@
# Battery Stats Viewer
PRODUCT_PACKAGES_DEBUG += BatteryStatsViewer
+
+# Install product specific framework compatibility matrix
+# (TODO: b/169535506) This includes the FCM for system_ext and product partition.
+# It must be split into the FCM of each partition.
+DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE := device/google/gs101/device_framework_matrix_product.xml
diff --git a/device_framework_matrix_product.xml b/device_framework_matrix_product.xml
new file mode 100644
index 0000000..92a730a
--- /dev/null
+++ b/device_framework_matrix_product.xml
@@ -0,0 +1,176 @@
+<compatibility-matrix version="1.0" type="framework" level="5">
+ <hal format="hidl" optional="true">
+ <name>android.hardware.radio</name>
+ <version>1.2</version>
+ <interface>
+ <name>ISap</name>
+ <instance>slot2</instance>
+ </interface>
+ </hal>
+ <hal format="aidl" optional="true">
+ <name>android.hardware.vibrator</name>
+ <version>2</version>
+ <interface>
+ <name>IVibrator</name>
+ <instance>dual</instance>
+ </interface>
+ </hal>
+ <hal format="hidl" optional="true">
+ <name>android.vendor.samsung_slsi.telephony.hardware.radio</name>
+ <version>1.1</version>
+ <interface>
+ <name>IOemSamsungslsi</name>
+ <instance>slot1</instance>
+ <instance>slot2</instance>
+ </interface>
+ </hal>
+ <hal format="hidl" optional="true">
+ <name>com.fingerprints33.extension</name>
+ <version>1.0</version>
+ <interface>
+ <name>IFingerprintAuthenticator</name>
+ <instance>default</instance>
+ </interface>
+ <interface>
+ <name>IFingerprintCalibration</name>
+ <instance>default</instance>
+ </interface>
+ <interface>
+ <name>IFingerprintEngineering</name>
+ <instance>default</instance>
+ </interface>
+ <interface>
+ <name>IFingerprintNavigation</name>
+ <instance>default</instance>
+ </interface>
+ <interface>
+ <name>IFingerprintRecalibration</name>
+ <instance>default</instance>
+ </interface>
+ <interface>
+ <name>IFingerprintSenseTouch</name>
+ <instance>default</instance>
+ </interface>
+ <interface>
+ <name>IFingerprintSensorTest</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="aidl" optional="true">
+ <name>com.google.face.debug</name>
+ <interface>
+ <name>IDebugHost</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="aidl" optional="true">
+ <name>com.google.edgetpu</name>
+ <interface>
+ <name>IEdgeTpuVendorService</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="aidl" optional="true">
+ <name>com.google.hardware.pixel.display</name>
+ <interface>
+ <name>IDisplay</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="aidl" optional="true">
+ <name>com.google.input</name>
+ <interface>
+ <name>ITouchContextService</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl" optional="true">
+ <name>hardware.google.bluetooth.bt_channel_avoidance</name>
+ <version>1.0</version>
+ <interface>
+ <name>IBTChannelAvoidance</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl" optional="true">
+ <name>hardware.google.bluetooth.sar</name>
+ <version>1.1</version>
+ <interface>
+ <name>IBluetoothSar</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="aidl" optional="true">
+ <name>hardware.qorvo.uwb</name>
+ <interface>
+ <name>IUwb</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl" optional="true">
+ <name>vendor.goodix.hardware.biometrics.fingerprint</name>
+ <version>2.1</version>
+ <interface>
+ <name>IGoodixFingerprintDaemon</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl" optional="true">
+ <name>vendor.google.google_battery</name>
+ <version>1.1</version>
+ <interface>
+ <name>IGoogleBattery</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl" optional="true">
+ <name>vendor.google.radioext</name>
+ <version>1.3</version>
+ <interface>
+ <name>IRadioExt</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl">
+ <name>vendor.google.whitechapel.audio.audioext</name>
+ <version>2.0</version>
+ <interface>
+ <name>IAudioExt</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl" optional="true">
+ <name>vendor.google.wifi_ext</name>
+ <version>1.2</version>
+ <interface>
+ <name>IWifiExt</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl" optional="true">
+ <name>vendor.google.wireless_charger</name>
+ <version>1.3</version>
+ <interface>
+ <name>IWirelessCharger</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl" optional="true">
+ <name>vendor.samsung_slsi.telephony.hardware.oemservice</name>
+ <version>1.0</version>
+ <interface>
+ <name>IOemService</name>
+ <instance>dm0</instance>
+ <instance>dm1</instance>
+ <instance>sced0</instance>
+ </interface>
+ </hal>
+ <hal format="hidl" optional="true">
+ <name>vendor.samsung_slsi.telephony.hardware.radioExternal</name>
+ <version>1.1</version>
+ <interface>
+ <name>IOemSlsiRadioExternal</name>
+ <instance>rilExternal</instance>
+ </interface>
+ </hal>
+</compatibility-matrix>