Commit graph

202 commits

Author SHA1 Message Date
Steven Moreland
db33cf2552 Deprecate nfc@1.0 for P.
nfc@1.0 requires a conf file (libnfc-nci.conf) in order to work.
Since this file has no schema, it is a system<->vendor violation
and must be placed on the system image, however this makes the
system image non-generic.

nfc@1.1 contains this configuration in the interface, and so it
can be used entirely without creating a Treble violation.

Test: P-launching devices have nfc@1.1
Bug: 72080121
Change-Id: I7a99eb7cd5e577be0c70b4c5124f28fa471717e6
2018-04-23 09:30:37 -07:00
Yifan Hong
26e3a58f53 Add 4.14.0 kernel to all matrices.
P framework can work with 4.14 kernel. 0 should
be updated to the correct value in a follow-up
patch.

This creates the following tags in all matrices:
Kernel 4.14 common requirements
Kernel 4.14 requirements on CONFIG_ARM is set
Kernel 4.14 requirements on CONFIG_ARM64 is set

Bug: 72409164
Bug: 77886167
Test: manually inspect built matrix
Change-Id: I82168df314ad61b21440ec5c703db8358468e083
2018-04-12 16:18:15 -07:00
Steven Moreland
92ea6540a5 Freeze current as compatibility_matrix.3.xml.
This freezes the current compatibility_matrix for
Android P.

Fixes: 68112778
Test: m (assemble_vintf checks devices)

Change-Id: Ida30b7ba7f5df7c2755bd7c737190574b9195a92
2018-04-03 11:19:40 -07:00
Steven Moreland
61f1ddf635 Add confirmationui to compatibility matrix.
Bug: 68112778
Test: install compatibility matrix
Change-Id: Ibab77dce5848b0843c5c33048e7d027f0d3fe099
2018-04-02 15:02:26 -07:00
Steven Moreland
adbe943fd5 Add automotive.audiocontrol to compatibility matrix.
Bug: 68112778
Test: install compatibility matrix
Change-Id: I0829a91d2f715886dc226131d4ef50ad0dec8075
2018-04-02 15:01:13 -07:00
Yifan Hong
e84319da9d Merge "matrix: add radio.config" into pi-dev 2018-04-02 18:21:01 +00:00
TreeHugger Robot
1398462d18 Merge "matrix: secure_element use regex eSE[1-9][0-9]*" into pi-dev 2018-03-30 20:57:29 +00:00
TreeHugger Robot
e7fb362dc1 Merge "matrix: radio 1.0-2 IRadio/slot[1-3], ISap/slot1" into pi-dev 2018-03-30 20:09:56 +00:00
Yifan Hong
45ab966221 matrix: secure_element use regex eSE[1-9][0-9]*
Bug: 68112778
Bug: 73738616
Test: m framework_compatibility_matrix.xml

Change-Id: Ia9db2d3e55c0745f715de14be768ee73adaad988
2018-03-30 12:31:52 -07:00
Yifan Hong
1f8a14fce5 Merge "matrix: add gnss 1.1" into pi-dev 2018-03-30 18:04:20 +00:00
Yifan Hong
a1f7f7171a matrix: radio 1.0-2 IRadio/slot[1-3], ISap/slot1
Framework only uses these instances. If a vendor extension
of the framework use more instances, they should be added
via DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE.

Bug: 68112778
Test: builds + treehugger (telephony test)
Change-Id: Ie08db3c61f940d78e33f46ecc36e931dc688a7aa
2018-03-30 10:51:20 -07:00
Yifan Hong
ae85d49b31 Merge "matrix: add nfc 1.1" into pi-dev 2018-03-30 17:34:42 +00:00
Yifan Hong
f56d92f582 Merge "matrix: add bluetooth.a2dp" into pi-dev 2018-03-30 17:27:48 +00:00
Yifan Hong
860d745e0d matrix: add bluetooth.a2dp
Add bluetooth.a2dp to matrix as optional HAL.

Bug: 68112778
Test: m framework_compatibility_matrix.xml

Change-Id: I818a1d278eeae625f563ce74f056140407c50a64
2018-03-30 00:14:24 +00:00
Yifan Hong
fd7674f596 matrix: add gnss 1.1
Add gnss 1.1 to matrix as optional HAL.

Bug: 68112778
Test: m framework_compatibility_matrix.xml

Change-Id: I4a3676ab85db6c4bd632224298524dfa70f9ecf6
2018-03-30 00:10:06 +00:00
Yifan Hong
da9ee894a2 matrix: add nfc 1.1
Add nfc 1.1 to matrix as optional HAL.

Bug: 68112778
Test: m framework_compatibility_matrix.xml
Change-Id: I48ea252b5f6318f091ecf91dfaee8b71625eafe3
2018-03-30 00:09:19 +00:00
Yifan Hong
3874ebc5b2 matrix: add radio.config
Add radio.config to matrix as optional HAL.

Bug: 68112778
Test: m framework_compatibility_matrix.xml
Change-Id: If4466e3f189897219b33cf7da09883cf63c66de3
2018-03-30 00:08:31 +00:00
Yifan Hong
e62d476e3d matrix: ENFORCE_NO_UNUSED_HALS
Enforce that all hals in the device manifest are
in framework compatibility matrix -- at build time.

Bug: 65028233
Test: build a phone without DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX.
Change-Id: Ibf220f80ca3621ddbf8288d372d5f40336e45248
Merged-In: Ibf220f80ca3621ddbf8288d372d5f40336e45248
2018-03-29 14:55:07 -07:00
Yifan Hong
4d6c4a96ae matrix: generalize case for LOCAL_WARN_REQUIRED_HALS
Add LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE and
LOCAL_ASSEMBLE_VINTF_ERROR_MESSAGE for a more generic case.

Test: m framework_compatibility_matrix.xml -j
Bug: 65028233
Change-Id: Iec142d161daa18122e7a6daebb82c7230cb98ba6
Merged-In: Iec142d161daa18122e7a6daebb82c7230cb98ba6
2018-03-29 14:55:07 -07:00
Yifan Hong
b2a83d1770 matrix: IGNORE_TARGET_FCM_VERSION -> VINTF_*
All "private" environment variables to assemble_vintf
(inserted by the build rules, not build system variables)
should have this prefix (to distinguish against,
e.g. PRODUCT_ENFORCE_VINTF_MANIFEST)

Test: m framework_compatibility_matrix -j

Bug: 65028233
Change-Id: Iaefa88cefc0918fb86235ea6fcd8e367cbd82788
Merged-In: Iaefa88cefc0918fb86235ea6fcd8e367cbd82788
2018-03-29 14:55:07 -07:00
Yifan Hong
37ad8c4f64 matrix: define LOCAL_MODULE for all modules.
Test: m framework_compatibility_matrix -j
Bug: 65028233
Change-Id: Iab61771b8ebe0e1b771404bb25a0a04caf399585
Merged-In: Iab61771b8ebe0e1b771404bb25a0a04caf399585
2018-03-29 14:55:07 -07:00
Yifan Hong
7d61a8d47b matrix: ENFORCE_NO_UNUSED_HALS
Enforce that all hals in the device manifest are
in framework compatibility matrix -- at build time.

Bug: 65028233
Test: build a phone without DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX.
Change-Id: Ibf220f80ca3621ddbf8288d372d5f40336e45248
2018-03-29 11:29:32 -07:00
Yifan Hong
3693fe4ab5 matrix: generalize case for LOCAL_WARN_REQUIRED_HALS
Add LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE and
LOCAL_ASSEMBLE_VINTF_ERROR_MESSAGE for a more generic case.

Test: m framework_compatibility_matrix.xml -j
Bug: 65028233
Change-Id: Iec142d161daa18122e7a6daebb82c7230cb98ba6
2018-03-29 11:29:32 -07:00
Yifan Hong
e0cad7a553 matrix: IGNORE_TARGET_FCM_VERSION -> VINTF_*
All "private" environment variables to assemble_vintf
(inserted by the build rules, not build system variables)
should have this prefix (to distinguish against,
e.g. PRODUCT_ENFORCE_VINTF_MANIFEST)

Test: m framework_compatibility_matrix -j

Bug: 65028233
Change-Id: Iaefa88cefc0918fb86235ea6fcd8e367cbd82788
2018-03-29 11:29:32 -07:00
Yifan Hong
7831d437d4 matrix: define LOCAL_MODULE for all modules.
Test: m framework_compatibility_matrix -j
Bug: 65028233
Change-Id: Iab61771b8ebe0e1b771404bb25a0a04caf399585
2018-03-29 11:29:32 -07:00
TreeHugger Robot
4e2a68ee79 Merge "Build DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE" into pi-dev 2018-03-29 03:21:33 +00:00
Yifan Hong
dc83563449 matrix: Set drm 1.1/* as required, 1.0/* as optional
This correctly specifies the requirement of framework
on device. Specifically:

A device at target FCM version 2 is still required to
provide 1.0/default as specified in 2.xml.

Combined matrix at FCM version 2 has the following:
optional: 1.1/.*
optional: 1.0/.*
required: 1.0/default

A device at target FCM version 3 is required to provide
1.0-1/(any instance) as specified in 3.xml.

Matrix at FCM version 3 has the following:
required: 1.1/.*
optional: 1.0/.*

OTA: old libvintf does not recognize the <regex-instance>
tag, and parse this as "no instance requirements"
(satisfyAllInstances returns true). Hence this should
state no restrictions for old libvintf.

Caveat:
if a device does not provide any DRM instance, OTA
(specifically, full OTA that upgrades vendor image to
target level 3) will pass, but when the device is booted
there will be run-time checks about inconsistent builds
and VTS failures. But this case should be caught at build
time.

Test: vts_treble_vintf_test
Test: vts_testability_checker64 --compliance \
      android.hardware.drm@1.0::IDrmFactory
Test: vts_testability_checker64 --compliance \
      android.hardware.drm@1.1::IDrmFactory
Fixes: 73556059
Bug: 68112778
Change-Id: I45c76356d304a94d716eddebc621d367c0ce165a
2018-03-29 00:48:30 +00:00
Yifan Hong
13df628b8f Build DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE
... along with compatibility_matrix.device.xml.
The new module cm.device.xml contains the original content
of empty.xml (kernel configs, sepolicy, etc.) as well
as HALs from DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE.
This variable points to a framework compatibility matrix
that contains framework HALs as a vendor extension; all
HALs in this file must be optional.

Bug: 65028233
Test: m framework_compatibility_matrix.xml -j and manual inspection
Test: vts_treble_vintf_test

Change-Id: I94949f62f7f5b332d845f2e7fa4714df7c49ed3e
Merged-In: I94949f62f7f5b332d845f2e7fa4714df7c49ed3e
2018-03-28 17:45:26 -07:00
TreeHugger Robot
28efdacd2c Merge "matrix: camera HAL uses [^/]+/[0-9]+ instance." into pi-dev 2018-03-28 20:51:08 +00:00
TreeHugger Robot
2953a165c7 Merge "matrix: NN HAL uses .* instance." into pi-dev 2018-03-28 17:54:58 +00:00
Yifan Hong
383860105f matrix: NN HAL uses .* instance.
Use regular expression. NN HAL is a new
HAL so this does not break OTA.

Bug: 73738616
Test: builds
Test: vts_treble_vintf_test (compatible and No deprecate HALs)
Change-Id: I1bfb916854c62fa75d341d4572a15a944178eb47
2018-03-28 17:50:40 +00:00
Yifan Hong
f945261b30 matrix: camera HAL uses [^/]+/[0-9]+ instance.
Use regular expression. Camera HAL is an optional
HAL so this does not break OTA.

Bug: 73738616
Test: builds
Test: vts_treble_vintf_test (compatible and No deprecate HALs)
Change-Id: Idf2b8cbe49f5a913df744833147bb1c48588c956
2018-03-27 23:49:16 +00:00
Yifan Hong
fee9ea41cc Build DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE
... along with compatibility_matrix.device.xml.
The new module cm.device.xml contains the original content
of empty.xml (kernel configs, sepolicy, etc.) as well
as HALs from DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE.
This variable points to a framework compatibility matrix
that contains framework HALs as a vendor extension; all
HALs in this file must be optional.

Bug: 65028233
Test: m framework_compatibility_matrix.xml -j and manual inspection
Test: vts_treble_vintf_test

Change-Id: I94949f62f7f5b332d845f2e7fa4714df7c49ed3e
2018-03-27 16:28:51 -07:00
Yifan Hong
9b3392dcb5 matrix: radio HAL uses slot[0-9]+ instance.
Use regular expression. Radio HAL is an optional
HAL so this does not break OTA.

Bug: 73738616
Test: builds
Test: vts_treble_vintf_test (compatible and No deprecate HALs)
Change-Id: I00a0d97a9528e0c4a72bde6244e47dc2842686ed
2018-03-27 15:24:29 -07:00
nagendra modadugu
8862966152 Add strongbox KM instance as optional
The strongbox instance of the Keymaster 4.0 HAL
is optional, as not all P devices are expected
to provide an implementation.

Test: builds
Bug: 68112778
Change-Id: I96a18cb31058d82b04ba3486a88ceac26058a7d2
2018-03-20 14:21:42 -07:00
nagendra modadugu
597197a5bf Remove KM strongbox instance temporarily
Strongbox is not supported on all devices
and breaks device builds (cf_x86_phone-userdebug).

This change to be relanded once dependencies are resolved.

Test: builds
Bug: 68112778
Change-Id: I846cdbcfdf7d0a76e0c86518da8a1bb4eeed3caa
2018-03-20 14:08:46 -07:00
nagendra modadugu
02d1bb7a96 Add strongbox KM instance to compatibilty matrix
Test: builds
Bug: 68112778
Change-Id: If04ff2b5ab95dd1a17c145f509657e5438d00bdc
2018-03-19 18:11:02 -07:00
Steven Moreland
6684b2c65c Fix order of compatibility matrix.
Bug: 65028233
Test: N/A
Change-Id: I46a0f86d19ba74186fc6eac32fa7c7b2289bcbdb
2018-03-19 11:23:56 -07:00
Yifan Hong
1d853503ef Update compatibility_matrix.current.xml.
Add the following:
    android.hardware.neuralnetworks@1.0::IDevice/hvx
    android.hardware.soundtrigger@2.1::ISoundTriggerHw/default
    android.hardware.usb.gadget@1.0::IUsbGadget/default
    android.hardware.vibrator@1.2::IVibrator/default
    android.hardware.wifi.hostapd@1.0::IHostapd/default
    android.hardware.wifi.supplicant@1.1::ISupplicant/default
    android.hardware.wifi@1.2::IWifi/default

Test: builds (checks VINTF data at build time)
Bug: 68112778
Change-Id: I3c48f2c35c1a7a63549b1a30c9c2bb02d707a4a2
2018-03-16 16:32:25 -07:00
Kevin Rocard
802931b173 Only allow audio V4 for devices targeting level 3
Device targeting the last level must use the last version of the
audio HAL.

Bug: 38184704
Test: cuttlefish has no build target, so there is no way to test,
      nevertheless the exact same trivial change was made to Pixel 2
Change-Id: If767803e08caf5b03edcea26fd8dba1cca12cc38
Signed-off-by: Kevin Rocard <krocard@google.com>
2018-03-07 19:12:50 -08:00
Kevin Rocard
5b84bbb548 Audio V4: Require audio V4 in new devices, optional for upgrades
Upgrading devices are allowed to stay on audio V2,
but can also update to V4.

Bug: 38184704
Test: compile and check V4 can be loaded and functional with lshal
Change-Id: Ib1c8381925837a8402ae535755a0558afcf26f4d
Signed-off-by: Kevin Rocard <krocard@google.com>
2018-03-06 18:30:23 +00:00
nagendra modadugu
897dbb572c keymaster: add 4.0 to compatibility matrix
Change-Id: I53af1c33f05b73459372a8f8bfc8c0997a925a92
2018-03-01 17:26:12 -08:00
Yifan Hong
e3d0fd346b Merge "Fwk matrix use PLATFORM_SEPOLICY_*" am: 8f7ff5730b am: 9dda065989
am: 777d18ccaf

Change-Id: I076b6a910f6b6c43b00beb42cdf19502514f2e9f
2018-02-07 23:21:49 +00:00
Yifan Hong
b426af39ad Fwk matrix use PLATFORM_SEPOLICY_*
It used BOARD_SEPOLICY_VERS as a workaround, which is incorrect.

Test: m framework_compatibility_matrix.xml -j
Bug: 67920434
Change-Id: I029edd2f573740af272f8b767bb1ec5cc1dc0415
2018-02-05 13:45:36 -08:00
Ruchi Kandoi
54791a993b Merge "Add VTS Test for Secure Element HAL" am: 6a75cdbe96 am: 3b24df528a
am: 6e3948f36b

Change-Id: I0a360479fd9f31352bacb4b857672f642c99b253
2018-02-02 06:55:31 +00:00
Ruchi Kandoi
22a4d0e07e Add VTS Test for Secure Element HAL
Test: Run VTS test
Bug: 64881253
Change-Id: If77d87c88bd073409dce3d18aba8f15a1267a80e
2018-01-31 11:51:48 -08:00
Yifan Hong
21bd732f22 Merge changes from topic "vintf_kernel_ver" am: f3dd36fd5c am: 3c0032a742
am: ec8fb9e8ef

Change-Id: I2ddb722ec90ea07dc0b8d234fa55ac85b2cb8d6e
2018-01-24 22:52:44 +00:00
Yifan Hong
94b7d2ca19 Compatibility matrices: add minor revision to kernel versions
Test: builds
Bug: 72388844
Change-Id: Id60cef10610f39d70eebccbeb6e625e3d93795c6
2018-01-23 17:28:27 -08:00
Yifan Hong
44c9b2e1f4 Compatibility matrices: kernel req at each FCM version
* devices with Shipping FCM version
   legacy / O / O-MR1 use 3.18, 4.4, 4.9

* devices with Shipping FCM version P use 4.4 4.9

Bug: 72389707

Test: manual inspection on
$OUT/system/etc/vintf/compatibility_matrix.*.xml

Change-Id: I4f37325c0210f88e9e6d3e7136a82d50da3e93fe
2018-01-23 17:28:27 -08:00
Wei Wang
277ce85c27 add powerhal 1.2 to compatibility_matrix
Bug: 71613821
Test: Build
Change-Id: I4587028c5c38e35e00522b2e9041f0b07ac7e036
2018-01-16 18:37:58 -08:00
Yifan Hong
c8b8599fd4 Merge "Install all comp mat to system image" am: 1612a3c27e am: 8f44cca63e
am: c420de7939

Change-Id: Iee2942bb2b8ce0874ea8bfed781368d8ac5284c8
2018-01-11 19:28:51 +00:00
Yifan Hong
2d8442c762 Install all comp mat to system image
Moved framework_compatibility_matrix.xml module definition
from target/board/Android.mk here because it depends on
compatibility_matrix.*.xml.

Test: m dist
Bug: 69636193

Change-Id: I7480b27756992b47555f6b397925170ae9d1ac22
2018-01-10 19:17:23 -08:00