summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYifan Hong2018-10-26 16:11:23 -0500
committerGerrit Code Review2018-10-26 16:11:23 -0500
commit8ad3e78d274fb96451fbfeb16a9258e5b3533abc (patch)
treeef4fea170c259779e9d873a7bd86b5413af8fef0
parentf89cfc82f963ea84ca43c67c69b576143c9e2ae4 (diff)
parent3baef77daac8d28f78a1984d8110a49203ecf8f2 (diff)
downloadplatform-hardware-interfaces-8ad3e78d274fb96451fbfeb16a9258e5b3533abc.tar.gz
platform-hardware-interfaces-8ad3e78d274fb96451fbfeb16a9258e5b3533abc.tar.xz
platform-hardware-interfaces-8ad3e78d274fb96451fbfeb16a9258e5b3533abc.zip
Merge "DRM 1.1: Add VINTF doc"HEADmaster
-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```