summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYifan Hong2018-10-23 15:46:35 -0500
committerYifan Hong2018-10-25 18:50:06 -0500
commit3baef77daac8d28f78a1984d8110a49203ecf8f2 (patch)
treeb8f451fbe49c8809e5b50882fd6e26d483eacf8b
parenta39ab91dbb6325d01879d4e2e6d61d8b03781d15 (diff)
downloadplatform-hardware-interfaces-3baef77daac8d28f78a1984d8110a49203ecf8f2.tar.gz
platform-hardware-interfaces-3baef77daac8d28f78a1984d8110a49203ecf8f2.tar.xz
platform-hardware-interfaces-3baef77daac8d28f78a1984d8110a49203ecf8f2.zip
DRM 1.1: Add VINTF doc
Test: none Bug: 73556059 Bug: 111192666 Bug: 111096955 Bug: 117636317 Bug: 112150995 Fixes: 112282263 Change-Id: I361f50b5af19094c36f928939ca6d764ce59a205
-rw-r--r--drm/1.1/README.md84
1 files changed, 84 insertions, 0 deletions
diff --git a/drm/1.1/README.md b/drm/1.1/README.md
new file mode 100644
index 00000000..e88e6abc
--- /dev/null
+++ b/drm/1.1/README.md
@@ -0,0 +1,84 @@
1# VINTF Device Manifest
2
3In Android Pie, an `<fqname>` tag was introduced to be able to express multiple
4different versions of the same HAL in VINTF manifests (for DRM)
5in device manifest. For devices launching with previous versions of Android and
6upgrading to Android Pie, the device manifest must not use `<fqname>` to
7satisfy requirements for non-optional HALs, because older version of `libvintf`
8do not recognize it, causing errors during OTA update.
9
10Assuming that the HAL provides `@1.0::I*/default`,
11`@1.1::I*/clearkey` and `@1.1::I*/foo` instances:
12
13## Devices upgrading to Android Pie
14
15### `target-level=1` or `target-level=2`
16
17FCM (framework compatibility matrix) version 2 (released in Android Oreo MR1)
18requires DRM 1.0. If the new device manifest has Target FCM Version (i.e.
19`target-level`) 1 or 2, it should use the following snippet:
20
21```xml
22<hal format="hidl">
23 <name>android.hardware.drm</name>
24 <transport>hwbinder</transport>
25 <version>1.0</version>
26 <interface>
27 <name>ICryptoFactory</name>
28 <instance>default</instance>
29 </interface>
30 <interface>
31 <name>IDrmFactory</name>
32 <instance>default</instance>
33 </interface>
34 <fqname>@1.1::ICryptoFactory/clearkey</fqname>
35 <fqname>@1.1::IDrmFactory/clearkey</fqname>
36 <fqname>@1.1::ICryptoFactory/foo</fqname>
37 <fqname>@1.1::IDrmFactory/foo</fqname>
38</hal>
39```
40
41### `target-level=3`
42
43FCM (framework compatibility matrix) version 3 (released in Android Pie)
44requires DRM 1.1. If the new device manifest has Target FCM Version (i.e.
45`target-level`) 3, it should use the following snippet:
46
47
48```xml
49<hal format="hidl">
50 <name>android.hardware.drm</name>
51 <transport>hwbinder</transport>
52 <version>1.1</version>
53 <interface>
54 <name>ICryptoFactory</name>
55 <instance>clearkey</instance>
56 <instance>foo</instance>
57 </interface>
58 <interface>
59 <name>IDrmFactory</name>
60 <instance>clearkey</instance>
61 <instance>foo</instance>
62 </interface>
63 <fqname>@1.0::ICryptoFactory/default</fqname>
64 <fqname>@1.0::IDrmFactory/default</fqname>
65</hal>
66```
67
68## Devices launching with Android Pie
69If you have a new device launched with Android Pie (no OTA), both of the
70aforementioned snippets can be used. Besides, it is recommended to use the
71new, clearer format:
72
73```xml
74<hal format="hidl">
75 <name>android.hardware.drm</name>
76 <transport>hwbinder</transport>
77 <fqname>@1.0::ICryptoFactory/default</fqname>
78 <fqname>@1.0::IDrmFactory/default</fqname>
79 <fqname>@1.1::ICryptoFactory/clearkey</fqname>
80 <fqname>@1.1::IDrmFactory/clearkey</fqname>
81 <fqname>@1.1::ICryptoFactory/foo</fqname>
82 <fqname>@1.1::IDrmFactory/foo</fqname>
83</hal>
84```