Linux bluetooth development
 help / color / mirror / Atom feed
* [PATCH BlueZ 1/2] doc/qualification: Add MCP/MCS PICS files
@ 2026-09-25 12:49 Frédéric Danis
  2026-09-25 12:49 ` [PATCH BlueZ 2/2] doc/qualification: add MCS tests documentation Frédéric Danis
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Frédéric Danis @ 2026-09-25 12:49 UTC (permalink / raw)
  To: linux-bluetooth

---
 doc/qualification/mcp-pics.rst | 569 +++++++++++++++++++++++++++++++++
 doc/qualification/mcs-pics.rst | 513 +++++++++++++++++++++++++++++
 2 files changed, 1082 insertions(+)
 create mode 100644 doc/qualification/mcp-pics.rst
 create mode 100644 doc/qualification/mcs-pics.rst

diff --git a/doc/qualification/mcp-pics.rst b/doc/qualification/mcp-pics.rst
new file mode 100644
index 000000000..dc7503410
--- /dev/null
+++ b/doc/qualification/mcp-pics.rst
@@ -0,0 +1,569 @@
+.. SPDX-License-Identifier: GPL-2.0-or-later
+.. Copyright © 2026 Collabora Ltd.
+
+=====================
+Media Control Profile
+=====================
+(TCRL pkg103, MCP.ICS.p4)
+
+Roles
+=====
+
+**Table 1: Role Requirements**
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_1_1     | x        | Media Control Server (C.1)                   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_1_2     |          | Media Control Client (C.1)                   |
++------------------+----------+----------------------------------------------+
+
+- C.1: Mandatory to support at least one.
+
+Transports
+==========
+
+**Table 2: Transport Requirements**
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_2_1     |          | Profile supported over BR/EDR (C.1, C.3)     |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_2_2     | x        | Profile supported over LE (C.2, C.3)         |
++------------------+----------+----------------------------------------------+
+
+- C.1: Excluded for this Profile IF CORE 41/2 "LE Core Configuration" OR CORE
+  40/1 "Core-Controller".
+- C.2: Excluded for this Profile IF CORE 41/1 "BR/EDR Core Configuration" OR
+  CORE 40/1 "Core-Controller".
+- C.3: Mandatory to support at least one.
+
+Media Control Server role
+=========================
+
+**Table 3: X.Y Versions (Media Control Server)**
+
+Prerequisite: MCP 1/1 "Media Control Server"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_3_1     | x        | MCP v1.0 (M)                                 |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+
+**Table 5: Service Requirements**
+
+Prerequisite: MCP 1/1 "Media Control Server"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_5_1     |          | Media Control Service (O)                    |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_5_2     | x        | Generic Media Control Service (M)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_5_3     |          | Object Transfer Service (O)                  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_5_4     | x        | LE Extended Advertising (M)                  |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+- O: Optional
+
+**Table 6: GAP Requirements (Media Control Server Role)**
+
+Prerequisite: MCP 1/1 "Media Control Server"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_6_1     | x        | LE security mode 1 (C.1)                     |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_2     | x        | Bondable mode (LE) (C.1)                     |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_3     | x        | Bonding procedure (LE) (C.1)                 |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_4     | x        | Unauthenticated Pairing (LE security mode 1  |
+|                  |          | level 2) with LE Secure Connections Pairing  |
+|                  |          | only (C.6)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_5     | x        | Authenticated Pairing (LE security mode 1    |
+|                  |          | level 3) with LE Secure Connections Pairing  |
+|                  |          | only (C.6)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_6     | x        | LE security mode 1 level 4 (C.6)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_7     | x        | Minimum 128 Bit entropy key (LE) (C.3)       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_8     | x        | Derivation of LE LTK from BR/EDR Link Key    |
+|                  |          | (C.8)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_9     |          | Security mode 4, level 2 (C.2)               |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_10    |          | 128-bit encryption key size capable (BR/EDR) |
+|                  |          | (C.2)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_11    |          | Derivation of BR/EDR Link Key from LE LTK    |
+|                  |          | (C.7)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_12    |          | BR/EDR Secure Connections (C.7)              |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_13    | x        | LE Secure Connections (C.8)                  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_14    |          | Out of Band (LE) (C.8)                       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_15    |          | Out-of-Band (BR/EDR) (C.7)                   |
++------------------+----------+----------------------------------------------+
+
+- C.1: Mandatory IF MCP 2/2 "Profile supported over LE", otherwise not
+  defined.
+- C.2: Mandatory IF MCP 2/1 "Profile supported over BR/EDR", otherwise not
+  defined.
+- C.3: Mandatory IF MCP 6/4 "Unauthenticated Pairing (LE security mode 1
+  level 2) with LE Secure Connections Pairing only" OR MCP 6/5 "Authenticated
+  Pairing (LE security mode 1 level 3) with LE Secure Connections Pairing
+  only", otherwise not defined.
+- C.6: Mandatory to support at least one IF MCP 2/2 "Profile supported over
+  LE", otherwise not defined.
+- C.7: Mandatory to support at least one IF MCP 2/1 "Profile supported over
+  BR/EDR", otherwise not defined.
+- C.8: Mandatory to support at least one IF MCP 2/2 "Profile supported over
+  LE", otherwise not defined.
+
+**Table 8: OTP Requirements (Media Control Server)**
+
+Prerequisite: MCP 5/3 "Object Transfer Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_8_1     |          | Object Server (M)                            |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+
+**Table 9: OTS Characteristics Requirements (Media Control Server)**
+
+Prerequisite: MCP 5/3 "Object Transfer Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_9_1     |          | Object ID Characteristic (M)                 |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_9_2     |          | Object List Control Point (OLCP) (M)         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_9_3     |          | Object Changed Characteristic (M)            |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+
+**Table 10: OTS Feature Requirements (Media Control Server)**
+
+Prerequisite: MCP 5/3 "Object Transfer Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_10_1    |          | OACP Read Procedure (M)
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_10_2    |          | OLCP Go To Procedure (M)
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+
+Media Control Client role
+=========================
+
+**Table 11: X.Y Versions (Media Control Client)**
+
+Prerequisite: MCP 1/2 "Media Control Client"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_11_1    |          | MCP v1.0 (M)                                 |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+
+**Table 13: Media Control Service Support**
+
+Prerequisite: MCP 1/2 "Media Control Client"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_13_1    |          | Discover Media Control Service (C.1)         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_13_2    |          | Discover Generic Media Control Service (C.1) |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_13_3    |          | Discover Object Transfer Service (C.2)       |
++------------------+----------+----------------------------------------------+
+
+- C.1: Mandatory to support at least one.
+- C.2: Mandatory IF MCP 14/20 "Search Results Object ID Characteristic" OR
+  MCP 16/20 "Search Results Object ID Characteristic" OR MCP 14/10 "Current
+  Track Segments Object ID Characteristic" OR MCP 16/10 "Current Track
+  Segments Object ID Characteristic" OR MCP 14/11 "Current Track Object ID
+  Characteristic" OR MCP 16/11 "Current Track Object ID Characteristic",
+  otherwise Optional.
+
+**Table 14: Media Control Service Characteristic Support Requirements**
+
+Prerequisite: MCP 13/1 "Discover Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_14_1    |          | Media Player Name Characteristic (M)         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_2    |          | Media Player Icon Object ID Characteristic   |
+|                  |          | (O)                                          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_3    |          | Media Player Icon URL Characteristic (O)     |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_4    |          | Track Changed Characteristic (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_5    |          | Track Title Characteristic (O)               |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_6    |          | Track Duration Characteristic (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_7    |          | Track Position Characteristic (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_8    |          | Playback Speed Characteristic (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_9    |          | Seeking Speed Characteristic (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_10   |          | Current Track Segments Object ID             |
+|                  |          | Characteristic (O)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_11   |          | Current Track Object ID Characteristic (O)   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_12   |          | Next Track Object ID Characteristic (O)      |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_13   |          | Parent Group Object ID Characteristic (O)    |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_14   |          | Current Group Object ID Characteristic (O)   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_15   |          | Playing Order Characteristic (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_16   |          | Playing Order Supported Characteristic (O)   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_17   |          | Media State Characteristic (O)               |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_18   |          | Media Control Point Characteristic (O)       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_19   |          | Media Control Point Opcodes Supported        |
+|                  |          | Characteristic (O)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_20   |          | Search Results Object ID Characteristic (O)  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_21   |          | Search Control Point Characteristic (C.1)    |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_22   |          | Content Control ID Characteristic (O)        |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+- O: Optional
+- C.1: Mandatory IF MCP 14/20 "Search Results Object ID Characteristic",
+  otherwise Excluded.
+
+**Table 15: Media Control Point Procedure Requirements**
+
+Prerequisite: MCP 14/18 "Media Control Point Characteristic"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_15_1    |          | Play Current Track Procedure (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_2    |          | Pause Current Track Procedure (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_3    |          | Fast Forward Fast Rewind Procedure (O)       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_4    |          | Stop Current Track Procedure (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_5    |          | Move Relative Procedure (O)                  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_6    |          | Move to Previous Segment Procedure (O)       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_7    |          | Move to Next Segment Procedure (O)           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_8    |          | Move to First Segment Procedure (O)          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_9    |          | Move to Last Segment Procedure (O)           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_10   |          | Move to Segment Number Procedure (O)         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_11   |          | Move to Previous Track Procedure (O)         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_12   |          | Move to Next Track Procedure (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_13   |          | Move to First Track Procedure (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_14   |          | Move to Last Track Procedure (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_15   |          | Move to Track Number Procedure (O)           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_16   |          | Move to Previous Group Procedure (O)         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_17   |          | Move to Next Group Procedure (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_18   |          | Move to First Group Procedure (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_19   |          | Move to Last Group Procedure (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_20   |          | Move to Group Number Procedure (O)           |
++------------------+----------+----------------------------------------------+
+
+- O: Optional
+
+**Table 16: Generic Media Control Service Characteristic Support Requirements**
+
+Prerequisite: MCP 13/2 "Discover Generic Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_16_1    |          | Media Player Name Characteristic (M)         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_2    |          | Media Player Icon Object ID Characteristic   |
+|                  |          | (O)                                          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_3    |          | Media Player Icon URL Characteristic (O)     |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_4    |          | Track Changed Characteristic (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_5    |          | Track Title Characteristic (O)               |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_6    |          | Track Duration Characteristic (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_7    |          | Track Position Characteristic (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_8    |          | Playback Speed Characteristic (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_9    |          | Seeking Speed Characteristic (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_10   |          | Current Track Segments Object ID             |
+|                  |          | Characteristic (O)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_11   |          | Current Track Object ID Characteristic (O)   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_12   |          | Next Track Object ID Characteristic (O)      |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_13   |          | Parent Group Object ID Characteristic (O)    |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_14   |          | Current Group Object ID Characteristic (O)   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_15   |          | Playing Order Characteristic (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_16   |          | Playing Order Supported Characteristic (O)   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_17   |          | Media State Characteristic (O)               |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_18   |          | Media Control Point Characteristic (O)       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_19   |          | Media Control Opcodes Supported              |
+|                  |          | Characteristic (O)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_20   |          | Search Results Object ID Characteristic (O)  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_21   |          | Search Control Point Characteristic (C.1)    |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_22   |          | Content Control ID Characteristic (O)        |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+- O: Optional
+- C.1: Mandatory IF MCP 16/20 "Search Results Object ID Characteristic",
+  otherwise Excluded.
+
+**Table 17: Media Control Point Procedure Requirements**
+
+Prerequisite: MCP 16/18 "Media Control Point Characteristic"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_17_1    |          | Play Current Track Procedure (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_2    |          | Pause Current Track Procedure (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_3    |          | Fast Forward Fast Rewind Procedure (O)       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_4    |          | Stop Current Track Procedure (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_5    |          | Move Relative Procedure (O)                  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_6    |          | Move to Previous Segment Procedure (O)       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_7    |          | Move to Next Segment Procedure (O)           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_8    |          | Move to First Segment Procedure (O)          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_9    |          | Move to Last Segment Procedure (O)           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_10   |          | Move to Segment Number Procedure (O)         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_11   |          | Move to Previous Track Procedure (O)         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_12   |          | Move to Next Track Procedure (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_13   |          | Move to First Track Procedure (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_14   |          | Move to Last Track Procedure (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_15   |          | Move to Track Number Procedure (O)           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_16   |          | Move to Previous Group Procedure (O)         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_17   |          | Move to Next Group Procedure (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_18   |          | Move to First Group Procedure (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_19   |          | Move to Last Group Procedure (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_20   |          | Move to Group Number Procedure (O)           |
++------------------+----------+----------------------------------------------+
+
+- O: Optional
+
+**Table 18: GAP Requirements (Media Control Client)**
+
+Prerequisite: MCP 1/2 "Media Control Client"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_18_2    |          | LE security mode 1 (C.1)                     |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_3    |          | Bondable mode (LE) (C.1)                     |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_4    |          | Bonding procedure (C.1)                      |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_5    |          | Unauthenticated Pairing (LE security mode 1  |
+|                  |          | level 2) with LE Secure Connections Pairing  |
+|                  |          | only (O)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_6    |          | Authenticated Pairing (LE security mode 1    |
+|                  |          | level 3) with LE Secure Connections Pairing  |
+|                  |          | only (O)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_7    |          | LE security mode 1 level 4 (O)               |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_8    |          | Minimum 128 Bit entropy key (LE) (C.5)       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_9    |          | Derivation of LE LTK from BR/EDR Link Key    |
+|                  |          | (C.6)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_10   |          | Security mode 4, level 2 (C.2)               |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_11   |          | 128-bit encryption key size capable (BR/EDR) |
+|                  |          | (C.2)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_12   |          | Derivation of BR/EDR Link Key from LE LTK    |
+|                  |          | (C.7)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_13   |          | BR/EDR Secure Connections (C.7)              |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_14   |          | LE Secure Connections (C.6)                  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_15   |          | Out of Band (LE) (C.6)                       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_16   |          | Out-of-Band (BR/EDR) (C.7)                   |
++------------------+----------+----------------------------------------------+
+
+- O: Optional
+- C.1: Mandatory IF MCP 2/2 "Profile supported over LE", otherwise not
+  defined.
+- C.2: Mandatory IF MCP 2/1 "Profile supported over BR/EDR", otherwise not
+  defined.
+- C.5: Mandatory IF MCP 18/5 "Unauthenticated Pairing (LE security mode 1
+  level 2) with LE Secure Connections Pairing only" OR MCP 18/6 "Authenticated
+  Pairing (LE security mode 1 level 3) with LE Secure Connections Pairing
+  only", otherwise not defined.
+- C.6: Mandatory to support at least one IF MCP 2/2 "Profile supported over
+  LE", otherwise not defined.
+- C.7: Mandatory to support at least one IF MCP 2/1 "Profile supported over
+  BR/EDR", otherwise not defined.
+
+**Table 18a: GATT Requirements**
+
+Prerequisite: MCP 1/2 "Media Control Client"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_18a_1   |          | GATT Client over BR/EDR (C.1)                |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18a_2   |          | GATT Client over LE (C.2)                    |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18a_3   |          | Discover All Primary Services (C.3)          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18a_4   |          | Discover Primary Service by Service UUID     |
+|                  |          | (C.3)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18a_5   |          | Find Included Services (O)                   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18a_6   |          | Discover All Characteristics of a Service    |
+|                  |          | (C.4)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18a_7   |          | Discover Characteristics by UUID (C.4)       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18a_8   |          | Discover All Characteristic Descriptors (M)  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18a_9   |          | Single Notification (M)                      |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18a_10  |          | Read Characteristic Value (M)                |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18a_11  |          | Write Characteristic Value (C.5)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18a_12  |          | Write Without Response (C.5)                 |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18a_13  |          | Read Characteristic Descriptor (M)           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18a_14  |          | Write Characteristic Descriptor (M)          |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+- O: Optional
+- C.1: Mandatory IF MCP 2/1 "Profile supported over BR/EDR", otherwise not
+  defined.
+- C.2: Mandatory IF MCP 2/2 "Profile supported over LE", otherwise not
+  defined.
+- C.3: Mandatory to support at least one.
+- C.4: Mandatory to support at least one.
+- C.5: Mandatory to support at least one.
+
+**Table 20: OTP Requirements (Media Control Client)**
+
+Prerequisite: MCP 13/3 "Discover Object Transfer Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_20_1    |          | Object Client (M)                            |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+
+**Table 21: OTP Procedure Requirements (Media Control Client)**
+
+Prerequisite: MCP 13/3 "Discover Object Transfer Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_21_1    |          | Object Discovery - Discover All Objects (M)  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_21_2    |          | Select Object - Select by Object ID (M)      |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_21_3    |          | Read Object - Read Object Contents (M)       |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
diff --git a/doc/qualification/mcs-pics.rst b/doc/qualification/mcs-pics.rst
new file mode 100644
index 000000000..4119170ad
--- /dev/null
+++ b/doc/qualification/mcs-pics.rst
@@ -0,0 +1,513 @@
+.. SPDX-License-Identifier: GPL-2.0-or-later
+.. Copyright © 2026 Collabora Ltd.
+
+=====================
+Media Control Service
+=====================
+(TCRL pkg103, MCS.ICS.p5)
+
+Service support
+===============
+
+**Table 0b: Service Requirements**
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_0b_1    |          | Media Control Service (C.1)                  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_0b_2    | x        | Generic Media Control Service (C.1)          |
++------------------+----------+----------------------------------------------+
+
+- C.1: Mandatory to support at least one.
+
+MCS versions
+============
+
+**Table 0: X.Y Versions**
+
+Prerequisite: MCS 0b/1 "Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_0_1     |          | MCS v1.0 (M)                                 |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+
+**Table 0a: X.Y.Z Versions**
+
+Prerequisite: MCS 0b/1 "Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_0a_1    |          | MCS v1.0.1 (O)                               |
++------------------+----------+----------------------------------------------+
+
+- O: Optional
+
+MCS transports
+==============
+
+**Table 1: Transport Requirements**
+
+Prerequisite: MCS 0b/1 "Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_1_1     |          | Service supported over BR/EDR (C.1, C.3)     |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_1_2     |          | Service supported over LE (C.2, C.3)         |
++------------------+----------+----------------------------------------------+
+
+- C.1: Excluded for this Service IF CORE 41/2 "LE Core Configuration" OR CORE
+  40/1 "Core-Controller".
+- C.2: Excluded for this Service IF CORE 41/1 "BR/EDR Core Configuration" OR
+  CORE 40/1 "Core-Controller".
+- C.3: Mandatory to support at least one.
+
+MCS Service requirements
+========================
+
+**Table 2: Media Control Service Requirements**
+
+Prerequisite: MCS 0b/1 "Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_2_1     |          | Media Control Service (M)                    |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_2     |          | Object Transfer Service (C.1)                |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_3     |          | Media Player Name Characteristic (M)         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_4     |          | Media Player Name - Read Long Support (O)    |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_5     |          | Media Player Icon Object ID Characteristic   |
+|                  |          | (O)                                          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_6     |          | Media Player Icon URL Characteristic (O)     |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_7     |          | Track Changed Characteristic (M)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_8     |          | Track Title Characteristic (M)               |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_9     |          | Track Title - Read Long Support (O)          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_10    |          | Track Duration Characteristic (M)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_11    |          | Track Position Characteristic (M)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_12    |          | Playback Speed Characteristic (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_13    |          | Seeking Speed Characteristic (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_14    |          | Current Track Segments Object ID             |
+|                  |          | Characteristic (C.2)                         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_15    |          | Current Track Object ID Characteristic (O)   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_16    |          | Next Track Object ID Characteristic (C.2)    |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_17    |          | Parent Group Object ID Characteristic (C.2)  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_18    |          | Current Group Object ID Characteristic (C.2) |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_19    |          | Playing Order Characteristic (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_20    |          | Playing Order Supported Characteristic (O)   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_21    |          | Media State Characteristic (M)               |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_22    |          | Media Control Point Characteristic (M)       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_23    |          | Media Control Point Opcodes Supported        |
+|                  |          | Characteristic (M)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_24    |          | Search Results Object ID Characteristic (O)  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_25    |          | Search Control Point Characteristic (C.3)    |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_26    |          | Content Control ID Characteristic (M)        |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+- O: Optional
+- C.1: Mandatory IF MCS 2/5 "Media Player Icon Object ID Characteristic" OR
+  MCS 2/14 "Current Track Segments Object ID Characteristic" OR MCS 2/15
+  "Current Track Object ID Characteristic" OR MCS 2/16 "Next Track Object ID
+  Characteristic" OR MCS 2/17 "Parent Group Object ID Characteristic" OR MCS
+  2/18 "Current Group Object ID Characteristic" OR MCS 2/24 "Search Results
+  Object ID Characteristic", otherwise not defined.
+- C.2: Mandatory IF MCS 2/15 "Current Track Object ID Characteristic",
+  otherwise Excluded.
+- C.3: Mandatory IF MCS 2/24 "Search Results Object ID Characteristic",
+  otherwise Excluded.
+
+**Table 3: Media Control Point Opcode Requirements**
+
+Prerequisite: MCS 2/22 "Media Control Point Characteristic"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_3_1     |          | Play (C.1)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_2     |          | Pause (C.1)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_3     |          | Fast Rewind (C.1)                            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_4     |          | Fast Forward (C.1)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_5     |          | Stop (C.1)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_6     |          | Move Relative (C.1)                          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_7     |          | Previous Segment (C.1)                       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_8     |          | Next Segment (C.1)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_9     |          | First Segment (C.1)                          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_10    |          | Last Segment (C.1)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_11    |          | Goto Segment (C.1)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_12    |          | Previous Track (C.1)                         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_13    |          | Next Track (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_14    |          | First Track (C.1)                            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_15    |          | Last Track (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_16    |          | Goto Track (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_17    |          | Previous Group (C.1)                         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_18    |          | Next Group (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_19    |          | First Group (C.1)                            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_20    |          | Last Group (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_21    |          | Goto Group (C.1)                             |
++------------------+----------+----------------------------------------------+
+
+- C.1: Mandatory to support at least one.
+
+**Table 4: Media State Requirements**
+
+Prerequisite: MCS 0b/1 "Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_4_1     |          | Play (C.1)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_4_2     |          | Pause (C.2)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_4_3     |          | Seeking (O)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_4_4     |          | Inactive (M)                                 |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+- O: Optional
+- C.1: Optional IF MCS 3/1 "Play", otherwise Excluded.
+- C.2: Optional IF MCS 3/2 "Pause", otherwise Excluded.
+
+MCS GATT requirements
+=====================
+
+**Table 5: GATT Requirements**
+
+Prerequisite: MCS 0b/1 "Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_5_1     |          | Write Without Response (M)                   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_5_2     |          | Single Notification (M)                      |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_5_3     |          | Write Characteristic Descriptor (M)          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_5_4     |          | Read Characteristic Descriptor (M)           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_5_5     |          | GATT Server over BR/EDR (C.1)                |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_5_6     |          | GATT Server over LE (C.2)                    |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+- C.1: Mandatory IF MCS 1/1 "Service supported over BR/EDR", otherwise not
+  defined.
+- C.2: Mandatory IF MCS 1/2 "Service supported over LE", otherwise not
+  defined.
+
+MCS SDP requirements
+====================
+
+**Table 6: SDP Requirements**
+
+Prerequisite: MCS 1/1 "Service supported over BR/EDR"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_6_1     |          | SDP record present for MCS (M)               |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+
+GMCS versions
+=============
+
+**Table 20: X.Y Versions**
+
+Prerequisite: MCS 0b/2 "Generic Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_20_1    | x        | GMCS v1.0 (M)                                |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+
+GMCS versions
+=============
+
+**Table 20a: X.Y.Z Versions**
+
+Prerequisite: MCS 0b/2 "Generic Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_20a_1   |          | GMCS v1.0.1 (O)                              |
++------------------+----------+----------------------------------------------+
+
+- O: Optional
+
+GMCS transports
+===============
+
+**Table 21: Transport Requirements**
+
+Prerequisite: MCS 0b/2 "Generic Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_21_1    |          | Service supported over BR/EDR (C.1, C.3)     |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_21_2    | x        | Service supported over LE (C.2, C.3)         |
++------------------+----------+----------------------------------------------+
+
+- C.1: Excluded for this Service IF CORE 41/2 "LE Core Configuration" OR CORE
+  40/1 "Core-Controller".
+- C.2: Excluded for this Service IF CORE 41/1 "BR/EDR Core Configuration" OR
+  CORE 40/1 "Core-Controller".
+- C.3: Mandatory to support at least one.
+
+GMCS Service requirements
+=========================
+
+**Table 22: Generic Media Control Service Requirements**
+
+Prerequisite: MCS 0b/2 "Generic Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_22_1    | x        | Generic Media Control Service (M)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_2    |          | Object Transfer Service (C.1)                |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_3    | x        | Media Player Name Characteristic (M)         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_4    |          | Media Player Name Read Long Supported (O)    |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_5    |          | Media Player Icon Object ID Characteristic   |
+|                  |          | (O)                                          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_6    |          | Media Player Icon URL Characteristic (O)     |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_7    | x        | Track Changed Characteristic (M)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_8    | x        | Track Title Characteristic (M)               |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_9    |          | Track Title Read Long Supported (O)          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_10   | x        | Track Duration Characteristic (M)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_11   | x        | Track Position Characteristic (M)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_12   |          | Playback Speed Characteristic (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_13   |          | Seeking Speed Characteristic (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_14   |          | Current Track Segments Object ID             |
+|                  |          | Characteristic (C.2)                         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_15   |          | Current Track Object ID Characteristic (O)   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_16   |          | Next Track Object ID Characteristic (C.2)    |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_17   |          | Parent Group Object ID Characteristic (C.2)  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_18   |          | Current Group Object ID Characteristic (C.2) |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_19   |          | Playing Order Characteristic (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_20   |          | Playing Order Supported Characteristic (O)   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_21   | x        | Media State Characteristic (M)               |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_22   | x        | Media Control Point Characteristic (M)       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_23   | x        | Media Control Point Opcodes Supported        |
+|                  |          | Characteristic (M)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_24   |          | Search Results Object ID Characteristic (O)  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_25   |          | Search Control Point Characteristic (C.3)    |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_26   | x        | Content Control ID Characteristic (M)        |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+- O: Optional
+- C.1: Mandatory IF MCS 22/5 "Media Player Icon Object ID Characteristic" OR
+  MCS 22/14 "Current Track Segments Object ID Characteristic" OR MCS 22/15
+  "Current Track Object ID Characteristic" OR MCS 22/16 "Next Track Object ID
+  Characteristic" OR MCS 22/17 "Parent Group Object ID Characteristic" OR MCS
+  22/18 "Current Group Object ID Characteristic" OR MCS 22/24 "Search Results
+  Object ID Characteristic", otherwise not defined.
+- C.2: Mandatory IF MCS 22/15 "Current Track Object ID Characteristic",
+  otherwise Excluded.
+- C.3: Mandatory IF MCS 22/24 "Search Results Object ID Characteristic",
+  otherwise Excluded.
+
+**Table 23: Generic Media Control Point Opcode Requirements**
+
+Prerequisite: MCS 22/22 "Media Control Point Characteristic"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_23_1    | x        | Play (C.1)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_2    | x        | Pause (C.1)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_3    | x        | Fast Rewind (C.1)                            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_4    | x        | Fast Forward (C.1)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_5    | x        | Stop (C.1)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_6    |          | Move Relative (C.1)                          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_7    |          | Previous Segment (C.1)                       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_8    |          | Next Segment (C.1)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_9    |          | First Segment (C.1)                          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_10   |          | Last Segment (C.1)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_11   |          | Goto Segment (C.1)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_12   | x        | Previous Track (C.1)                         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_13   | x        | Next Track (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_14   |          | First Track (C.1)                            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_15   |          | Last Track (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_16   |          | Goto Track (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_17   |          | Previous Group (C.1)                         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_18   |          | Next Group (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_19   |          | First Group (C.1)                            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_20   |          | Last Group (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_21   |          | Goto Group (C.1)                             |
++------------------+----------+----------------------------------------------+
+
+- C.1: Mandatory to support at least one.
+
+**Table 24: Media State Supported Requirements**
+
+Prerequisite: MCS 0b/2 "Generic Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_24_1    | x        | Play (C.1)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_24_2    | x        | Pause (C.2)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_24_3    |          | Seeking (O)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_24_4    | x        | Inactive (M)                                 |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+- O: Optional
+- C.1: Optional IF MCS 23/1 "Play", otherwise Excluded.
+- C.2: Optional IF MCS 23/2 "Pause", otherwise Excluded.
+
+GMCS GATT requirements
+======================
+
+**Table 25: GATT Requirements**
+
+Prerequisite: MCS 0b/2 "Generic Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_25_1    | x        | Write Without Response (M)                   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_25_2    | x        | Single Notification (M)                      |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_25_3    | x        | Write Characteristic Descriptor (M)          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_25_4    | x        | Read Characteristic Descriptor (M)           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_25_5    |          | GATT Server over BR/EDR (C.1)                |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_25_6    | x        | GATT Server over LE (C.2)                    |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+- C.1: Mandatory IF MCS 21/1 "Service supported over BR/EDR", otherwise not
+  defined.
+- C.2: Mandatory IF MCS 21/2 "Service supported over LE", otherwise not
+  defined.
+
+GMCS SDP requirements
+=====================
+
+**Table 26: SDP Requirements**
+
+Prerequisite: MCS 21/1 "Service supported over BR/EDR"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_26_1    |          | SDP record present for GMCS (M)              |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-09-28 17:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-25 12:49 [PATCH BlueZ 1/2] doc/qualification: Add MCP/MCS PICS files Frédéric Danis
2026-09-25 12:49 ` [PATCH BlueZ 2/2] doc/qualification: add MCS tests documentation Frédéric Danis
2026-09-25 15:33 ` [BlueZ,1/2] doc/qualification: Add MCP/MCS PICS files bluez.test.bot
2026-09-28 17:50 ` [PATCH BlueZ 1/2] " patchwork-bot+bluetooth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox